问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,量比大于1.5、量比小于6。
选股逻辑分析
此选股逻辑与上一个逻辑相比,增加了交易量的指标限制,通过筛选出量比大于1.5、且小于6的股票,较大程度上避免了市场热点股的影响,仿佛能够更好地找到潜在的良好业务。
有何风险?
该选股策略仍然较高风险,由于规模偏小,可能导致投资组合易受市场风险的影响。此外,标准偏差较高,可能导致一定程度的投资失误。此外,虽然该选股策略将收益性和风险控制作为核心要素,但由于指标限制比较严格,策略可能过分注重短期表现而忽略整体业绩状况。
如何优化?
可以考虑在规模控制方面进行优化,扩大投资组合规模,降低组合中单只股票的市场风险。此外,建议在指标限制方面进行适当宽松,保证投资组合整体业绩水平。
最终的选股逻辑
基于以上分析,提出完善后的选股逻辑:
- 振幅大于1;
- 反包出现;
- 当前量比大于1.5,且小于6;
- 当前股票收益率大于0;
- 结合多家研究机构推荐度,分析行业趋势等基本面指标;
- 筛选出优质股票。
同花顺指标公式代码参考
以下是该选股策略的通达信指标公式代码:
F01: HIGH/LOW - 1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: VOLUME / MA(VOLUME, 5) > 1.5; // 当前量比大于1.5
F04: VOLUME / MA(VOLUME, 5) < 6; // 当前量比小于6
F05: CLOSE / REF(CLOSE, 1) > 1; // 当前收益率大于0
FILTER: F01 AND F02 AND F03 AND F04 AND F05;
SELECT(IF(1, 1, 0), "选股"); // 输出文本信息:选股
python代码参考
以下是 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbols):
# 获取数据,计算指标
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
close = dv.get_ts('close', symbol=symbols)
volume = dv.get_ts('volume', symbol=symbols)
price_filter = (close.iloc[:, -1] > close.iloc[:, -2]) # 当前收益率大于0
amp = (high / low - 1 > 0.01)
ta_func = Ta('CDLTASUKIGAP', 0, dv.get_ts('open'), high, low, close)
reverse_pattern = (Ta('CDL2CROWS', 0, dv.get_ts('open'), high, low, close) == 100)
volume_filter = ((volume.iloc[:, -1] / volume.iloc[:, :-1].mean(axis=1)) > 1.5) & (
(volume.iloc[:, -1] / volume.iloc[:, :-1].mean(axis=1)) < 6)
selected_stocks = (amp & reverse_pattern & volume_filter & price_filter)
selected_stocks = selected_stocks.sort_values(by='pct_chg', ascending=False)
return selected_stocks.index.tolist()
通过增加量比指标的筛选要求,能够更有效地过滤市场热点股的波动,挑选视野更为宽广的高质量股票。此外,建议加强规模控制,适当宽松指标限制,提高整体收益水平和预测准确率。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
