This subsection shows how the lower tail dependence coefficient between a broader market aggregate and its constituents can be utilized such that the selected stocks that enter into a long-only portfolio are solely least concordant only to negative market
Table 11.1 Key measures of portfolio solutions for Swiss equity sectors.
Measures GMV MDP MTD ERC
Standard deviation 0.813 0.841 0.903 0.949
ES (modified, 95%) 2.239 2.189 2.313 2.411
Diversification ratio 1.573 1.593 1.549 1.491
Concentration ratio 0.218 0.194 0.146 0.117
k k returns. This approach contrasts with a low-𝛽strategy in the sense that now the aim is
to shelter investors from concurrently incurring index losses and the stocks held in the portfolio. The intention of a low-𝛽strategy is basically the same, by selecting stocks that co-move less proportionally than the market in absolute terms. However, this kind of selection might deter stocks that are characterized by a high value of the upper tail dependence coefficient with the market and hence such a portfolio allocation would miss on the upside. Incidentally, it should be stressed that neither of the two strategies takes the riskiness of the portfolio members explicitly into account.
In theRcode in Listings 11.3 and 11.4, the two strategies are applied to the con- stituents of the S&P 500 index. In the first two lines the necessary packagesFRAPO andcopulafor conducting the comparison are loaded into the workspace. In con- trast to the application in the previous subsection, the lower tail dependence will be derived from a Clayton copula and this task can be swiftly accomplished with the facilities offered in the latter package, as will be shown in due course. Next, the data setINDTRACK6is brought into memory; this is contained in the packageFRAPO.
This object is a data frame with 291 weekly observations of the S&P 500 index and 457 members of it. The sample starts in March 1991 and ends in September 1997.
The data set was first used in Canakgoz and Beasley (2008) (see also Beasley 1990).
Stocks with missing values during the sample period have been discarded. Originally, the data was downloaded from DATASTREAM and has been made anonymous. The first column refers to the index data itself.
The index and stock returns are computed in lines 6 and 8 of Listing 11.3. Here, only the first 260 data points are used and the remaining ones are saved for apseudo ex anteevaluation of the portfolios’ wealth progressions. The𝛽 values of the stocks are assigned to the objectBetain the next line by using theapply()function on the column dimension ofRAand the estimator for the slope coefficient. The lower tail dependence coefficients derived from the Clayton copula are calculated in lines 11 to 14. These measures are derived from Kendall’s𝜏rank correlations by first re- turning estimates of the copula parameter𝜃 from which the lower tail dependence coefficients can be deduced. In the next block ofRstatements, the stocks with|̂𝛽|
and tail dependence coefficients below their respective median value are determined and the weights are calculated by an inverse logarithmic scale. By using this scheme, roughly 80% of the stocks are common to both selections. The allocation employed is only as an example; any other kind of weight assignment can be chosen for the two sets of stocks, for example, an allocation in accordance with a global minimum variance approach. The progression of the out-of-sample benchmark equity and for the two strategies are computed in lines 25 to 43. In theRcode in Listing 11.4 these progressions are depicted in the form of a time series plot (see Figure 11.4) and the relative-to-benchmark performances as a bar plot (see Figure 11.5).
Clearly, both strategies out-performed the benchmark, albeit the low-𝛽 strat- egy did worse during roughly the first half of the out-of-sample period. The lower-tail-dependence strategy exceeded the benchmark consistently throughout the ex anteperiod except for eight data points and kept a slight edge at the sample end compared to the low-𝛽 strategy. The low-𝛽portfolio underperformed its benchmark
k k Rcode 11.3S&P 500: tail-dependence versus low-𝛽portfolio.
l i b r a r y ( FRAPO ) 1
l i b r a r y ( c o p u l a ) 2
# # S&P 500 3
d a t a ( INDTRACK6 ) 4
# # M a r k e t and A s s e t R e t u r n s 5
RM <− r e t u r n s e r i e s ( INDTRACK6 [ 1 : 2 6 0 , 1 ] , method = " d i s c r e t e " , 6
t r i m = TRUE) 7
RA <− r e t u r n s e r i e s ( INDTRACK6 [ 1 : 2 6 0 , −1] , method = " d i s c r e t e " , 8
t r i m = TRUE) 9
B e t a <− a p p l y (RA, 2 , f u n c t i o n ( x ) cov ( x , RM) / v a r (RM) ) 10
Tau <− a p p l y (RA, 2 , f u n c t i o n ( x ) c o r ( x , RM, method = " k e n d a l l " ) ) 11
# # C l a y t o n C o p u l a : Lower T a i l D e p e n d e n c e 12
T h e t a C <− c o p C l a y t o n @ i T a u ( Tau ) 13
LambdaL <− copClayton@lambdaL ( ThetaC ) 14
# # S e l e c t i n g S t o c k s b e l o w m e d i a n ; i n v e r s e l o g−w e i g h t e d and 15
scaled 16
I d x B e t a <− B e t a < m e d i a n ( B e t a ) 17
WBeta <− −1 ∗ l o g ( a b s ( B e t a [ I d x B e t a ] ) ) 18
WBeta <− WBeta / sum ( WBeta ) ∗ 100 19
# # TD 20
IdxTD <− LambdaL < m e d i a n ( LambdaL ) 21
WTD <− −1 ∗ l o g ( LambdaL [ IdxTD ] ) 22
WTD <− WTD / sum (WTD) ∗ 100 23
I n t e r s e c t i o n <− sum ( names (WTD) %i n% names ( WBeta ) ) / 24
l e n g t h ( WBeta ) ∗ 100 25
# # Out−o f−S a m p l e P e r f o r m a n c e 26
RMo <− r e t u r n s e r i e s ( INDTRACK6 [ 2 6 0 : 2 9 0 , 1 ] , method = " d i s c r e t e " , 27
p e r c e n t a g e = FALSE ) + 1 28
RAo<− r e t u r n s e r i e s ( INDTRACK6 [ 2 6 0 : 2 9 0 , −1] , method = " d i s c r e t e " , 29
p e r c e n t a g e = FALSE ) + 1 30
# # Benchmark 31
RMo [ 1 ] <− 100 32
RMEquity <− cumprod (RMo) 33
# # Low B e t a 34
L B E q u i t y <− RAo [ , I d x B e t a ] 35
L B E q u i t y [ 1 , ] <− WBeta 36
L B E q u i t y <− rowSums ( a p p l y ( LBEquity , 2 , cumprod ) ) 37
# # TD 38
TDEquity <− RAo [ , IdxTD ] 39
TDEquity [ 1 , ] <− WTD 40
TDEquity <− rowSums ( a p p l y ( TDEquity , 2 , cumprod ) ) 41
# # C o l l e c t i n g r e s u l t s 42
y <− c b i n d ( RMEquity , LBEquity , TDEquity ) 43
k k Rcode 11.4Plotting of wealth progression and relative performance.
# # Time s e r i e s p l o t s o f e q u i t y c u r v e s 1
p l o t ( RMEquity , t y p e = " l " , y l i m = r a n g e ( y ) , 2
y l a b = " E q u i t y I n d e x " , 3
x l a b = " Out−of−Sample P e r i o d s " ) 4
l i n e s ( LBEquity , l t y = 2 , c o l = " b l u e " ) 5
l i n e s ( TDEquity , l t y = 3 , c o l = " r e d " ) 6
l e g e n d ( " t o p l e f t " , 7
l e g e n d = c ( "S&P 500 " , "Low B e t a " , " Lower T a i l Dep . " ) , 8
l t y = 1 : 3 , c o l = c ( " b l a c k " , " b l u e " , " r e d " ) ) 9
# # Bar p l o t o f r e l a t i v e p e r f r m a n c e 10
R e l O u t <− r b i n d ( ( L B E q u i t y / RMEquity − 1 ) ∗ 1 0 0 , 11
( TDEquity / RMEquity − 1 ) ∗ 1 0 0 ) 12
R e l O u t <− R e l O u t [ , −1] 13
b a r p l o t ( RelOut , b e s i d e = TRUE , y l i m = c(−5 , 1 7 ) , 14
names . a r g = 1 : n c o l ( R e l O u t ) , 15
l e g e n d . t e x t = c ( "Low B e t a " , " Lower T a i l Dep . " ) , 16
a r g s . l e g e n d = l i s t ( x = " t o p l e f t " ) ) 17
a b l i n e ( h = 0 ) 18
box ( ) 19
0 5 10 15 20 25 30
100105110115
Out−of−Sample Periods
Equity Index
S&P 500 Low Beta Lower Tail Dep.
Figure 11.4 Progression of out-of-sample portfolio wealth.
k k
1 3 5 7 9 11 14 17 20 23 26 29
Low Beta Lower Tail Dep.
−5051015
Figure 11.5 Relative out-performance of strategies versus S&P 500.
in 11 out of 30 instances and delivered only for the first out-of-sample observation a portfolio value greater than the tail-dependent strategy, albeit only marginally.
Akin to the key measures in the previous example for quantitatively assessing port- folio allocations, a similar set of figures is computed in theRcode in Listing 11.5 for the low-𝛽 and minimum-tail-dependence portfolios. All key measures are computed by employing the facilities of the package PerformanceAnalytics. Because Listing 11.3 encompasses an out-of-sample part, the quantitative key figures are split into a block of “in-sample” and “out-of-sample” statistics. Within the former category the same set of statistics is computed as in Listing 11.2 and need no further elaboration.
The latter are related to the benchmark returns, except for the annualized returns of the two portfolio approaches. The out-of-sample performance is evaluated by means of the information ratio, the upside capture ratio, and downside capture ratio. A high value is desirable for the upside capture ratio and a low value for the downside cap- ture ratio. A reference for these statistics is provided in Bacon (2004, page 47). The computation of these statistics is assembled in the functionkm()and the outcome is assigned to the objectsLbKMandTdKMfor the low-𝛽 and lower-tail-dependent portfolios, respectively. The results are provided in Table 11.2.
With respect to the in-sample statistics the low-𝛽strategy is slightly less risky than the lower-tail-dependent allocation. However, the latter possesses a greater diversi- fication ratio and is less concentrated. The ex anteinformation ratio is greater for the tail-dependence strategy and also fares better in terms of the upside capture ratio, whereas the low-𝛽strategy has an edge over the former allocation with respect to the downside capture ratio.
k k Rcode 11.5Key measures of portfolio solutions for S&P 500.
l i b r a r y ( P e r f o r m a n c e A n a l y t i c s ) 1
# # Key m e a s u r e s ( e x p o s t ) 2
RAdec <− RA / 100 3
RALB <− RAdec [ , names ( WBeta ) ] 4
RATD <− RAdec [ , names (WTD) ] 5
L b S t d <− StdDev ( rowSums (RALB ∗ WBeta / 1 0 0 ) ) ∗ 100 6
T d S t d <− StdDev ( rowSums (RATD ∗ WTD / 1 0 0 ) ) ∗ 100 7
LbES95 <− a b s ( ES ( R = rowSums (RALB ∗ WBeta / 1 0 0 ) , 8
method = " g a u s s i a n " ) ) ∗ 100 9
TdES95 <− a b s ( ES ( R = rowSums (RATD ∗ WTD / 1 0 0 ) , 10
method = " g a u s s i a n " ) ) ∗ 100 11
LbDr <− d r ( WBeta , Sigma = cov (RALB) ) 12
TdDr <− d r (WTD, Sigma = cov (RATD) ) 13
LbCr <− c r ( WBeta , Sigma = cov (RALB) ) 14
TdCr <− c r (WTD, Sigma = cov (RATD) ) 15
# # Key m e a s u r e ( e x a n t e ) 16
LbRetO <− r e t u r n s e r i e s ( LBEquity , method = " d i s c r e t e " , 17
p e r c e n t = FALSE , t r i m = TRUE) 18
TdRetO <− r e t u r n s e r i e s ( TDEquity , method = " d i s c r e t e " , 19
p e r c e n t = FALSE , t r i m = TRUE) 20
BmRetO <− RMo[−1] − 1 21
t i m e A r t i f i c i a l <− t i m e S e q u e n c e ( f r om = " 1997−03−01 " , by = " 7 d " , 22
l e n g t h . o u t = l e n g t h ( LbRetO ) ) 23
LbRetO <− t i m e S e r i e s ( LbRetO , a s . D a t e ( t i m e A r t i f i c i a l ) ) 24
TdRetO <− t i m e S e r i e s ( TdRetO , a s . D a t e ( t i m e A r t i f i c i a l ) ) 25
BmRetO <− t i m e S e r i e s ( BmRetO , a s . D a t e ( t i m e A r t i f i c i a l ) ) 26
km <− f u n c t i o n ( pf , bm , s c a l e = 5 2 ) { 27
r a <− R e t u r n . a n n u a l i z e d ( pf , s c a l e = s c a l e ) ∗ 100 28
ap <− A c t i v e P r e m i u m ( pf , bm , s c a l e = s c a l e ) 29
t e <− s d ( p f − bm ) ∗ s q r t ( s c a l e ) 30
i r <− ap / t e 31
u p r <− UpDownRatios ( pf , bm , method = " C a p t u r e " , s i d e = "Up" ) 32
d n r <− UpDownRatios ( pf , bm , method = " C a p t u r e " , s i d e = "Down" ) 33
r e s <− c ( r a , i r , u p r , d n r ) 34
names ( r e s ) <− c ( " R e t u r n " , " IR " , " U p R a t i o " , " DownRatio " ) 35
r e t u r n ( r e s ) 36
} 37
LbKM <− km ( LbRetO , BmRetO ) 38
TdKM <− km ( TdRetO , BmRetO ) 39