问财量化选股策略逻辑
选股逻辑为 MACD 零轴以上、价格小于 12 元、周K线上穿30周线的股票。选股时间为每个交易日开盘前进行。
选股逻辑分析
该选股逻辑同样考虑了技术面和基本面因素。MACD 反映了技术面的情况,周K线上穿30周线则表明股票近期可能出现向上趋势,同时限定了股票价格。
有何风险?
- K线上穿30周线只考虑了一定时间段内的变化情况,可能会忽略较长时间内的影响因素,导致选股结果失误。
- 选取价格低廉的股票可能存在经营不佳、质量较差等基本面风险。
- MACD 零轴以上的条件较为宽泛,可能会选出一些暂时处于调整期或下跌趋势的股票。
如何优化?
- 增加基本面因素考虑的情况,如市盈率、市净率等。
- 对周K线上穿30周线的条件进行定量分析和筛选,以更为精确地选取过去表现良好的股票。
- 考虑增加其他技术面指标的考虑,如成交量、RSI 等,以全面综合股票走势。
最终的选股逻辑
综合考虑了 MACD 零轴以上、周K线上穿30周线、价格小于 12 元等多个指标因素,同时关注基本面情况和技术面指标,从而选取出表现较好、风险相对较小的股票。
同花顺指标公式代码参考
以下是 KDJ 的同花顺指标公式:
MACD:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG),COLORRED;
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;
其中 SHORT = 12,LONG = 26,M = 9。
python代码参考
以下是 Python 的选股筛选代码,仅供参考:
import akshare as ak
import talib
data_stock_price = ak.stock_zh_a_minute(symbol="sh601988", period="D") # 获取股票日 K 线数据
close_price = data_stock_price["close"].tolist()
short, long, m = 12, 26, 9
dif, dea, macd = talib.MACD(np.array(close_price), fastperiod=short, slowperiod=long, signalperiod=m)
week_avg_30 = talib.SMA(np.array(close_price), timeperiod=30, matype=0)[-5:] # 取五天的周线30日均价
data_stock_quote = ak.stock_zh_a_quote(symbol="sh601988") # 获取股票实时行情数据
chg = data_stock_quote['涨跌幅'].iloc[-1] # 获取涨幅
if macd[-1] > 0 and data_stock_quote["现价"].iloc[-1] < 12 and close_price[-1] >= week_avg_30.max():
filtered = data_stock_info.loc[
(data_stock_info["type"] == "主板")
# 其他条件
]
result = filtered[["代码", "名称"]] # 最终选股结果
注意,由于数据在运行时需要更新,因此具体代码需要实际情况调整。同时需要根据实际情况查询对应的 AKShare 数据接口。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


