问财量化选股策略逻辑
选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,同时考虑连续5年ROE>15%。选股时间为每年年报公布后进行。
选股逻辑分析
该选股逻辑综合考虑了个股热度、趋势和基本面多方面因素,通过筛选出ROE表现稳定且持续优秀,同时趋势良好的股票,从而实现风险控制和盈利最大化的平衡。
有何风险?
- 基本面指标可能受到场外宏观经济环境、行业变化等多方面因素的影响,有一定的不确定性和风险。
- 单一指标选股策略容易受到市场情绪等因素影响,需要进一步综合多个因素考虑。
- 筛选条件过于苛刻可能导致选出的股票数量过少,不利于分散风险。
如何优化?
- 加入其他基本面指标进行综合考虑,如市盈率、市净率等等。
- 采用滚动更新的方式进行选股,增强动态适应性。
- 除了筛选条件的过滤之外,也可以采用风险控制的手段进行优化,如止损。
最终的选股逻辑
选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,同时考虑连续5年ROE>15%。
同花顺指标公式代码参考
以下是通达信的 MACD 指标公式:
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;
以下是通达信的个股热度指标,按照热度值从大到小排序:
HOT:C*V/T;
HOTF:(HOT-REF(HOT,5))/REF(HOT,5)*100;
HOTMA5:MA(HOTF,5);
ORDERBY:-HOTMA5;
以下是通达信的股票基本面指标,筛选连续5年ROE>15%的股票:
FILTER:COUNT(ROE>15,5)>=5;
以下是通达信的股票代码指标,排除停牌的股票:
FILTER:NOW<YESTERDAY AND NOT just_st AND Volume/KYMC > 0;
python代码参考
以下是 Python 的选股筛选代码,仅供参考:
import akshare as ak
data_stock_price = ak.stock_zh_a_daily(symbol="sh601988") # 获取股票数据,注意需要日线数据
data_stock_finance= ak.stock_financial_report_sina(symbol="sh601988", statement="业绩报告") # 获取股票财务数据
roe = data_stock_finance.loc[data_stock_finance['报表日期'].str.contains('年度')]['净资产收益率(%)'] # 获取连续5年的 ROE 数据
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) & roe.notnull() & (roe.astype(float) > 15).rolling(5).sum() == 5 # 筛选 MACD 和 ROE 符合条件的股票,过滤掉前20天的数据
].sort_values(by=['HOTMA5'], ascending=False)
result = filtered # 最终选股结果
注意,由于个股热度指标和控盘指标函数需要自行实现,因此代码中并没有给出函数的具体实现。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
