问财量化选股策略逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,周线MA5金叉MA10。选股时间为每个交易日开盘前。
选股逻辑分析
MACD指标可以反映短期市场趋势,个股热度可以反映市场关注度,周线MA5金叉MA10可以反映趋势反转信号。通过此选股逻辑,可以筛选出市场短期趋势向上、市场关注度高、趋势反转信号出现的标的,并降低投资风险。
有何风险?
- 过度依赖技术指标和单一技术指标,忽略市场其他因素,可能造成选股漏洞;
- 过于追求短期收益,忽略基本面和业绩变化,可能导致投资失败;
- MA金叉并不一定能够准确反映趋势反转,存在一定风险。
如何优化?
- 加入其它技术指标和基本面因素进行筛选,以综合评估标的的投资价值和风险;
- 根据市场走势和资金流动等变化情况,动态调整技术指标的权重,提高适应性;
- 在MA金叉之外加入其它趋势反转信号,并根据历史数据验证信号准确性,提高选股质量。
最终的选股逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,周线MA5金叉MA10。在此基础上可以根据具体情况适当加入其它筛选条件。同时可以根据预测市场走势、行业前景、公司业务等进行筛选。选股时间为每个交易日开盘前。
同花顺指标公式代码参考
MACD指标:
DIF: EMA(CLOSE, 12) - EMA(CLOSE, 26);
DEA: EMA(DIF, 9);
MACD: (DIF - DEA) * 2;
其中CLOSE为当日收盘价,EMA为指数移动平均数。
MA金叉指标:
MA5: MA(CLOSE, 5);
MA10: MA(CLOSE, 10);
CROSS: CROSS(MA5, MA10);
其中CLOSE为当日收盘价,MA为简单移动平均数,CROSS为判断金叉信号的函数。
Python代码参考
以下为python的选股筛选代码、排序代码,仅供参考:
import akshare as ak
import talib as ta
# 获取股票数据并计算筛选结果
data_stock = ak.stock_zh_a_daily_tx(symbol="", trade_date="")
data_stock_w = data_stock.resample('W').last()
data_stock_m = data_stock_w.copy()
data_stock_m['DIF'] = ta.EMA(data_stock_m['close'], timeperiod=12) - ta.EMA(data_stock_m['close'], timeperiod=26)
data_stock_m['DEA'] = ta.EMA(data_stock_m['DIF'], timeperiod=9)
data_stock_m['MACD'] = (data_stock_m['DIF'] - data_stock_m['DEA']) * 2
data_stock_m['MA5'] = ta.MA(data_stock_w['close'], timeperiod=5)
data_stock_m['MA10'] = ta.MA(data_stock_w['close'], timeperiod=10)
data_stock_filtered = data_stock_m[(data_stock_m['MACD'] > 0) & (data_stock_m['hot'] > 0) & ta.CROSS(data_stock_m['MA5'], data_stock_m['MA10'])]
result_sorted = data_stock_filtered.sort_values(by=['hot'], ascending=False)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


