问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、10日涨幅大于0小于35的股票。
选股逻辑分析
该选股策略主要依据了换手率、行业分类以及短期涨幅进行选股,其中换手率可以反映股票流动性和活跃度,行业分类可以锁定选股的目标行业,而短期涨幅则可以反映股票的短期走势和市场热度,从而筛选有潜力的个股。
有何风险?
该选股策略未考虑股票的基本面因素和其他技术指标的影响,同时,短期涨幅标准的设定可能过于武断和片面,容易出现较大波动和误判。
如何优化?
可以考虑综合运用基本面因素和技术指标,例如PE、PB、ROE、MACD、RSI等,以及一些其他的选股指标,如市值、股息率、流通情况等,制定更为全面和准确的选股策略。另外,可以增加选股标准的宽度,如将短期涨幅标准从10日延长到20日或30日等,从而增加选股样本空间,减少选股误判。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、10日涨幅大于0小于35的股票。
同花顺指标公式代码参考
换手率在3%-12%:SELECT(TURN<N>=AVG(TURN,N) AND TURN<N>3 AND TURN<N<12)
饮料酒进出口:SELECT(SECTOR('K40')=1)
10日涨幅大于0小于35:SELECT(CLOSE/REF(CLOSE, 9)>1 AND CLOSE/REF(CLOSE, 9)<1.35)
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 10日涨幅大于0小于35)
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('酒'))]
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['10日涨幅'] = df2['close'] / df2.groupby('ts_code')['close'].shift(9) - 1
df2 = df2[df2['10日涨幅'].between(0, 0.35)]
df3 = pro.top_list(trade_date='20220114', 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='20220114', 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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
