Python量化交易——股票择时到底能否赚钱?技术指标大比拼——APO指标

45 篇文章 5 订阅
30 篇文章 43 订阅

Python量化交易——APO技术指标的有效性研究

背景介绍

技术指标是股票交易中最常用的技术手段之一,几乎所有的技术文章或股票分析文章都离不开通过MACD等各种指标来判断一支股票的买点和卖点,做量化的也会经常接触TA-Lib中提供的各种技术指标。从股评人的文章里看,似乎这些指标都有指哪打哪的能力,但是,我们既然做量化交易,就必须用数据说话,一个技术指标到底好不好,有没有用,不是靠嘴说的,是靠数据来验证的。因此,我这个系列文章的目标,就是把TA-Lib中的技术指标全都拿出来溜一溜,做一个横向大评比。俗话说,是骡子是马拉出来溜溜,通过大数据分析,我们就应该对指标的有效性有一个大致的了解。

为此,我通过一个系列文章,来综合评测33种TA-Lib中的技术指标的有效性,详情请点击这里

技术指标介绍

APO指标全称 Absolute Price Oscillator 绝对价格震荡指标,绝对价格震荡指标显示证券价格的两个指数移动平均线之间的差异,并以绝对值表示。
计算公式如下:
A P O = 短期 E M A –长期 E M A APO = 短期 EMA – 长期 EMA APO=短期EMA长期EMA

指标用法建议

APO衡量价格变动的趋势,因此,我们的交易信号可以根据价格变动的趋势强弱判断:

  • APO 上穿零线被视为看涨,而下穿零线则看跌。
  • 正指标值表示向上运动,而负读数表示下降趋势。
  • 当价格的新高或新低未被绝对价格震荡指标 (APO) 确认时,就会形成背离:
    • 当价格形成较低的低点时形成看涨背离,但 APO 形成较高的低点。 这表明可能预示看涨逆转的下行势头减弱。
    • 当价格形成更高的高点时形成看跌背离,但 APO 形成更低的高点。 这表明可能预示看跌逆转的上升势头减弱。

qteasy中的APO内置策略

这里使用qteasy作为回测评测的工具。

qteasy是本人正在开发的一个快速量化交易工具包,使用这个工具包,可以快速灵活地生成各种量化交易策略,生成历史数据并回测策略的表现,有针对性地优化策略的性能;未来还将提供实时自动化交易功能。该项目正在开发中,Github项目地址在这里

qteasy 的安装方法:

python -m pip install qteasy

qteasy中有一个内置策略是基于APO指标创建的,其创建规则如下:

APO交易策略:
按照规则计算APO趋势:

  • 当APO大于0时,判断为牛市趋势,设定持仓比例为1
  • 当APO小于0时,判断为熊市趋势,设定持仓比例为-1

上述规则是qteasy内置策略的定义,用户完全可以根据自己的理解重新定义交易规则,或者选用其他策略参数。详细用法参见qteasy文档

433支股票五年回测结果

下面使用qteasy进行技术指标的回测
使用qteasy回测所有433支股票的回测结果,每次回测的时间跨度都是5年,从2015年1月1日开始投资于一个股票,在技术指标发出买入信号时全仓买入,在发出卖出信号后全仓卖出,一直到2019年21月31日为止,最后综合计算每个技术指标的指标强度适应性,通过两个数字来反映技术指标的有效性。关于计算方法的详细介绍,请参见这里

首先放出结果:APO策略的强度为

-23.53% ——该指标能平均导致23.53%的超额亏损

result_df.describe()
rtnbenchmarkmddsharpalphadiff
count296.000000296.000000296.000000296.000000296.000000296.000000
mean0.6878010.9231220.5265570.075802-0.037814-0.235321
std1.3669401.7009600.1303080.4384150.1012131.352614
min-0.642494-0.6466020.149147-0.943480-0.431287-10.824741
25%-0.182062-0.1195930.440801-0.207921-0.103054-0.642615
50%0.2297560.2969010.5242340.043722-0.037454-0.130950
75%1.0026881.3690480.6099740.4146390.0309570.229460
max8.07474614.2035130.8351201.4158030.2308605.881215

296支股票的平均收益率是92%,而策略平均收益只有68.8%,平均跑输了大盘23.5个百分点。

再看策略适应性:

-37.0%——该指标平均适应度为负,适应度很差,如果不针对个股进行参数适配,将普遍取得较差的结果

在所有有回测结果的296支股票中,六种典型结果的数量分别如下:

序号组别股票数量该组平均基准收益该组平均择时收益该组平均超额收益
1力挽狂澜18-25.54%33.08%58.62%
2锦上添花44108.02%185.45%77.44%
3差强人意90247.21%120.06%-127.16%
4无力回天36-36.40%-20.48%15.92%
5屋漏逢雨32-24.61%-43.05%-18.44%
6乐极生悲4343.82%-22.69%-66.51%

综上,结论如下:

  • 该指标只能在刚刚过半的情况下取得正收益,约51%
  • 有大量的股票被归为差强人意组,在目标股票收益良好的时候,策略导致收益率平均下降127个百分点:有30%的股票都属于这种情况
  • 产生超额收益的股票数量只有不到1/3:约31%

总体来说,该指标的择时效果很差。如果要看其他所有技术指标的结果,请点击这里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值