问财量化选股策略逻辑
选股逻辑为MACD零轴以上,今日均线向上发散,三个技术指标同时金叉。
选股逻辑分析
该选股逻辑在前一个选股逻辑基础上,增加了三个技术指标同时金叉的条件,以此筛选出在技术面有较好表现的个股。
三个技术指标同时金叉,说明股票在技术面上的多个指标都出现了向上的趋势,进而表现出较好的买入信号,有可能出现较好的走势。
有何风险?
- 三个技术指标同时金叉的情况较为稀少,可能筛选结果较少,涵盖面不够宽;
- 技术指标的使用可能存在滞后性,股票走势可能已经反应了技术指标的变化。
如何优化?
- 合理选择技术指标,并调整金叉的持续时间,以增加筛选结果的涵盖面;
- 考虑加入其他指标和条件,如成交量等。
最终的选股逻辑
选股逻辑为MACD零轴以上,今日均线向上发散,三个技术指标同时金叉。
同花顺指标公式代码参考
MACD指标:
DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2
均线指标:
MA5:MA(CLOSE,5)
其他技术指标金叉:
技术指标1 金叉:CROSS(指标1,指标2)
技术指标2 金叉:CROSS(指标3,指标4)
技术指标3 金叉:CROSS(指标5,指标6)
python代码参考
以下为python的选股筛选代码,仅供参考:
import akshare as ak
# 获取股票历史行情数据
df = ak.stock_zh_a_hist_sina("sh600000")
# 计算MACD指标
ema12 = df['close'].ewm(span=12).mean()
ema26 = df['close'].ewm(span=26).mean()
DIF = ema12 - ema26
DEA = DIF.ewm(span=9).mean()
MACD = (DIF - DEA) * 2
# 计算均线指标
ma5 = df['close'].rolling(5).mean()
# 辅助技术指标筛选
cross1 = (df['指标1'] > df['指标2']).astype(int).rolling(2).apply(lambda x: x[1] - x[0]).fillna(0).astype(bool)
cross2 = (df['指标3'] > df['指标4']).astype(int).rolling(2).apply(lambda x: x[1] - x[0]).fillna(0).astype(bool)
cross3 = (df['指标5'] > df['指标6']).astype(int).rolling(2).apply(lambda x: x[1] - x[0]).fillna(0).astype(bool)
# 辅助筛选条件
all_conditions = (DIF > 0) & (ma5.shift(1) < ma5) & cross1 & cross2 & cross3
# 筛选出符合条件的股票
result = df[all_conditions]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


