问财量化选股策略逻辑
选股逻辑为 MACD 零轴以上,价格小于 12,振幅大于 1。选股时间为每个交易日开盘前进行。
选股逻辑分析
该选股逻辑同样基于技术面进行筛选,通过 MACD 零轴以上、价格小于 12 和振幅大于 1 进行技术面分析,综合考虑市场趋势、价格水平和波动性,选择出相较于市场风险更小的股票。
有何风险?
- 可能存在市场短期波动导致振幅过大的情况,振幅大于 1 效果不佳;
- 通过价格小于 12 的条件进行筛选,可能会存在过于追求低价股票而忽视质量因素的问题。
如何优化?
- 可以通过加入其它技术指标如成交量等降温筛选过于波动的股票;
- 适度加入基本面因素进行筛选,综合考虑市场面和公司基本面,避免过于追求低价股票而忽视质量因素。
最终的选股逻辑
选股逻辑为 MACD 零轴以上,价格小于 12,振幅大于 1。选股时间为每个交易日开盘前进行。
同花顺指标公式代码参考
以下是通达信的 MACD 指标公式:
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;
以下是振幅的同花顺指标公式代码:
SWING:100*(HIGH-LOW)/REF(CLOSE,1),COLORSTICK;
以下是价格小于 12 的同花顺指标公式代码:
C:收盘价;
SELECT:C<12;
python代码参考
以下是 Python 的选股筛选代码,仅供参考:
import akshare as ak
data_stock_price = ak.stock_zh_a_daily(symbol="sh601988") # 获取股票数据,需要日线数据
macd = pd.Series(data_stock_price['close']).ewm(12).mean() - pd.Series(data_stock_price['close']).ewm(26).mean()
amplitude = (data_stock_price['high'] - data_stock_price['low']) / data_stock_price['close'].shift(1) * 100
filtered = data_stock_price.loc[
(macd > 0) & (data_stock_price['close'] < 12) & (amplitude > 1)
]
result = filtered # 最终选股结果
注意,由于同花顺指标公式较多,代码根据需求自行选择实现。另外,由于数据在运行时需要更新,因此具体代码需要实际情况调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
