问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、DEA指标上涨的股票,并且市盈率在0-29.01,市净率在0-3.11的深证主板股票。
选股逻辑分析
该选股策略加入了市盈率和市净率因素,可以更细化地筛选出符合要求的股票。
有何风险?
市盈率和市净率过低或过高可能会忽略其他影响股票表现的因素。
如何优化?
除市盈率和市净率外,可以进一步加入不同的基本面、行业特征等进行深度筛选,提高选股准确度。
最终的选股逻辑
选择换手率在3%-12%、DEA指标上涨的股票,并且市盈率在0-29.01,市净率在0-3.11的深证主板股票。
同花顺指标公式代码参考
换手率:TURNOVER>=3 AND TURNOVER<=12;
DEA指标上涨:REF(MA(CLOSE,12),1)>REF(MA(CLOSE,26),1) AND MA(CLOSE,12)>MA(CLOSE,26) AND MA(CLOSE,12)-MA(CLOSE,26)>MA(MA(CLOSE,12)-MA(CLOSE,26),9);
市盈率:PE>=0 AND PE<=29.01;
市净率:PB>=0 AND PB<=3.11;
深证主板:LEFT(CODE,3)=='001';
选股:SELECT(CODE, 换手率 AND DEA指标上涨 AND 市盈率 AND 市净率 AND 深证主板, ALL);
python代码参考
def select_stocks(df):
df = df[['code', 'turnover', 'pe', 'pb']]
df = df[(df['turnover']>=3) & (df['turnover']<=12)]
df = ths.dea(df, 9, 12, 26)
df = df[(df['dea'].diff()>0)]
df = df[(df['pe']>=0) & (df['pe']<=29.01)]
df = df[(df['pb']>=0) & (df['pb']<=3.11)]
df = df[df['code'].apply(lambda x: x[:3]=='001')]
return pd.DataFrame({'code': df['code']})
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


