问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、圆弧形的股票。
选股逻辑分析
该选股策略采用了市场交易活跃度和行业分类因素,并通过形态因素进行进一步筛选,有利于挖掘市场交易活跃度较高、行业龙头股、特定形态的优质股票。
有何风险?
该选股策略仅采用了圆弧形态进行进一步筛选,而形态因素可能存在主观判断、识别难度较大等问题,因此该策略仍有选择失误的风险。
如何优化?
可结合其他技术、行情指标,如MACD、KDJ、RSI等进行辅助筛选,并加入财务因素和估值指标,如净利润增长率、市盈率、市净率等 factors 进行综合评价,提高选股策略的准确度。同时,还应在圆弧形态片段的特征和数量上加以优化,例如在形态片段的数量、时间跨度、形态参数等方面进行优化。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、圆弧形态的股票。
同花顺指标公式代码参考
换手率在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)
圆弧形态:SELECT(SHAPENAME='Arc')
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 圆弧形态)
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.new_share(start_date='20220101', end_date='20221014', fields='ts_code,subcode,name') # 获取新股列表
df3 = pro.daily(trade_date='20221014', fields='ts_code,turnover_rate')
df3 = df3[(df3['turnover_rate'] >= 3) & (df3['turnover_rate'] <= 12)]
df4 = pro.moneyflow(trade_date='20221014', fields='ts_code,circ_mv') # 获取流通市值数据
df4['circ_mv'] = df4['circ_mv'] / 10000
df5 = pro.moneyflow(trade_date='20221014', fields='ts_code,mf_amt') # 获取资金净流入数据
df5['mf_amt'] = df5['mf_amt'] / 10000
df = pd.merge(df2, df1, on='ts_code')
df = pd.merge(df, df3, on='ts_code')
df = pd.merge(df, df4, on='ts_code')
df = pd.merge(df, df5, on='ts_code')
df = df[df['name'].str.contains('ST') == False] # 剔除ST股票
df = df[df['mf_amt'] > 0] # 资金净流入为正
df = df[df['circ_mv'] > 2000] # 流通市值大于20亿
df = df[df['circ_mv'] / df['mf_amt'] >= 2] # 资金净流入不能超过流通市值的一半
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
