Python量化交易——股票择时到底能否赚钱?技术指标大比拼——CCI指标
技术指标大比拼——CCI指标的有效性回测
Python量化交易——CCI
技术指标的有效性研究
背景介绍
技术指标是股票交易中最常用的技术手段之一,abc几乎所有的技术文章或股票分析文章都离不开通过MACD等各种指标来判断一支股票的买点和卖点,做量化的也会经常接触TA-Lib
中提供的各种技术指标。从股评人的文章里看,似乎这些指标都有指哪打哪的能力,但是,我们既然做量化交易,就必须用数据说话,一个技术指标到底好不好,有没有用,不是靠嘴说的,是靠数据来验证的。因此,我这个系列文章的目标,就是把TA-Lib
中的技术指标全都拿出来溜一溜,做一个横向大评比。俗话说,是骡子是马拉出来溜溜,通过大数据分析,我们就应该对指标的有效性有一个大致的了解。
为此,我通过一个系列文章,来综合评测33种TA-Lib中的技术指标的有效性,详情请点击这里
CCI技术指标介绍
商品渠道指数?(CCI)是一种基于动量的振荡器,由唐纳德·兰伯特开发,用于帮助确定投资工具何时达到超买或超卖的状态。它还用于评估价格趋势的方向和强度。这些信息使交易员能够确定他们是想进入还是退出交易,避免进行交易,还是增加现有头寸。这样,当指标以某种方式起作用时,它可以用来提供交易信号。
指标用法建议
CCI商品渠道指数被用来判断当前股价位于超卖还是超买区间,一般使用这个指标生成投资仓位目标:按照规则计算CCI,并生成持仓比例信号:
- 当CCI大于0时,输出弱多头
- 当CCI小于0时,输出弱空头
- 当CCI大于50时,输出强多头
- 当CCI小于-50时,输出强空头
qteasy
中内置了CCI交易策略
这里使用qteasy
作为回测评测的工具。
qteasy
是本人正在开发的一个快速量化交易工具包,使用这个工具包,可以快速灵活地生成各种量化交易策略,生成历史数据并回测策略的表现,有针对性地优化策略的性能;还能模拟实盘自动化交易。qteasy目前最新版本为v1.0.14,可以通过pip安装,Github项目地址在这里
qteasy
的安装方法:python -m pip install qteasy
qteasy
中有一个内置策略是基于CCI指标创建的,其创建规则如下:
交易策略:
当CCI大于0时表示价格趋势向上,反之趋势向下,绝对值大于50时表示强烈的趋势
- 当CCI大于0时,输出弱多头
- 当CCI小于0时,输出弱空头
- 当CCI大于50时,输出强多头
- 当CCI小于-50时,输出强空头
上述规则是qteasy内置策略的定义,用户完全可以根据自己的理解重新定义交易规则,或者选用其他策略参数。详细用法参见qteasy文档
433支股票五年回测结果
下面使用qteasy
进行技术指标的回测
使用qteasy
回测所有433支股票的回测结果,每次回测的时间跨度都是5年,从2015年1月1日开始投资于一个股票,在技术指标发出买入信号时全仓买入,在发出卖出信号后全仓卖出,一直到2019年21月31日为止,最后综合计算每个技术指标的指标强度和适应性,通过两个数字来反映技术指标的有效性。关于计算方法的详细介绍,请参见这里
首先放出结果:CCI策略的强度为
-62.1% ——该指标平均产生62.1%的超额亏损
result_df.describe()
return 策略收益率 | benchmark 基准收益率 | mdd 最大回撤 | sharp 夏普率 | alpha 超额收益 | diff | |
---|---|---|---|---|---|---|
count | 302 | 302 | 302 | 302 | 302 | 302 |
mean | 40.40% | 102.50% | 27.48% | 15.01% | -12.05% | -62.10% |
std | 64.45% | 175.95% | 7.93% | 40.46% | 27.53% | 148.92% |
min | -28.14% | -64.66% | 9.23% | -291.25% | -112.75% | -1322.26% |
25% | 2.86% | -14.42% | 22.60% | -10.41% | -29.41% | -107.57% |
50% | 20.28% | 37.21% | 26.99% | 13.44% | -7.30% | -16.95% |
75% | 54.91% | 154.45% | 32.37% | 38.59% | 10.03% | 26.24% |
max | 397.24% | 1420.35% | 53.36% | 142.42% | 40.33% | 257.00% |
302支股票的平均收益率是102.5%,而策略平均收益为40.40%,平均跑输了原始股票62.1个百分点。
再看策略适应性:
-147.09%——该指标平均适应度-147.09%,几乎所有股票都会产生负收益
在所有有回测结果的302支股票中,六种典型结果的数量分别如下:
序号 | 组别 | 股票数量 | 该组平均基准收益 | 该组平均择时收益 | 该组平均超额收益 |
---|---|---|---|---|---|
1 | 力挽狂澜 | 57 | -29.79% | 18.65% | 48.45% |
2 | 锦上添花 | 36 | 38.87% | 79.22% | 40.35% |
3 | 差强人意 | 147 | 212.28% | 60.77% | -151.51% |
4 | 无力回天 | 33 | -34.47% | -10.41% | 24.06% |
5 | 屋漏逢雨 | 6 | -6.30% | -15.11% | -8.82% |
6 | 乐极生悲 | 23 | 53.23% | -9.32% | -62.55% |
综上,结论如下:
- 该指标在大部分情况下会产生负收益,产生正收益的比例只有约41%
- 有近一半的股票产生差强人意的收益,约48%,而且平均跑输原始股票152个百分点
- 只有近1/10的股票产生了超额收益:约11%,这是造成指标评价结果低的又一大原因
总体来说,该指标的择时效果较差。如果要看其他所有股票的结果,请点击这里
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!