问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、量比大于1.5且量比小于6的股票。
选股逻辑分析
该选股策略采用了市场交易活跃度和行业分类因素,并通过量比指标进行进一步筛选,有利于挖掘市场交易活跃度较高、行业龙头股、短期内交易量有所增加的优质股票。
有何风险?
该选股策略仅采用了量比因素进行进一步筛选,而量比本身可能存在较大的波动性,也可能存在异常值,因此该策略仍有选择失误的风险。
如何优化?
可结合其他技术、行情指标,如MACD、KDJ、RSI等进行辅助筛选,并加入财务因素和估值指标,如净利润增长率、市盈率、市净率等 factors 进行综合评价,提高选股策略的准确度。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、量比大于1.5且量比小于6的股票。
同花顺指标公式代码参考
换手率在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)
量比大于1.5且量比小于6:SELECT(VOL/CAPITAL<=V1 AND VOL/CAPITAL>=V2)
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 量比大于1.5且量比小于6)
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(trade_date='20221014', fields='ts_code,turnover_rate,vol')
df2 = df2[df2['trade_date'] != '20221014'] # 获取昨天数据
df3 = pro.daily(trade_date='20221015', fields='ts_code,close')
df3 = df3[df3['trade_date'] != '20221015'] # 获取今天数据
df2 = pd.merge(df2, df3, on='ts_code')
df2['v1'] = df2['vol'] / df2['total_share'] # 计算量比
df2 = df2[(df2['v1'] > 1.5) & (df2['v1'] < 6)]
df4 = pro.daily_basic(trade_date='20221014', fields='ts_code,turnover_rate_f') # 获取昨日换手率数据
df1 = pd.merge(df1[['ts_code', 'industry']], df4[['ts_code', 'turnover_rate_f']], on='ts_code')
df1 = df1[(df1['turnover_rate_f'] >= 3) & (df1['turnover_rate_f'] <= 12)]
df = pd.merge(df1[['ts_code', 'industry']], df2[['ts_code', 'v1', 'close']], on='ts_code')
df = df.sort_values('v1', ascending=False) # 按量比降序排列
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
