问财量化选股策略逻辑
选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,近一个月内有过涨停。选股时间为每个交易日开盘前进行。
选股逻辑分析
该选股逻辑主要侧重于技术面和市场情绪的考量,通过 MACD 零轴以上和个股热度排序进行技术面分析,进一步筛选市场情绪积极的个股。同时,近一个月内出现过涨停的股票,说明个股具备一定的市场关注度,可能存在资金跟随的机会。
有何风险?
- 个股热度排序有可能会存在短期内大涨后再次短期内大跌的情况,优先选取个股热度较高的,可能存在策略选择过于追涨的风险。
- 近一个月内有过涨停,并不代表个股长期处于强势状态,具有较大的回撤风险。
如何优化?
- 在选股逻辑中加入基本面因素进行筛选,降低盲目追涨风险;
- 当个股近期涨幅过大时,可加入逆向策略,进行中短线交易。
最终的选股逻辑
选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,近一个月内有过涨停。选股时间为每个交易日开盘前进行。
同花顺指标公式代码参考
以下是通达信的 MACD 指标公式:
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;
以下是涨停板指标公式:
ZTB:IF(C>=REF(1,C)*1.1,1,0);
ZTS:IF(C<=REF(1,C)*0.9,1,0);
DZTB1:ZTM1=ZTB AND (ZTB=REF(ZTB,1)=0);
DZTB=ZTB OR DZTB1;
DZTS1:ZTM1=ZTS AND (ZTS=REF(ZTS,1)=0);
DZTS=ZTS OR DZTS1;
FILTER:DZTB OR DZTS;
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()
filtered = data_stock_price.loc[
(macd > 0) & FILTER
].sort_values(by=['HOTMA5'], ascending=False)
result = filtered.loc[filtered['high'] > filtered['high'].shift(1) * 1.1] # 最终选股结果
注意,由于同花顺指标公式较多,代码根据需求自行选择实现。另外,由于数据在运行时需要更新,因此具体代码需要实际情况调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


