相信大家都听说过股票和债券的多元化投资组合。改进的股票配对交易策略基本上使用了一种前进的方法(参考文章中的概念),即最大化夏普比率,偏向于波动率而不是收益率。也就是说,它使用72天的移动窗口来最大化投资组合的不同权重配置之间的总收益,标准差提高到52的幂。说得通俗一点,在1的幂数下,这是基本的夏普比率,在0的幂数下,只是一个动量最大化的算法。
这个策略的过程很简单:每个月重新平衡SPY和TLT之间5%的倍数,之前最大化了以下数量(在72天窗口中返回波动率^2.5)。
SPY和TLT组合
以下是获取数据和计算必要数据的代码:
1. require(quantmod)
2.
3. getSymbols(c("SPY", "TLT"), from="1990-01-01")
4.
5. for(i in 1:21)
6.
7. weightSPY <- (i-1)*.05
8.
9. config <- Return.portfolio(R = returns, weights=c(weightSPY, weightTLT)
10.
11. period <- 72
接下来,建立权重的代码:
1.
2. weights <- t(apply(monthlyModSharpe, 1, findMax))
3.
4.
5. weights[is.na(weights)] <- 0
6.
也就是说,在每个重新平衡的日期(每月的月末),简单地采用使每月修改的夏普比率计算最大化的设置。接下来是收益表现:
Performance(stratRets)
结果如下:
具有以下股票曲线:
并不完美,但相比之下,它的成分如何呢,我们来看看。
- apply.yearly(Components, Return.cumulative)
以下是一些常见的统计数据:
简而言之,这一策略的表现似乎远远好于上述两种成分。我们来看看股票曲线的比较是否反映了这一点。
事实上,虽然它确实在危机中出现了下跌,但当时这两个工具都在下跌,所以看起来这个策略在糟糕的情况下取得了最好的效果.以下是年度收益。
yearly(Return.cumulative)
然而,从2002年整体上看,虽然该策略很少会像两个中更好的表现一样,但它总是比两个中更差的表现出色--不仅如此,即使在一个表现差的时候,该策略在回测的每一年中都取得了积极的表现,例如2008年的SPY,以及2009年和2013年的TLT。以下是SPY在策略中的权重。
1.
2. weightSPY <- do.call(rbind, weightSPY)
3.
4.
5. TimeSeries(alig, date.format="%Y", ylab="SPY权重", main="SPY-TLT配对中SPY的权重")
贵州茅台和民生银行组合
股票数据获取及整理
## [1] "GZMT" "MSYH"
组合收益表现结果如下:
加入比较项-非组合下的单只表现
年化收益率比较
通过累积收益率、日收益率和最大回撤率,以及年化收益率比较,可以发现采用优化方法的投资组合明显优于传统的投资策略。