Python量化交易——股票择时到底能否赚钱?技术指标大比拼——TRIX指标
技术指标大比拼——TRIX指标的有效性回测
Python量化交易——TRIX
技术指标的有效性研究
背景介绍
技术指标是股票交易中最常用的技术手段之一,abc几乎所有的技术文章或股票分析文章都离不开通过MACD等各种指标来判断一支股票的买点和卖点,做量化的也会经常接触TA-Lib
中提供的各种技术指标。从股评人的文章里看,似乎这些指标都有指哪打哪的能力,但是,我们既然做量化交易,就必须用数据说话,一个技术指标到底好不好,有没有用,不是靠嘴说的,是靠数据来验证的。因此,我这个系列文章的目标,就是把TA-Lib
中的技术指标全都拿出来溜一溜,做一个横向大评比。俗话说,是骡子是马拉出来溜溜,通过大数据分析,我们就应该对指标的有效性有一个大致的了解。
为此,我通过一个系列文章,来综合评测33种TA-Lib中的技术指标的有效性,详情请点击这里
TRIX
技术指标介绍
TRIX指标也称为“三重指数平滑移动平均指标”,它根据移动平均线理论,对一条平均线进行三次平滑处理,再根据这条移动平均线的变动情况来预测股价的长期走势。TRIX指标可以通过过滤掉许多不必要的波动来反映股价的长期波动趋势。
指标用法建议
TRIX指标是属于中长线技术指标,其最大的优点就是可以过滤短期波动的干扰,以避免频繁操作而带来的失误和损失。因此TRIX指标最适合于对行情的中长期走势的研判。在股市软件上TRIX指标有两条线,一条线为TRIX线,另一条线为TRMA线。TRIX指标的一般研判标准主要集中在TRIX线和TRMA线的交叉情况的考察上。其基本分析内容如下:
- 当TRIX线一旦从下向上突破TRMA线,形成“金叉”时,预示着股价开始进入强势拉升阶段,投资者应及时买进股票。
- 当TRIX线向上突破TRMA线后,TRIX线和TRMA线同时向上运动时,预示着股价强势依旧,投资者应坚决持股待涨。
- 当TRIX线在高位有走平或掉头向下时,可能预示着股价强势特征即将结束,投资者应密切注意股价的走势,一旦K线图上的股价出现大跌迹象,投资者应及时卖出股票。
- 当TRIX线在高位向下突破TRMA线,形成“死叉”时,预示着股价强势上涨行情已经结束,投资者应坚决卖出余下股票,及时离场观望。
- 当TRIX线向下突破TRMA线后,TRIX线和TRMA线同时向下运动时,预示着股价弱势特征依旧,投资者应坚决持币观望。
- 当TRIX线在TRMA下方向下运动很长一段时间后,并且股价已经有较大的跌幅时,如果TRIX线在底部有走平或向上勾头迹象时,一旦股价在大的成交量的推动下向上攀升时,投资者可以及时少量地中线建仓。
- 当TRIX线再次向上突破TRMA线时,预示着股价将重拾升势,投资者可及时买入,持股待涨。
- TRIX指标不适用于对股价的盘整行情的研判。
qteasy
中内置了TRIX交易策略
这里使用qteasy
作为回测评测的工具。
qteasy
是本人正在开发的一个快速量化交易工具包,使用这个工具包,可以快速灵活地生成各种量化交易策略,生成历史数据并回测策略的表现,有针对性地优化策略的性能;还能模拟实盘自动化交易。qteasy目前最新版本为v1.0.14,可以通过pip安装,Github项目地址在这里
qteasy
的安装方法:python -m pip install qteasy
qteasy
中有一个内置策略TRIX是基于TRIX指标创建的,其创建规则如下:
交易策略:
计算价格的三重平滑指数移动平均价TRIX,再计算M日TRIX的移动平均:
1, TRIX位于MATRIX上方时,设置仓位目标为1
2, TRIX位于MATRIX下方时,设置仓位目标位-1
上述规则是qteasy内置策略的定义,用户完全可以根据自己的理解重新定义交易规则,或者选用其他策略参数。详细用法参见qteasy文档
433支股票五年回测结果
下面使用qteasy
进行技术指标的回测
使用qteasy
回测所有433支股票的回测结果,每次回测的时间跨度都是5年,从2015年1月1日开始投资于一个股票,在技术指标发出买入信号时全仓买入,在发出卖出信号后全仓卖出,一直到2019年21月31日为止,最后综合计算每个技术指标的指标强度和适应性,通过两个数字来反映技术指标的有效性。关于计算方法的详细介绍,请参见这里
首先放出结果:TRIX策略的强度为
-11.2% ——该指标平均产生-11.2%的超额收益
result_df.describe()
return 策略收益率 | benchmark 基准收益率 | mdd 最大回撤 | sharp 夏普率 | alpha 超额收益 | diff | |
---|---|---|---|---|---|---|
count | 288 | 288 | 288 | 288 | 288 | 288 |
mean | 95.27% | 106.44% | 45.16% | 30.20% | 0.36% | -11.16% |
std | 147.99% | 178.18% | 11.42% | 35.54% | 14.13% | 152.78% |
min | -68.88% | -57.14% | 14.93% | -76.25% | -40.46% | -1146.94% |
25% | 7.71% | -11.96% | 36.76% | 2.94% | -7.98% | -53.29% |
50% | 45.50% | 40.12% | 45.18% | 27.22% | 0.97% | 3.33% |
75% | 136.21% | 156.31% | 53.08% | 55.00% | 8.80% | 55.34% |
max | 985.36% | 1420.35% | 77.80% | 146.11% | 74.98% | 802.82% |
296支股票的平均收益率是106.44%,而策略平均收益为95.27%,平均跑输了原始股票11个百分点。
再看策略适应性:
85.36%——该指标平均适应度85.36%,对于大部分股票能取得正收益
在所有有回测结果的296支股票中,六种典型结果的数量分别如下:
序号 | 组别 | 股票数量 | 该组平均基准收益 | 该组平均择时收益 | 该组平均超额收益 |
---|---|---|---|---|---|
1 | 力挽狂澜 | 51 | -29.52% | 47.98% | 77.50% |
2 | 锦上添花 | 75 | 103.28% | 202.73% | 99.44% |
3 | 差强人意 | 101 | 239.40% | 109.14% | -130.27% |
4 | 无力回天 | 20 | -37.01% | -15.11% | 21.90% |
5 | 屋漏逢雨 | 16 | -17.91% | -30.62% | -12.71% |
6 | 乐极生悲 | 25 | 50.41% | -17.75% | -68.16% |
综上,结论如下:
- 该指标在大部分情况下会产生正收益,产生正收益的比例有约76%
- 该指标在大约一半的情况下能产生超额收益,比例为49%
- 不足之处在于有大约1/3股票产生差强人意的收益,而且平均跑输原始股票130个百分点,这是导致指标失分的主要原因。
总体来说,该指标的择时效果较好,且有较好的抗跌性能,只是平均超额收益不够理想。如果要看其他所有股票的结果,请点击这里