Python量化交易——股票择时到底能否赚钱?技术指标大比拼——T3均线
技术指标大比拼——T3指标的有效性回测
Python量化交易——T3
均线交易策略的有效性研究
背景介绍
技术指标是股票交易中最常用的技术手段之一,几乎所有的技术文章或股票分析文章都离不开通过MACD等各种指标来判断一支股票的买点和卖点,做量化的也会经常接触TA-Lib
中提供的各种技术指标。从股评人的文章里看,似乎这些指标都有指哪打哪的能力,但是,我们既然做量化交易,就必须用数据说话,一个技术指标到底好不好,有没有用,不是靠嘴说的,是靠数据来验证的。因此,我这个系列文章的目标,就是把TA-Lib
中的技术指标全都拿出来溜一溜,做一个横向大评比。俗话说,是骡子是马拉出来溜溜,通过大数据分析,我们就应该对指标的有效性有一个大致的了解。
为此,我通过一个系列文章,来综合评测33种TA-Lib中的技术指标的有效性,详情请点击这里
T3技术指标介绍
T3均线(三重指数平滑移动平均线), 是一项趋向指标显示价格的三重平滑移动平均值的变化率使投资者了解或预测价格变化动向是对股价作三次expma故称作三重 三重指数平滑移动平均线。
指标用法建议
T3均线是一项超长周期的指标,长线操作时采用本指标可以过滤掉一些短期波动的干扰,避免交易次数过于频繁,造成无利润的买卖及手续费的损失。与通常的均线交易策略一样,可以有几种不同的基本用法:
- 使用长短两个不同周期的均线,根据两根均线的交叉情况判断市场多空趋势
- 使用一根t3均线,根据股价与均线的相对位置判断市场多空趋势
qteasy
中内置了基于T3均线的交易策略
这里使用qteasy
作为回测评测的工具。
qteasy
是本人正在开发的一个快速量化交易工具包,使用这个工具包,可以快速灵活地生成各种量化交易策略,生成历史数据并回测策略的表现,有针对性地优化策略的性能;还能模拟实盘自动化交易。qteasy目前最新版本为v1.0.14,可以通过pip安装,Github项目地址在这里
qteasy
的安装方法:python -m pip install qteasy
qteasy
中有三个内置策略是基于T3指标创建的,在本文章中,我们测试其中比较典型的一个,其创建规则如下:
交易策略:
用长短两个周期分别计算慢快两根均线:
1,当快均线高于慢均线时,设定持仓比例为1
2,当慢均线高于快均线时,设定持仓比例为-1
您也可以尝试使用另外两个基于t3均线的内置交易策略来尝试回测,看看与dt3交易策略有什么不同:
slt3
交易策略 : 根据t3均线的斜率产生交易信号st3
交易策略 : 根据一根t3均线与股票价格的交叉点产生交易信号
上述规则是qteasy内置策略的定义,用户完全可以根据自己的理解重新定义交易规则,或者选用其他策略参数。详细用法参见qteasy文档
433支股票五年回测结果
下面使用qteasy
进行技术指标的回测
使用qteasy
回测所有433支股票的回测结果,每次回测的时间跨度都是5年,从2015年1月1日开始投资于一个股票,在技术指标发出买入信号时全仓买入,在发出卖出信号后全仓卖出,一直到2019年21月31日为止,最后综合计算每个技术指标的指标强度和适应性,通过两个数字来反映技术指标的有效性。关于计算方法的详细介绍,请参见这里
首先放出结果:DT3策略的强度为
-22.0% ——该指标平均产生-22.0%的超额收益
result_df.describe()
return 策略收益率 | benchmark 基准收益率 | mdd 最大回撤 | sharp 夏普率 | alpha 超额收益 | diff | |
---|---|---|---|---|---|---|
count | 296 | 296 | 296 | 296 | 296 | 296 |
mean | 77.48% | 99.40% | 50.13% | 12.41% | -1.91% | -21.92% |
std | 148.60% | 160.75% | 12.03% | 40.24% | 12.12% | 120.49% |
min | -61.93% | -64.66% | 20.76% | -162.51% | -45.64% | -449.17% |
25% | -8.59% | -14.25% | 41.75% | -15.65% | -9.52% | -70.40% |
50% | 29.59% | 37.21% | 49.54% | 10.26% | -1.94% | -11.19% |
75% | 105.93% | 154.64% | 58.07% | 43.18% | 4.74% | 33.37% |
max | 1050.80% | 678.90% | 80.15% | 129.42% | 85.84% | 574.95% |
296支股票的平均收益率是77.48%,而策略平均收益为99.40%,平均跑输了原始股票22个百分点。
再看策略适应性:
-9.62%——该指标平均适应度-9.62%,仅适用于部分股票
在所有有回测结果的296支股票中,六种典型结果的数量分别如下:
序号 | 组别 | 股票数量 | 该组平均基准收益 | 该组平均择时收益 | 该组平均超额收益 |
---|---|---|---|---|---|
1 | 力挽狂澜 | 34 | -27.37% | 36.14% | 63.51% |
2 | 锦上添花 | 57 | 115.83% | 218.26% | 102.43% |
3 | 差强人意 | 115 | 210.82% | 100.89% | -109.93% |
4 | 无力回天 | 35 | -37.88% | -18.57% | 19.31% |
5 | 屋漏逢雨 | 25 | -21.59% | -37.84% | -16.24% |
6 | 乐极生悲 | 30 | 45.71% | -24.73% | -70.43% |
综上,结论如下:
- 该指标在接近70%的情况下都可以达成正收益,但是对于115支本身收益很好的股票来说,反复交易反而造成错失了上涨机会,导致策略收益率低于股票本身的收益率
- 当股票本身收益为负时,有接近70%的情况可以获得超额收益,尽管有超过1/3的情况甚至可以翻盘达成正收益
- 最大的问题还是在于股票收益较好时,有较大的可能性导致极大的负超额收益,导致总体适应性不佳
总体来说,该指标的择时效果尚可,但是对于上涨机会的把握不足,平均超额收益不够理想。如果要看其他所有股票的结果,请点击这里