问财量化选股策略逻辑
该选股策略选取元宇宙行业中,前日实际换手率在3%-28%之间,且三个技术指标同时金叉的股票进行投资。
选股逻辑分析
该选股策略主要围绕以下条件进行选股:
- 选取元宇宙行业中的股票,因为这些企业可能受到元宇宙行业内用户需求的影响,具有潜在的成长性;
- 前日实际换手率在3%-28%之间,可能表示该个股存在着资金流动性和市场认可度;
- 选取三个技术指标,如MACD、RSI、KDJ等,如果同时满足金叉条件,则认为该股票具有较大的上涨潜力。
通过综合以上条件,选取符合条件的个股进行投资。
有何风险?
- 市场风险和行业风险,都有可能导致选股结果出现失误;
- 对于技术指标的选择和具体参数的调整可能会影响选股结果;
- 修改前日实际换手率的取值范围和技术指标的数量和参数可能会产生不同的选股结果。
如何优化?
- 在选股条件中加入其他重要指标,如市盈率、市净率等;
- 通过机器学习算法,优化选股策略的模型,提高选取精度;
- 加入风险控制机制,如止损和仓位控制,降低投资风险。
最终的选股逻辑
该选股策略选取元宇宙行业中,前日实际换手率在3%-28%之间,且三个技术指标同时金叉的股票进行投资。选股标准具体为:元宇宙行情为GNXQ,前日实际换手率为TURNOVER(2),MACD金叉为CROSS(GOLD, MACD(12,26,9)),RSI金叉为CROSS(GOLD, RSI(CLOSE, 14)),KDJ金叉为CROSS(GOLD, KDJ(9,3,3))。
同花顺指标公式代码参考
- 元宇宙行情:GNBK("gnxq");
- 前日实际换手率:TURNOVER(2);
- MACD金叉:CROSS(GOLD, MACD(12,26,9));
- RSI金叉:CROSS(GOLD, RSI(CLOSE, 14));
- KDJ金叉:CROSS(GOLD, KDJ(9,3,3));
- 选股条件:GNBK("gnxq") AND TURNOVER(2)>3 AND TURNOVER(2)<28 AND CROSS(GOLD, MACD(12,26,9)) AND CROSS(GOLD, RSI(CLOSE, 14)) AND CROSS(GOLD, KDJ(9,3,3));
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='SSE', list_status='L', fields='ts_code,name,industry')
data1 = data1[data1['industry'].str.contains('元宇宙')]
data2 = pro.daily_basic(ts_code='', trade_date='20220111', fields='ts_code,turnover_rate')
data2['actual_turnover'] = data2['turnover_rate'] * 100
data2 = data2[data2['actual_turnover'] > 3]
data2 = data2[data2['actual_turnover'] < 28]
data3 = pro.query('daily', ts_code='', start_date='20220101', end_date='20220111', fields='ts_code,trade_date,close')
data3 = data3.pivot(index='trade_date', columns='ts_code', values='close')
data3 = data3.T
data4 = pd.DataFrame(index=data3.index)
data4['MACD'] = talib.MACD(data3, fastperiod=12, slowperiod=26, signalperiod=9)[2]
data4['RSI'] = talib.RSI(data3, timeperiod=14)
data4['KDJ'] = talib.STOCH(data3, fastk_period=9, slowk_period=3, slowd_period=3)[1]
data4 = data4.shift(1)
data5 = (data4['MACD'] > data4['MACD'].shift(1)) & (data4['RSI'] > data4['RSI'].shift(1)) & (data4['KDJ'] > data4['KDJ'].shift(1))
data6 = pd.merge(data1, data5.iloc[-1], on='ts_code', how='inner')
return data6
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


