问财量化选股策略逻辑
选股逻辑:振幅大于1,反包出现,涨幅小于2.6且大于-5。
选股逻辑分析
该选股逻辑类似于趋势反转策略,选股时关注的是涨跌幅,同时加入了振幅和反包两个指标。该选股逻辑与市场行情有关系,同时容易受到市场短期波动的干扰,不够稳定。
有何风险?
该选股逻辑忽略了公司的基本面情况,仅对股票价格数据进行分析,可能导致选股结果存在一定的风险。同时,该选股逻辑的过度关注市场波动,容易受到整个市场走势的影响,不够稳定。
如何优化?
我们可以引入更多的指标,如技术指标、基本面数据、市场宏观数据等,来完善该选股逻辑,进一步提高选股的准确性和可靠性。另外,可以考虑采用机器学习等方法,结合大量历史数据,构建更加精确的选股模型。
最终的选股逻辑
基于上述分析,我们提出改进后的股票筛选逻辑:
- 振幅大于1
- 反包出现
- 涨幅小于2.6且大于-5
同花顺指标公式代码参考
以下是通达信指标的公式代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:REF(CLOSE, 0) / REF(CLOSE, 1) - 1 > -0.05 AND REF(CLOSE, 0) / REF(CLOSE, 1) - 1 < 0.026; // 涨幅
FILTER:F01 AND F02 AND F03;
SYMBOL_SORT("热点板块", SORT_DESCEND);
SELECT(IF(F03, 1, 0), "诊股"); // 输出文本信息:选股
python代码参考
以下是用 Python 实现该策略的选股逻辑:
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)
selected_stocks = (high / low - 1 > 0.01) & (Ta('CDL2CROWS', 0, open, high, low, close) == 100) & (close.pct_change() > -0.05) & (close.pct_change() < 0.026)
selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
return selected_stocks.index.tolist()
选股逻辑中,我们从数据源取出股票数据并与各项条件进行比对,只筛选出符合要求的股票进行分析。在这里,我们改用 pandas 库中的 pct_change() 函数计算涨跌幅,更简洁方便。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
