问财量化选股策略逻辑
选股逻辑:振幅大于1,K线小于20,前日实际换手率在3% - 28%之间。
选股逻辑分析
该选股逻辑同样结合了技术指标和市场基本面因素进行选股,以振幅和K线为指标测量股票价格波动和走势,加上前日实际换手率作为衡量市场活跃程度指标。通过测量前一天的实际换手率选出活跃度适中的股票,同时振幅和K线的条件限制具有选出大幅波动的股票的功能。但前日实际换手率的要求过于严格,可能导致漏掉投资机会。
有何风险?
该选股策略对于选股指标的选择相对单一,忽略了很多市场的其他重要因素,容易产生选择Bias。同时,前日实际换手率的区间要求过于严格,可能会抛弃一些潜力股,丢失可能获得高收益的机会。
如何优化?
增加其他的指标,如市场趋势、行业板块趋势及指标、财务和交易数据等,从多方位,全面的角度对市场进行分析和判断,以提高选股品质。同时,前日实际换手率需松散一些,加入板块位置,考虑换手率的行业因素、行业整体走势等,获取更多信息。此外,可考虑采用机器学习的方法,通过模型学习选股条件,自动化筛选。
最终的选股逻辑
改进后的选股逻辑如下:
- 振幅大于1;
- K线小于20;
- 前日实际换手率在 0-50%之间;
- 结合市场趋势、行业板块趋势及指标、财务和交易数据;
- 结合机器学习方法,自动化选股。
同花顺指标公式代码参考
以下是在通达信上实现该选股策略的指标公式代码:
AMPLITUDE := (HIGH - LOW) / C;
SELECTOR1 := C5 > 0.5 AND C < 20;
SELECTOR2 := VOLUME[1] >= LLV(VOLUME[2], 5) AND VOLUME[1] <= LLV(VOLUME[2], 5) * 2;
RESULT := SELECTOR1 AND SELECTOR2;
其中,LLV(VOLUME[2], 5) 表示前日实际换手率在20%以上,双倍为40%。
Python代码参考
以下是 Python 实现该选股策略的选股逻辑:
# 计算振幅和换手率
amplitude = (high - low) / close.shift(1)
turnover = volume.diff() / volume.shift(1)
# 筛选选股
selected_stocks = pd.DataFrame({
'amplitude': amplitude,
'turnover': turnover
}).query('amplitude > 1 & turnover > 0.03 & turnover < 0.28')
return selected_stocks['code'].tolist()
Python 实现该策略的选股逻辑,同样可以进行灵活地调整和优化策略,并通过 Python 的数据处理和可视化功能更便于分析和复现选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)