人工智能系列报告实证篇_人工智能算法在价量特征中的应用_27页_1mb
报告摘要
人工智能在价量特征中的应用实证分析
核心内容
本报告探讨了人工智能算法在量化投资中应用的实证效果,重点分析了多种机器学习模型在价量特征指标上的表现。报告选取了34个价量特征指标,包括价格重叠类、动量类、成交量类和波动类,并通过36个月滚动窗口训练模型,预测未来一个月股票涨跌类别。最终构建了多空投资组合,评估了不同模型的预测效果和收益表现。
主要观点
- 价量特征的优势:价量特征相较于基本面指标,在市场择时方面具有更好的时效性,是捕捉短期波动收益的重要工具。
- 模型选择:本文测试了多种机器学习模型,包括决策树、支持向量机(SVM)、随机森林、AdaBoost、GBDT和XGBoost等。
- 模型表现差异:决策树和支持向量机在分类预测效果上表现一般,而随机森林和Boosting算法(如AdaBoost、GBDT、XGBoost)表现较为优异,具有较好的分类能力。
- 收益与风险指标:随机森林和Boosting算法的年化收益率在13%-14%之间,夏普比率在0.42-0.44之间;多空组合年化收益率在7.11%-12.11%之间,夏普比率在0.78-0.9之间,其中XGBoost模型的多空组合收益率最高。
关键信息
1. 数据与模型设置
- 数据来源:沪深全A股票,剔除ST股票和上市不满120个交易日的次新股。
- 回测时间:2007年1月至2018年3月。
- 特征指标:共34个价量特征,涵盖价格、动量、成交量和波动四个类别。
- 标准化方法:采用最大最小值法对数据进行标准化处理,使数据分布集中在[0,1]区间。
- 模型训练:采用36个月滚动训练方式,使用网格调参法进行参数优化。
2. 模型表现
决策树模型
- IC均值:0.032
- 分组超额收益:表现最差,最高收益组为第7组(14.0%),最低收益组为第4组(-26.8%)。
- 多空组合:年化收益率11.75%,夏普比率0.79。
支持向量机(SVM)
- IC均值:0.051
- 分组超额收益:表现优于决策树,最高收益组为第7组(36.7%),最低收益组为第1组(-6.1%)。
- 多空组合:年化收益率16.05%,夏普比率0.93。
随机森林模型
- IC均值:0.056
- 分组超额收益:表现良好,第10组年化收益率为14.0%,夏普比率为0.44。
- 多空组合:年化收益率7.11%,夏普比率0.78。
AdaBoost模型
- IC均值:0.034
- 分组超额收益:表现中等,第10组年化收益率为13.6%,夏普比率为0.43。
- 多空组合:年化收益率9.72%,夏普比率0.83。
GBDT模型
- IC均值:0.037
- 分组超额收益:表现较好,第10组年化收益率为13.5%,夏普比率为0.44。
- 多空组合:年化收益率10.98%,夏普比率0.90。
XGBoost模型
- IC均值:0.049
- 分组超额收益:表现最佳,第10组年化收益率为12.9%,夏普比率为0.42。
- 多空组合:年化收益率12.11%,夏普比率0.83。
附录:价量特征指标
ADOSC(振荡指标)
- $ADOSC = fast_period AD - slow_period AD$
- $CLV = \frac{(close - low) - (high - close)}{(high - low)}$
- $AD = AD_{[-1]} + CLV \times volume$
APO(价格振荡器)
- $APO = SlowMA(price) - FastMA(price)$
- FastMA周期为12,SlowMA周期为26
AROONOSC(阿隆振荡)
- $AROONOSC = AroonUp - AroonDown$
- AroonUp = [(计算期天数 - 最高价后的天数)/计算期天数] × 100
- AroonDown = [(计算期天数 - 最低价后的天数)/计算期天数] × 100
BOP(均势指标)
- $BOP = \frac{close - open}{high - low}$
CCI(顺势指标)
- $CCI = \frac{TP - ATP}{0.015 \times MD}$
- $TP = \frac{high_n + low_n + close}{3}$
CMO(钱德动量摆动指标)
- $CMO = 100 \times \frac{(ups - downs)}{(ups + downs)}$
DX(动向指标)
- $DX = \frac{(+DI) - (-DI)}{(+DI) + (-DI)}$
- $+DI = \frac{+DM}{TR} \times 100$
- $-DI = \frac{-DM}{TR} \times 100$
- $TR = max(high, close_{[-1]}) - min(low, close_{[-1]})$
EMA(指数平均线)
- $EMA = K \times input + (1 - K) \times EMA_{[-1]}$
- $K = \frac{2}{n + 1}$
KAMA(考夫曼的自适应移动平均线)
- $KAMA_t = KAMA_{t-1} + C_t \times (P_t - KAMA_{t-1})$
- $C_t = smooth_t \times smooth_t$
- $smooth_t = ER_t \times (fastest - slowest) + slowest$
- $ER_t = \frac{direction_t}{volatility_t}$
- $direction_t = P_t - P_{t-N+1}$
- $volatility_t = \sum_{i = t-N+1}^{t} |direction_i|$
- $fastest = \frac{2}{N_1 + 1}$
- $slowest = \frac{2}{N_2 + 1}$
KDJ_K
- $K = \frac{2}{3} \times K_{[-1]} + \frac{1}{3} \times RSV$
- $RSV = \frac{(close - LowestLow(last n periods))}{(HighestHigh(last n periods) - LowestLow(last n periods))} \times 100$
KDJ_D
- $D = \frac{2}{3} \times D_{[-1]} + \frac{1}{3} \times K$
MA(移动平均线)
- $MA = \frac{\sum_{i=1}^{n} price}{n}$
MACD(平滑异同移动平均线)
- $short_ema = 0.15 \times price + 0.85 \times short_ema_{[-1]}$
- $long_ema = 0.075 \times price + 0.925 \times long_ema_{[-1]}$
- $MACD = short_ema - long_ema$
MFI(资金流量指标)
- $TypicalPrice = \frac{high + low + close}{3}$
- $MoneyFlow = TypicalPrice \times volume$
- $PositiveMoneyFlow = PositiveMoneyFlow_{[-1]} + MoneyFlow$
- $NegativeMoneyFlow = NegativeMoneyFlow_{[-1]} + MoneyFlow$
- $MoneyRatio_i = \frac{\sum_{i-n}^{i} PositiveMoneyFlow}{\sum_{i-n}^{i} NegativeMoneyFlow}$
- $MoneyFlowIndex = 100 - \left(\frac{100}{1 + MoneyRatio}\right)$
MINUS_DI(下降动向值)
- $DeltaHigh = high_{[-1]} - high$
- $DeltaLow = low - low_{[-1]}$
- $MinusDM = 0$ if $DeltaHigh < 0$ and $DeltaLow < 0$ or $DeltaHigh = DeltaLow$
- $MinusDM = DeltaLow$ if $DeltaHigh < DeltaLow$
PLUS_DI(上升动向值)
- $DeltaHigh = high_{[-1]} - high$
- $DeltaLow = low - low_{[-1]}$
- $PlusDM = 0$ if $DeltaHigh < 0$ and $DeltaLow < 0$ or $DeltaHigh = DeltaLow$
- $PlusDM = DeltaHigh$ if $DeltaHigh > DeltaLow$
RSI(相对强弱指数)
- $RSI = 100 - \frac{100}{1 + \frac{AverageUp}{AverageDown}}$
SAR(抛物线指标)
- $SAR = SAR_{[-1]} + \frac{2}{n} \times (SAR_{[-1]} - price)$
TRIX(三重指数平滑平均线)
- $TRIX = 3 \times (EMA(EMA(EMA(price, n), n), n) - EMA(EMA(EMA(price, n), n), n)) / EMA(EMA(EMA(price, n), n), n)$
TURN_MA_5、TURN_MA_10、TURN_STD_5(换手率指标)
- $TURN_MA_5 = \frac{sum(close_volume)}{5}$
- $TURN_MA_10 = \frac{sum(close_volume)}{10}$
- $TURN_STD_5 = \sqrt{\frac{sum((close_volume - TURN_MA_5)^2)}{5}}$
总结
本文通过实证分析,发现随机森林和Boosting算法在价量特征选股中表现优于其他模型。虽然模型间存在一定的差异,但整体上,这些算法在预测未来股票涨跌类别上具有一定效果。然而,机器学习在量化投资中的可解释性仍需进一步研究,以提高其在实际应用中的透明度和稳定性。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载