问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,日线MACD>0。
选股逻辑分析
该选股逻辑同样考虑了股票的短期技术指标和走势情况进行筛选。振幅大于1说明股票波动较大,具有短期投资价值。反包形态则暗示股票出现了趋势反转的可能,具有买入信号。日线MACD指标是一种常用的短期技术指标, 当MACD线上穿零轴,显示出现多头市场;当MACD线下破零轴,显示出现空头市场。因此,MACD>0可以作为股票买入的信号。综合以上指标,可以筛选出具有一定投资价值的股票。
有何风险?
该选股策略同样存在一定的局限性。MACD指标容易受到市场波动影响,可能导致误判。此外,太过依赖技术指标的选股方法,可能会忽略股票的基本面因素,存在一定风险。
如何优化?
可以考虑在使用技术指标选股之前,对股票基本面进行筛选,优先选择优质的企业,并结合技术指标进行综合分析。在使用MACD指标时,可以结合其他技术指标进行筛选,并精细化指标参数,以提高选股的准确度和稳定性。
最终的选股逻辑
在以上分析基础上,提出完善后的选股逻辑:
- 振幅大于1;
- 近3个交易日内出现反包形态;
- 日线MACD>0。
同花顺指标公式代码参考
以下是该选股策略在通达信中的指标公式代码:
F01: (HIGH/LOW - 1) > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 近3个交易日内出现反包形态
F03: MACD(12, 26, 9); // 日线MACD>0
FILTER: F01 AND F02 AND F03;
SELECT(IF(1, 1, 0), "选股"); // 输出选中的股票
python代码参考
以下是 Python 实现该策略的选股逻辑:
# 数据预处理部分
close = dv.get_ts('close', symbol=symbols)
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
ma_26 = dv.get_ts('ma', symbol=symbols, start_date=start, end_date=end, fields='ma_26')
ma_12 = dv.get_ts('ma', symbol=symbols, start_date=start, end_date=end, fields='ma_12')
diff, dea, macd = tb.MACD(close, 12, 26, 9)
macd_filter = macd.iloc[-1] > 0
df_pct_chg = close.pct_change()
df_pct_chg[df_pct_chg.isna()] = 0
ta_func_renko = Ta('CDLTRISTAR', 0, open, high, low, close)
rt_filter = (ta_func_renko == 100)
rt_filter = rt_filter.iloc[:, :-1].sum(axis=1) > 0
amp_filter = (high / low - 1) > 0.01
selected_stocks = ((amp_filter & rt_filter) & macd_filter).sort_values(ascending=False)
return selected_stocks.index.tolist()
通过综合考虑振幅、反包、MACD等因素来进行筛选,以筛选出具有一定投资价值的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
