写在历史性大牛市之前(二)——
为了发现趋势交易&遵守规则的力量,我们用量化模型测试了沪深300指数的全量股票
再次感谢各位老师光临本号,加入我们的讨论:
上回,我们使用VBA建立了一个趋势跟踪的量化交易模型,并测试了平安银行【000001.sz】在这个模型的盈利表现。并形成了一个基本观点:“对于某只个股,严格遵守规则的趋势跟踪交易,虽不能在震荡市中赚取超额收益,但可以较大程度降低资金耗损,且保留未来遇到趋势的机会。当趋势来临时得以上车,并在结束时及时退出”。
本回,我们将继续讨论:在大概率上,严格遵守规则的趋势跟踪型交易策略,真的能带来超额收益吗?我们同样使用量化趋势跟踪交易模型,回溯了沪深300的全部股票。结论是:是的,严格遵守规则的趋势交易,可以在大概率上获得超额收益!嗯嗯,首先,我们简单回顾一下这个趋势(60日均线突破)跟踪模型:
以【成都银行601838.SH】为例:成都银行自2018-1-31上市至今(2018-8-20,下同)的0.22年中,初始投资金额1,000,000.00元,累计完成三次交易。最大回撤-4.37%,累计盈利-138633.18元。期末金额922,529.96。第一笔买入(2018-6-1)至今,策略累计回报-7.75%,年化后-30.78%,同期被动累计回报-21.48%,年化后-66.82%。
成都银行601838.SH于2018年1月31日上市,三个月后的2018-6-1开始第一笔交易,持仓至2018-6-4(3天),盈利-8939,交易回报率(return=profit/last balance)-0.89%。此后交易2次.三次交易均为亏损。从股票价格时序图例来看的确没有明显的上行趋势。(新股上市后会有较大上涨,但60日均线至少在第60天才出现。考虑到打新中签的低概率,在回溯中,我们从第一次交易为开始日,计量策略回报&被动回报)
初始投资金额100万&最终金额92.25万计算,自首次交易起,累计回报率-7.75%,回报年化-30.78%,同期被动回报-21.48%(年化后-66.82%)。这说明,策略本身并未盈利,但成功避开下跌趋势,跑赢成都银行的被动回报。
接下来使用VBA循环回溯沪深300指数的全量300支股票,得到了下面一张汇总表~,包括了每只股票在主动策略下的累计&年化回报、同期被动回报、交易次数、胜率、最大回撤、期末投资金额等关键信息~
现在、我们开始有意思的部分,
数据挖掘了~
一、 策略回报均值高于被动回报,与被动回报具有相关性,同时沪深300相对上证指数具有选股优势
统计显示,策略回报(年化)均值10.299%,被动回报7.319%(P<0.05)。可以说趋势跟踪策略(在大概率上相对于被动管理)的确带来了超额收益。同期上证回报为-0.345%、而同期沪深300指数个股同期回报7.319%(主要受18年以来的大幅回调,以及部分在15、07年指数高峰期上市的股票影响),沪深300指数表现出自身选股优势。因此不能把策略回报与同期上证直接比较,归因策略盈利水平。我们更应关注策略回报跟自身被动回报的比较。同时,策略盈利水平随被动回报水涨船高。图像显示、被动回报提高可能带动策略盈利提高
二、 趋势跟踪模型的交易胜率低,但胜率与策略回报也具有相关性
统计显示,虽然策略回报率达10.299%且取得超额收益,但交易胜率低于30%,胜率均值20.515%。平均交易89笔、盈利19笔、亏损70笔。我们推测:趋势跟踪量化模型符合“截断你的损失,让盈利奔跑”这一基本理念。亏损交易数量多是因为及时止损,利润主要来自趋势的盈利积累。胜率亦同样重要,图像显示策略回报与胜率成正相关:胜率提升亦有可能提高策略回报。因此,我们可以优化趋势跟踪模型,提高胜率、拉动策略回报。
三、 策略交易跑赢被动回报的股票个数并不明显占优。跑输策略个股的被动回报较高。
统计显示,300支股票中,跑赢被动个数182支(占61%)、跑输被动118支(占39%)。数量上优势并不明显。因此、我们推测、跑赢被动回报的个股可能具有一定特性,使得策略贡献了更多收益回报。反过来说、并不是随意选取个股、就可以通过策略获得超额回报。这些特性也等待我们进一步探索研究。我们把策略回报拆分成两部分:跑赢被动&跑输被动。跑赢被动回报为10.7%,跑输被动回报为9.6%,差异不大。但跑输策略的股票,其被动回报仅有1.6%,跑赢策略的股票、其被动回报高达16.1%。
我们推测可能存在一些因素导致跑输策略股票的被动回报较高,这需要进一步挖掘。
四、 股票回报&风险呈现出经典“组合理论图像”,而胜率跟风险的相关性并不明显
根据股票每日波动计算其年化波动率(风险)后显示,股票回报(策略&被动)与其波动呈现了经典的“组合理论”图像。即高波动伴随着高收益/高损失。同一风险水平中,策略回报重心相对被动回报来说略高一点(策略跑赢回报的结论)。同时、在同一风险水平中、会出现不同的回报表现。侧面亦说明趋势跟踪策略在交易时对风险管理是有贡献的(“截断亏损、让盈利奔跑”)。同时,我们没有发现波动跟胜率的强相关。
五、 近5年以来策略回报明显受到市场风险的影响
令人意外的是,自2013年起股票波动率开始明显上行,风险加剧(打新的大起大落有较大影响),而策略回报同时明显的下滑。显著展示了近几年风险/回报的变化。图像显示,近几年股票波动对趋势跟踪策略回报有着很大的影响。过去5年波动越大、趋势跟踪回报越低。而这个现象在过去更长的一段时间内并不明显:过去更长时间来看,市场风险(股票波动)跟趋势交易策略回报没有很明显的波动。
文章到这里就结束啦~,各位老师,我们通过建立一个简单的趋势跟踪量化模型,并通过大量的股票回溯说明
(严格遵守规则的)趋势跟踪交易能带来(相对于被动管理的)超额收益。
趋势跟踪模型符合“截断亏损,让盈利奔跑”这一交易理念
个股具有很多未知特性,因此、不是所有股票在“严格的趋势交易”下都能获取超额收益(本例只有6成个股跑赢被动回报)
趋势交易在交易风险管理上做出了贡献
近5年呈现出波动率上升影响趋势跟踪策略回报表现的趋势
谢谢各位的耐心。下一篇是最终章,我们将使用随机方法模拟n条价格走势,并测试其风险回报特性。敬请关注~
附录:量化代码(本篇只贴循环的方法),基本的循环方法是,在建立好一支个股的量化交易模型后,使用万得数据集功能,导出想要测试的个股集合(图一)作为字典,然后在交易模板(price)的sheet上用循环语句,获取字典中第一支股票的代码开始回溯。在得出各项交易数据后,将结论贴到另一个表(result)中。贴完后循环下一支。最后result就是汇总了300支股票的交易结果的sheet了。以上分析大部分根据这个sheet完成。