问财量化选股策略逻辑
选股逻辑:振幅大于1,连续5年ROE>15%,前天macd<0。
选股逻辑分析
该选股策略综合考虑了技术面、基本面以及市场交易数据,首先筛选出符合振幅大于1且5年ROE不低于15%的股票,在此基础上,结合技术分析,筛选出前天MACD小于0的股票,以此为依据进行股票的选定。
有何风险?
该选股逻辑可能存在以下风险:
- 单一指标选股过于片面,可能存在较大的风险;
- MACD指标受到市场波动的显著影响,可能存在一定程度的低效性;
- 自动化选股可能忽略了个股特质、行业特点等因素,导致选股结果不尽如人意。
如何优化?
为了降低风险并优化选股策略,可以尝试以下优化:
- 考虑采用其他技术指标如RSI、KDJ等辅助判断;
- 尝试采用实时数据以及其他市场数据辅助选股;
- 考虑加入基本面分析以及行业分析,以此综合考虑选股结果。
最终的选股逻辑
根据以上分析和优化,可以得到以下完善的选股逻辑:
- 选择振幅大于1且5年ROE不低于15%的股票;
- 结合其他技术指标如RSI、KDJ等综合判断;
- 综合考虑其他交易数据如交易笔数、资金流向等;
- 考虑股票的基本面,如PE、PB等因素。
同花顺指标公式代码参考
C1: IF((HIGH - LOW >= 1), 1, 0);
C2: IF(ROE(CLOSE, 5) > 15, 1, 0);
C3: IF(MACD(12, 26, 9) < 0, 1, 0); // 前天MACD小于0
SELECTOR: IF((C1 == 1) AND (C2 == 1) AND (C3 == 1), 1, 0);
RESULT: SELECTOR;
python代码参考
import pandas as pd
from tqsdk import TqApi
from tqsdk.ta import macd
api = TqApi()
klines = api.get_kline_serial("SHFE.rb2101", 24 * 60 * 60, data_length=300)
df = pd.DataFrame(klines)
df[['macd', 'macdsignal', 'macdhist']] = macd(df['close'])
C1 = (df['high'] - df['low'] >= 1)
def check_roe(x):
return (x > 0.15).all()
C2 = df.groupby('contract.symbol')['roe'].apply(check_roe)
C3 = (df['macd'].shift(2) < 0)
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


