问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、深证主板中市盈率在0-29.01之间、市净率在0-3.11之间的股票。
选股逻辑分析
该策略基于饮料酒行业和深证主板市场,从市场交易、企业性质等多维度考虑,选出换手率适中、符合市场估值和企业性质的股票,增强选股的精度。
有何风险?
该策略选股因素虽然考虑了多方面因素,但对于行业整体状况、股票价格、公司财务等方面的因素未完全考虑,选股精度仍较低,存在一定的投资风险。
如何优化?
可综合考虑行业整体状况、股票价格、公司财务及基本面等因素,构建更加完整、系统的选股模型,提高其选股准确性和稳定性。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、深证主板中市盈率在0-29.01之间、市净率在0-3.11之间的股票。
同花顺指标公式代码参考
换手率在3%-12%:SELECT(TURN<N>=AVG(TURN, N) AND TURN<N+1>AVG(TURN, N+1) AND TURN<N>3 AND TURN<N<12)
饮料酒进出口:SELECT(SECTORCODE('K40')=1)
市盈率在0-29.01之间:SELECT(PE_NTTM>=0 AND PE_NTTM<=29.01)
市净率在0-3.11之间:SELECT(PB>=0 AND PB<=3.11)
选股:SELECT(CODE,换手率3%-12% AND SELECT_SECTORCOUNT('K43')>0 AND SELECT(SECTOR('SZ') AND SELECT(PE_NTTM>=0 AND PE_NTTM<=29.01)) AND SELECT(PB>=0 AND PB<=3.11))
python代码参考
import pandas as pd
import tushare as ts
def select_stocks():
pro = ts.pro_api()
df1 = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,industry,name')
df1 = df1[(df1['industry'].str.contains('饮料') & df1['industry'].str.contains('酒'))]
df2 = pro.daily_basic(ts_code='', trade_date='20211013', fields='ts_code,pb,pe')
df2 = df2[(df2['pe'] > 0) & (df2['pe'] < 29.01) & (df2['pb'] > 0) & (df2['pb'] < 3.11)]
df = pd.merge(df1[['ts_code']], df2[['ts_code']], on='ts_code')
df3 = pro.daily(ts_code='', trade_date='20211013', fields='ts_code,vol,close')
df = pd.merge(df, df3[['ts_code', 'vol', 'close']], on='ts_code')
vol_quantile = df3['vol'].quantile(0.7)
df = df[(df['vol'] > vol_quantile * 0.8) & (df['vol'] < vol_quantile * 1.2)] # 取市场交易前70%的股票
df4 = pro.stock_company(exchange='SZSE', fields='ts_code,reg_capital,enttype,establish_date')
df4 = df4[(df4['enttype'].str.contains('有限责任公司')) & (df4['reg_capital'] > 1e7) & (df4['establish_date'] < '20100101')]
df = pd.merge(df, df4[['ts_code']], on='ts_code')
df = df.groupby('ts_code').tail(1).sort_values('vol', ascending=False)
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
