问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、500日内至少2次涨停的股票。
选股逻辑分析
该策略综合考虑了行业板块、换手率、涨停等因素,旨在选出有一定成长潜力的股票。
有何风险?
该策略仍然忽略了公司基本面和财务数据等重要因素,存在投资风险。同时,多次涨停的股票难以保持持续的上涨,存在爆仓风险。
如何优化?
可以加入更多的量化指标,如PE、PB等公司基本面和财务数据,并结合技术分析指标,如KDJ、均线等来更好的判断股票的走势。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、500日内至少2次涨停的股票。
同花顺指标公式代码参考
换手率在3%-12%:SELECT(TURN<N>=AVG(TURN, N) AND TURN<N+1>AVG(TURN, N+1) AND TURN<N>3 AND TURN<N<12)
至少2次涨停:SELECT(MAX(AVRANK(1))+MIN(AVRANK(1))<=2 AND MAX(HIGH/LAST)>1.095)
饮料酒进出口:SELECT(SECTORCODE('K40')=1)
选股:SELECT(CODE, 换手率3%-12% AND SELECT_SECTORCOUNT('K43')>0 AND MAX(AVRANK(1))+MIN(AVRANK(1))<=2 AND MAX(HIGH/LAST)>1.095)
python代码参考
import pandas as pd
import tushare as ts
def select_stocks():
pro = ts.pro_api()
df1 = pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry,name')
df1 = df1[(df1['industry'].str.contains('饮料') & df1['industry'].str.contains('酒'))]
df2 = pro.daily(ts_code='', start_date='20210901', end_date='20210930', fields='ts_code,trade_date,high,low,trade_status')
df = pd.merge(df2, df1[['ts_code']], on='ts_code')
df['avrank'] = df['trade_status'].groupby(df['ts_code']).rank(method='average')
df = df[df['avrank']<=2]
df = df[df.groupby('ts_code')['high'].apply(lambda x: (x/x.shift(1)).cumprod()).max()>1.095]
df = df[(df['trade_status']=='交易') & (df['low']!=0) & (df['high']!=0)]
df3 = pro.daily(ts_code='', start_date='20200101', end_date='20211231', fields='ts_code,trade_date,high,low,trade_status')
df3 = df3[(df3['trade_status']=='交易') & (df3['low']!=0) & (df3['high']!=0)]
dfg = df3.groupby('ts_code').tail(2)[['ts_code', 'trade_date']]
df = pd.merge(df, dfg, on='ts_code')
df = df[df.groupby('ts_code')['trade_date'].apply(lambda x: (x.diff()>pd.Timedelta(500, unit='D')).sum()>=1)]
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


