问财量化选股策略逻辑
本选股策略在日线上选取以下股票:振幅大于1、500日内至少2次涨停,20日均线大于120日均线的股票。
选股逻辑分析
本选股策略选用多个技术指标进行筛选。振幅是反映价格震荡幅度的重要技术指标,可以筛选出波动较大的股票。涨停次数是衡量股票投资热度的指标,比较有利于快速抓住当前市场情况下的优质个股。20日均线和120日均线则是主力资金持续布局的信号,均线的相交和交叉则往往预示着后续股价的走向。通过这些技术指标的综合应用,可以筛选出股价波动大、趋势稳健的优质个股。
有何风险?
选股策略对技术指标的依赖较强,可能会过多追逐热点,忽视基本面因素。同时,市场的变化也会影响到策略的选股效果,在行情反转或者走势调整期间可能会出现一定幅度的回撤。
如何优化?
优化思路包括策略修正和优化参数方向两个方面。首先,可以针对不同行业、不同市场环境等调整技术指标参数和阈值,提高选股的准确性。其次,结合技术指标和基本面因素,构建多因子模型,从多个维度筛选个股,减少市场波动的风险。
最终的选股逻辑
选取振幅大于1、500日内至少2次涨停,并且20日均线大于120日均线的股票。
同花顺指标公式代码参考
- 振幅公式:(high-low)/close
通达信代码:(HHV(HIGH,1)-LLV(LOW,1))/REF(CLOSE,1) - 涨停次数公式:计算500日内涨停次数,使用rolling()和sum()函数求和
通达信代码:(HIGH/LLV(LOW,1)>1.099).SUM(500) - 均线公式:使用MA函数计算20日均线和120日均线
通达信代码:MA(CLOSE,20)、MA(CLOSE,120)
python代码参考
import tushare as ts
# 定义需要筛选的企业类型
property_list = ['证券', '银行', '保险']
# 定义振幅筛选条件
amplitude_filter = 0.01
# 定义涨停次数筛选条件
rise_stop_filter = 2
# 定义均线筛选条件
short_ma = 20
long_ma = 120
# 获取基本面数据
data = ts.get_stock_basics()
# 筛选振幅满足条件的股票
selected_stocks = data[data['high'] - data['low'] >= amplitude_filter * data['close']]
# 筛选涨停次数满足条件的股票
selected_stocks = selected_stocks[(selected_stocks['high'] / selected_stocks['low'].shift(1) > 1.099).rolling(500).sum() >= rise_stop_filter]
# 筛选均线满足条件的股票
selected_stocks = selected_stocks[selected_stocks['ma20'] > selected_stocks['ma120']]
# 输出选中的股票
print(selected_stocks.index.tolist())
以上代码仅供参考,具体实现方法可以根据投资者需要和市场情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


