问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:前日实际换手率在3%~28%之间,至少有5条均线重合。
选股逻辑分析
该选股策略的选股条件主要包括:
- 选择元宇宙行业中的股票,因为这些企业可能受到元宇宙行业内用户需求的影响,具有潜在的成长性;
- 前日实际换手率在3%~28%之间,反映市场对其价值的认可度高,具有投资价值;
- 至少有5条均线重合,反映股票最近走势较稳定,具有一定的稳健性和可持续性。
有何风险?
- 该选股策略可能忽略了其他重要的技术指标和基本面指标,不能充分考虑股票的整体价值;
- 只选择前一日换手率在3%~28%之间的股票,忽略了高换手率和超低换手率的股票,可能会忽视市场中其他重要的信息;
- 只使用均线重合作为判断标准,难以准确判断股票是否被市场低估。
如何优化?
- 可以加入其他选股条件来筛选股票,例如:PE、PB、ROE等财务指标、RSI、KDJ等技术指标,以及其它可能的因素;
- 可以结合其他图表模式、技术指标等进行深入技术分析,增加股票的透明度;
- 结合风险控制手段等,优化买卖策略来降低风险。
最终的选股逻辑
该选股策略选择元宇宙行业中,前日实际换手率在3%~28%之间,至少有5条均线重合的股票进行投资。
具体选股条件为:元宇宙行情为GNXQ,前日实际换手率为 TURNOVER(2),MA均线指标可使用如下语句进行匹配:MA(C,5) * MA(C,10) * MA(C,20) * MA(C,30) * MA(C,60) > 0
例如:
INDUSTRYIDB(2859,GNXQ) AND TURNOVER(2) > 3 AND TURNOVER(2) < 28 AND MA(C,5) * MA(C,10) * MA(C,20) * MA(C,30) * MA(C,60) > 0
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 前日实际换手率:TURNOVER(2)
- 均线指标:MA(C,5) * MA(C,10) * MA(C,20) * MA(C,30) * MA(C,60) > 0
在通达信中,可以使用如下指标代码:
MA(C,5) * MA(C,10) * MA(C,20) * MA(C,30) * MA(C,60) > 0
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector():
ts.set_token('your_token')
pro = ts.pro_api()
data1 = pro.query('stock_basic', exchange='SZSE', list_status='L', fields='ts_code, name, industry, list_date, total_share, float_share, market_cap, pe, pb, area')
data1['ipo_date'] = pd.to_datetime(data1['list_date'])
data1 = data1[data1['industry'].str.contains('元宇宙') & (data1['list_status'].isin(['L', 'N']))]
data2 = pro.daily_basic(ts_code='', trade_date='20220101', fields='ts_code, turnover_rate_f')
data3 = data2[(data2['turnover_rate_f'] > 3) & (data2['turnover_rate_f'] < 28)]
data4 = pro.daily(ts_code='', start_date='20220101', end_date='20220331', fields='ts_code, trade_date, close')
data4['ma5'] = data4['close'].rolling(5).mean()
data4['ma10'] = data4['close'].rolling(10).mean()
data4['ma20'] = data4['close'].rolling(20).mean()
data4['ma30'] = data4['close'].rolling(30).mean()
data4['ma60'] = data4['close'].rolling(60).mean()
data5 = data4[data4['ma5'].notnull() & data4['ma10'].notnull() & data4['ma20'].notnull() & data4['ma30'].notnull() & data4['ma60'].notnull()]
data6 = data5.groupby('ts_code').apply(lambda x: (x['ma5'] * x['ma10'] * x['ma20'] * x['ma30'] * x['ma60']).tail(1)).reset_index()
data7 = data6[(data6[0] > 0)]
data8 = data1.merge(data3[['ts_code']], on='ts_code', how='inner')
data9 = data8.merge(data7[['ts_code']], on='ts_code', how='inner')
return data9[['ts_code', 'name']]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


