问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、以及换手率大于2%且小于9%的股票。
选股逻辑分析
该选股策略综合考虑了市场交易活跃度、行业龙头等因素,并通过选择换手率大于2%且小于9%的股票进行进一步筛选,减少了股价较低、容易被操纵等风险。该选股策略适用于短期投资或投机者。
有何风险?
该选股策略仍存在选出的股票风险较大的问题。另外,饮料酒进出口一般与国外市场相关,在国际政治和经济形势发生剧烈波动的情况下容易受到影响。
如何优化?
可以加入其他的因素,如市盈率、市净率、财务指标、行业前景、技术指标等,并通过筛选质量较高的股票,如高成长性、高ROE、稳健的现金流等来进一步提高选股准确性。可以通过对模型的测试和优化来不断完善。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、以及换手率大于2%且小于9%的股票。
同花顺指标公式代码参考
换手率在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)
换手率大于2%且小于9%:SELECT(TURN>=2 AND TURN<=9)
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 换手率大于2%且小于9%)
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, close,turnover_rate')
df2 = df2[(df2['turnover_rate'] > 2) & (df2['turnover_rate'] < 9)] # 换手率在2%-9%
df1 = pd.merge(df1[['ts_code', 'industry']], df2[['ts_code', 'close', 'turnover_rate']], on='ts_code')
df3 = pro.moneyflow(ts_code='', start_date='20210101', end_date='20211013', fields='ts_code')
df3 = df3.groupby('ts_code').sum().reset_index()
df3['BBD'] = (df3['big'] - df3['big'].rolling(20).mean()) / df3['big'].rolling(20).mean() * 100 # 计算大单净量
df3 = df3.sort_values('BBD', ascending=False)[:50] # 大单净量排行前50
df = pd.merge(df1[['ts_code', 'industry', 'close', 'turnover_rate']], df3[['ts_code', 'BBD']], on='ts_code')
df = df.sort_values('BBD', ascending=False)
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


