问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,昨日竞价换手率大于0.26。
选股逻辑分析
竞价换手率是指股票交易日中,在集合竞价时段的成交量与当日总成交量的比率,是一个反映股票炒作情况的重要指标。加入昨日竞价换手率的选股逻辑可以更好地找到活跃度较高的股票,同时,振幅大于1和反包则可以找到具有较高波动性的股票。
有何风险?
相对于只考虑高活跃度的股票,加入波动性的筛选条件可以提升选股结果的准确性,但同时也可能增加一些风险。高波动性的股票往往价格变化剧烈,股票市值较小,交易流动性可能不佳,容易受到个别投资者的影响,导致选股结果存在一定的不稳定性。
如何优化?
可以加入更多的基本面因素、技术指标信息进行综合考虑,例如股票价值、盈利能力等方面,加强选股结果的可靠性。也可以针对选股结果进行风险控制,例如设置止损点位等,确保投资风险可控。
最终的选股逻辑
基于以上分析,我们提出改进后的股票筛选逻辑:
- 振幅大于1;
- 反包出现;
- 昨日竞价换手率大于0.26。
同花顺指标公式代码参考
以下是通达信指标的公式代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:Ta('VIRR', 0, CLOSE, 0, 0, 0, 1); // 昨日竞价换手率大于0.26
FILTER:F01 AND F02 AND F03;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT(IF(F04, 1, 0), "诊股"); // 输出文本信息:选股
python代码参考
以下是用 Python 实现该策略的选股逻辑:
import talib
def stock_filter(dv, symbol):
# 获取股票数据
high = dv.get_ts("high", symbol=symbol)
low = dv.get_ts("low", symbol=symbol)
close = dv.get_ts("close", symbol=symbol)
volume = dv.get_ts("volume", symbol=symbol)
# 计算昨日竞价换手率指标
virr = talib.VIRR(close.values, volume.values, 1)
virr = virr[-2]
selected_stocks = (high / low - 1 > 0.01) & (Ta('CDL2CROWS', 0, open, high, low, close) == 100) & (virr > 0.26)
selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
return selected_stocks.index.tolist()
同样使用 Python 和技术指标库 TA-Lib 进行计算,加入昨日竞价换手率指标进行筛选,以期获得更为准确的选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
