问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、股票代码以60开头。
选股逻辑分析
该选股策略主要依据了换手率和行业分类进行选股,同时指定了股票代码以60开头。换手率可以反映股票的市场流动性和活跃度,同时行业分类可以锁定选股的目标行业,从而提高选股的准确性和收益率。指定股票代码以60开头是限定了范围,可以缩小选股样本空间,提高选股的可靠性和效率。
有何风险?
该选股策略忽略了其他技术指标和基本面因素的影响。同时,仅指定股票代码以60开头也有一定局限性,不能完全反映当前市场状况。
如何优化?
可以结合其他技术指标,如MACD、RSI、均线等指标,以及基本面因素,如PE、PB、ROE等指标,制定更为综合准确的选股策略。另外,可以考虑增加选股年限的区间,以扩大选股的样本空间,提高选股的有效性和可靠性。同时,可以尝试不限制股票代码的范围,从而更全面地考虑市场行情和趋势。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、股票代码以60开头的股票。
同花顺指标公式代码参考
换手率在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(SECTOR('K40')=1)
股票代码以60开头:SELECT(CODE LIKE '60%')
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 股票代码以60开头)
python代码参考
import pandas as pd
import tushare as ts
def select_stocks():
pro = ts.pro_api()
df1 = pro.stock_basic(exchange='SSE', list_status='L', fields='ts_code,industry,name,list_date')
df1 = df1[(df1['industry'].str.contains('饮料') & df1['industry'].str.contains('酒')) & (df1['ts_code'].str.startswith('60'))]
df2 = pro.daily(trade_date='20220114', fields='ts_code,open,close,low,high,vol,amount,trade_date')
df2 = df2[df2['ts_code'].isin(df1['ts_code'].tolist())]
df2 = df2[['ts_code', 'trade_date', 'open', 'close', 'high', 'low', 'vol', 'amount']]
df3 = pro.top_list(trade_date='2021', fields='ts_code,buy_amount,sell_amount,net_amount,turnover_rate,buy_reason,sell_reason')
df3 = df3[(df3['buy_reason'] > 0) & (df3['turnover_rate'] > 3) & (df3['net_amount'] > 0)]
df3['zdf'] = (df3['buy_amount'] - df3['sell_amount']) / df3['buy_amount'] * 100
df4 = pro.daily_basic(trade_date='2021', fields='ts_code,pe,pb,roe')
df4 = df4[(df4['pe'] >= 0) & (df4['pb'] >= 0) & (df4['roe'] >= 0)]
df5 = pd.merge(df1, df3, on='ts_code')
df5 = pd.merge(df5, df4, on='ts_code')
df5 = df5[df5['name'].str.contains('ST') == False]
return df5['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
