问财量化选股策略逻辑
选股逻辑为 MACD 零轴以上、价格小于 12 元、归属母公司股东的净利润同比增长率大于 20% 小于等于 100%。选股时间为每个交易日开盘前进行。
选股逻辑分析
该选股逻辑除了考虑技术面因素,还增加了基本面因素的考虑,是一种综合分析股票价值的策略。同时,选股逻辑在考虑归属母公司股东的净利润同比增长率时设置了一个上限,以避免盲目追涨导致买入高估股。这种选股逻辑综合考虑了技术面和基本面因素,能够较好地反映市场情况和股票价值变化。
有何风险?
- 过于依赖基本面因素而忽略技术面因素,可能导致选股结果失误。
- 基本面因素如净利润增长率有可能受到财务造假等因素影响,可能导致选股结果失误。
- 基于财务报表的数据更新较慢,可能导致选股结果的实时性较差。
如何优化?
- 在基本面因素的考虑中,可以增加其他因素的考虑,如营业收入、资产负债率等指标,以全面综合股票价值。
- 在基本面数据的准确性方面,可以关注各公司的财务报表披露情况和质量,以及股票所在行业和关联公司等信息。
- 可以结合技术面指标对选股结果进行进一步分析和确认,同时加强对市场情况的观察。
最终的选股逻辑
选股逻辑为 MACD 零轴以上、价格小于 12 元、归属母公司股东的净利润同比增长率大于 20% 小于等于 100%。在筛选过程中,同时关注其他技术指标和基本面因素,以综合分析股票的价值。
同花顺指标公式代码参考
以下是 MACD 的同花顺指标公式:
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;
以下是归属母公司股东的净利润同比增长率的同花顺指标公式:
ANALYZEUNITSET(SHOWNAME);
SHOWNAME:MAJORDEVICE(('归属母公司股东的净利润(同比增长率):20%~100%')),(1);
法人机构持股数:LONGDATA;
PERSONHOLDSHARECOUNT10K:SELECT("[个股资料]个人持有10万股以上家数");
ANALYZEUNITSET_EX(0,1,0);
元数据查询(资产负债表):BD(ANALYZEYEAR,-2,,"资产负债表");
ANALYZEUNITSET_CLR();
python代码参考
以下是 Python 的选股筛选代码,仅供参考:
import akshare as ak
data_stock_price = ak.stock_zh_a_minute(symbol="sh601988", period="15") # 获取股票 15 分钟数据
close_price = data_stock_price["close"].tolist()
dif, dea, macd = talib.MACD(np.array(close_price), fastperiod=12, slowperiod=26, signalperiod=9)
data_finance = ak.stock_financial_report_sina(symbol="sh601988", date="20210331") # 获取财务报表数据
net_profit_growth_rate = data_finance["归属母公司股东的净利润同比增长率"].values[0]
filtered = data_stock_price.loc[
(pd.Series(macd).tail(2).count() == 2) # MACD 有两个值
& (macd[-1] > 0) # MACD 大于 0
& (data_stock_price['close'].iloc[-1] < 12) # 价格小于 12 元
& (net_profit_growth_rate > 0.2) # 归属母公司股东的净利润同比增长率大于 20%
& (net_profit_growth_rate <= 1) # 归属母公司股东的净利润同比增长率小于等于 100%
]
filtered = filtered.loc[filtered.index.strftime("%H%M") == "1000"] # 选股时间为 10:00
result = filtered.merge(df_fund[["代码"]]).drop_duplicates(subset=["代码"]) # 最终选股结果
注意,由于数据在运行时需要更新,因此具体代码需要实际情况调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


