Custom v. Standardized Risk Models
Zura Kakushadze§†1 and Jim Kyung-Soo Liew♯2
arXiv:1409.2575v3 [q-fin.PM] 15 May 2015
§
†
Quantigicr Solutions LLC
1127 High Ridge Road #135, Stamford, CT 06905
Free University of Tbilisi, Business School & School of Physics
240, David Agmashenebeli Alley, Tbilisi, 0159, Georgia
♯
The Johns Hopkins Carey Business School
100 International Drive, Baltimore, MD 21202
(September 8, 2014; revised: May 7, 2015)
Abstract
We discuss when and why custom multi-factor risk models are warranted
and give source code for computing some risk factors. Pension/mutual funds
do not require customization but standardization. However, using standardized risk models in quant trading with much shorter holding horizons is suboptimal: 1) longer horizon risk factors (value, growth, etc.) increase noise
trades and trading costs; 2) arbitrary risk factors can neutralize alpha; 3)
“standardized” industries are artificial and insufficiently granular; 4) normalization of style risk factors is lost for the trading universe; 5) diversifying risk
models lowers P&L correlations, reduces turnover and market impact, and
increases capacity. We discuss various aspects of custom risk model building.
Keywords: Risk model, multi-factor, risk factor, short horizon, quant trading,
style, industry, specific risk, factor risk, portfolio optimization
Zura Kakushadze, Ph.D., is the President of Quantigicr Solutions LLC and a Full Professor
at Free University of Tbilisi. Email:
[email protected]
2
Jim Kyung-Soo Liew, Ph.D., is an Assistant Professor in Finance at the Johns Hopkins Carey
Business School. Email:
[email protected]
1
1
Introduction
In most incarnations, multi-factor risk models for stocks (RM) are based on style
and industry risk factors. Industry factors are based on a similarity criterion, stocks’
membership in industries under a given classification (e.g., GICS, ICB, BICS, etc.).
Style factors are based on some estimated (or measured) properties of stocks. Examples of style factors are size [6], value and growth [4, 7, 20, 21, 28, 33, 36], momentum [3, 30], liquidity [2, 5, 44, 46], volatility [1], etc.3
Most commercial RM are standardized (SRM). Majority of their users are institutions with longer term holdings (mutual funds, pension funds, etc.). To these
users it is important that RM: i) contain fundamental longer horizon style risk
factors (value, growth, etc.), and ii) be standardized, so their risk reporting and
cross-institutional communications can be uniform. If a mutual fund risk report
says “Portfolio A has exposure B to the risk factor C under the risk model D”, its
pension-fund client knows what that means. Typically, such portfolios are broad
(low turnover allows lower cap/liquidity holdings) and fairly close to SRM coverage,
so universe customization is not critical. Standardization is a much higher priority.
Quant trading with shorter-term holding portfolios has opposite priorities. Such
strategies trade smaller universes of more liquid stocks (roughly, around 1,000-2,500
names), and these universes differ from strategy to strategy. Standardization is not
critical for typically in-house risk reporting. Customization is much more important
for a variety of reasons, which we discuss in more detail below. Here is a summary.
(1) Short v. Long Horizons. Strategies with shorter holding periods (e.g., statistical arbitrage and high frequency trading) do not benefit from longer horizon risk
factors (value, growth, etc.) – shorter-term returns are not highly correlated with
quantities such as book value, which updates quarterly and lacks predictive power
for holding horizons measuring in days or intraday. Moreover, when such risk factors
are included in regression or optimization of shorter-term returns, they add noise to
the holdings and trades, thereby increasing trading costs and reducing profitability.
(2) Inadvertent Alpha Neutralization. If, by design, some alphas are taking
certain risk exposure, optimization using SRM typically will (partially) neutralize
such alphas by producing a portfolio with more balanced risk exposure. E.g., if
alphas are intentionally skewed toward small cap value, optimization using SRM,
which typically contains “size” risk factor, will muddle such alphas by producing
a portfolio with more balanced larger cap exposure. In such cases it is important
to use custom RM (CRM) with the corresponding undesirable risk factors carefully
omitted.
(3) Insufficient Industry Granularity. SRM coverage universe USRM is “squeezed”
into a modest number of fixed standardized “industries” (SRMI). Typically this reduces industry granularity, which adversely affects hedging industry risk. Thus,
under a given industry classification (e.g., GICS, ICB, BICS, etc.), the true number
3
For an additional partial list (with some related literature), see, e.g., [8–19, 22–26, 29, 32, 34,
35, 37–43, 45, 47–50], and references therein. For a literature survey, see, e.g., [27].
1
of industries4 into which a given trading universe U falls can be sizably higher than
the number of SRMI. Also, different trading universes U1 and U2 fall into different
(numbers of) true industries, while in SRM they are classified into the same SRMI.
(4) Trading v. Coverage Universe. Restricting USRM to a substantially smaller
trading universe U yields side effects: i) for certain U one can have empty SRMI
(e.g., U contains no telecom stocks), with no option to omit them from the factor covariance matrix (FCM) computation;5 and ii) it spoils normalization of style factors
– those normalized across USRM , e.g., conformed to a (log-)normal distribution.
(5) Herd Effect. Overusing SRM makes alphas more correlated, so when a shop
blows up, it drags others with it (e.g., Aug’07 Quant Meltdown). This adversely
affects shorter holding trading. Longer horizon strategies simply weather the storm.
(6) Diversifying Risk Models Lowers P&L Correlations. When evaluating two
RM against each other (in regression or optimization of the same returns), one looks
at both A) the relative performance and B) P&L correlation. If the P&L correlation
is low enough, it is more optimal to run a combined strategy using both RM thereby
reducing portfolio turnover and market impact, and increasing capacity and P&L.
(7) Pros & Cons of Custom Risk Models. CRM further provide: (i) ability to
compute RM based on custom universes and add/subtract risk factors; (ii) transparency; (iii) flexibility with update frequency (daily, weekly, etc.) and integration
into test/production environments. However, the portfolio manager (PM) must
compute CRM as opposed to receiving a file from an SRM provider.6 Data required
to build CRM for shorter horizon trading is typically available to PM, albeit selfconsistently computing FCM and idiosyncratic risk (ISR) is not common knowledge.
We discuss the above points (1)-(7) in more detail below. Section 2 discusses
RM in general, differences in their use in regression and optimization, and point
(2). Section 3 discusses decoupling of time horizons relevant to point (1). Section 4
discusses points (3) and (4). We conclude in Section 5 by discussing points (5)-(7).
Appendix A contains R code for some style risk factors. Appendix B contains C
code for symmetric matrix inversion. Appendix C contains legal disclaimers.
2
Multi-factor Risk Models
In RM, a sample covariance matrix (SCM) Cij for N stocks, i, j = 1, . . . , N (computed based on time series of stock returns) is modeled by Γij given by
Γ ≡ Ξ + Ω Φ ΩT
Ξij ≡ ξi2 δij
4
(1)
(2)
Naming conventions vary by industry classification. “Industry” here refers to the most detailed level (i.e., the terminal branch) in a given classification tree (see Subsection 2.1 for details).
5
In fact, SRM sometimes may use a (small) subset U∗ of USRM to compute FCM – the required
historical data may not be available for the entire USRM . However, it may be (and typically is)
available for the trading universe U , so U , not artificial U∗ , should be used for computing FCM.
6
Principal components provide “customization” to some extent. However, see footnote 10.
2
where δij is the Kronecker delta; Γij is an N × N matrix; ξi is specific a.k.a. idiosyncratic risk (ISR) for each stock; ΩiA is an N × K factor loadings matrix (FLM); and
ΦAB is a K × K factor covariance matrix (FCM), A, B = 1, . . . , K. I.e., the random
processes Υi corresponding to N stock returns are modeled via N random processes
χi (ISR) together with K random processes fA (factor risk):
Υi = χi +
K
X
ΩiA fA
(3)
A=1
hχi , χj i = Ξij
hχi , fA i = 0
hfA , fB i = ΦAB
hΥi , Υj i = Γij
(4)
(5)
(6)
(7)
The main reason for replacing the sample covariance matrix Cij by Γij is that the offdiagonal elements of Cij typically are not expected to be too stable out-of-sample. A
constructed factor model covariance matrix Γij is expected to be much more stable
as the number of risk factors, for which FCM ΦAB needs to be computed, is K ≪ N.
Also, if M < N, where M + 1 is the number of observations in each time series,
then Cij is singular with M nonzero eigenvalues. Assuming all ξi > 0 and ΦAB is
positive-definite, then Γij is automatically positive-definite (and invertible).
2.1
Industry Risk Factors
RM can mix risk factors of different types. Typically, the most numerous factors are
industry factors. In its simplest incarnation, industry FLM Ωind
iA , A = 1, . . . , Kind is
a binary matrix of 1s and 0s indicating whether a stock belongs to a given industry:
Ωind
iA = δG(i),A
G : {1, . . . , N} 7→ {1, . . . , Kind }
N
X
Ωind
iA = NA
(8)
(9)
(10)
i=1
Kind
X
Ωind
iA = 1
(11)
A=1
where G is the map between stocks and industries, and NA > 0 is the number of
stocks in the industry labeled by A (we are assuming there are no empty industries).
More generally, we can allow each stock to belong to multiple industries (e.g., in
the case of conglomerates) with some weights ωiA :
X
Ωind
ωiB δAB
(12)
=
iA
X
B∈G(i)
ωiB = 1
B∈G(i)
3
(13)
where G(i) ⊂ {1, . . . , Kind } and |G(i)| ≡ ni need not be 1, albeit typically for most
stocks ni = 1, and (for conglomerates) ni 6= 1 is not a large number.
Binary Ωind
iA can be constructed from binary classifications such as GICS, ICB,
BICS, etc. Naming conventions for levels differ by classification, e.g., sector, subsector, industry, sub-industry, etc. “Industry” here means the most detailed level
in the classification tree. If there are too many industries (e.g., with small NA ), one
can “prune” the tree by merging (small) industries at higher levels, e.g., in the tree
“sector → sub-sector → industry”, industries are pruned at the sub-sector level.
2.2
Style Risk Factors
Industry factors are based on a similarity criterion: industry membership. Style risk
factors are based on some estimated (or measured) properties of stocks. Examples
of style factors are size, liquidity, volatility, momentum, growth, value, etc.
For illustrative purposes, let us discuss some style factors in more detail. In
Appendix A we give R code for size, liquidity, intraday volatility and momentum
style factors.7
• Size is a logarithm of market cap, normalized (conformed to normal distribution) – see R code in Appendix A. Note that ADRs are treated separately.
• Liquidity is a logarithm of the average daily dollar volume (ADDV),8 normalized similarly to size with ADRs treated separately – see Appendix A.
• Volatility style factor can be based on historical (relevant for longer-term models) or intraday (relevant for shorter-term models – see the next section) volatility.
One way to define intraday volatility is to use intraday high and low prices – see
Appendix A. The log of intraday volatility is normalized similarly to size.
• Momentum can be defined as a normalized average over D trading days of
d-trading-day moving-average returns (e.g., d = 5, D = 252)9 – see Appendix A.
• Value can be defined via a normalized book-to-price ratio (negative values
need to be dealt with). Growth requires earnings data. As discussed below, longer
horizon style factors such as value and growth do not add value in shorter horizon
strategies as book value and earnings data essentially are updated quarterly.
2.3
Factor Covariance Matrix and Specific Risk
Once FLM ΩiA is defined,10 FCM ΦAB and ISR ξi must be constructed. Straightforwardly computing FCM as a sample11 covariance matrix of the risk factors fA is
7
Legal disclaimers regarding this code are included in Appendix C.
E.g., over the past 20 trading days. One may prefer to take, say, last 3 months.
9
In the 0-th approximation, this is a D-day return. Removing outliers introduces d-dependence.
10
One can also use the first Kprin principal components (PC) of SCM Cij as columns in FLM
ΩiA . However, the out-of-sample instability in the off-diagonal elements of SCM is also inherited
by PC. Furthermore, if M < N , SCM is singular and only M PC are available. It is for these
reasons that style and industry factors are more widely used in practical applications.
11
Out-of-sample stability and singularity of FCM when M < K are issues to consider.
8
4
insufficient as ISR ξi computed using such sample FCM typically are ill-defined. Algorithms for consistently computing FCM and ISR usually are deemed proprietary.
2.4
Use of Factor Models
RM have a variety of uses, which are not limited to passively measuring risk exposures, but also include actively hedging such risks, e.g., by requiring that a portfolio
be neutral w.r.t. various risk factors and/or such risk exposures be optimized.12
Here we outline the usage of RM in regression and optimization.
2.4.1
Regression
Let Ri , i = 1, . . . , N be the stock expected returns. A weighted regression (without
intercept) of R over FLM Ω with weights zi is given by (in matrix notation):13
ε ≡ R − Ω Q−1 ΩT Z R
Z ≡ diag(zi )
Q ≡ ΩT Z Ω
e≡Z ε
R
(14)
(15)
(16)
(17)
Here εi are the residuals of the weighted regression. Also, note that the “regressed”
ei are neutral w.r.t. the K risk factors corresponding to ΩiA :
returns R
N
X
i=1
ei ΩiA = 0,
R
A = 1, . . . , K
(18)
If ΩiA includes the intercept (a unit vector) as one of its columns, then we have
N
X
ei = 0
R
(19)
ei
Di = −γ R
(20)
i=1
I.e., in this case the regressed returns are demeaned. The weights zi can be chosen
to be unit weights, or, e.g., zi ≡ 1/σi2 , where σi is some historical volatility of Ri .
ei , a simple mean-reversion strategy can be constructed via
Using R
where Di are the desired dollar holdings and γ > 0 is fixed via
N
X
i=1
12
13
|Di | = I
(21)
See, e.g., [31] for a recent discussion.
This is a cross-sectional regression; in R notations ε = residuals(lm(R ∼ Ω − 1, weights = Z)).
5
where I is the total desired investment level. The portfolio (20) is dollar neutral if
we have (19). For this weighted regression all we need is FLM ΩiA – FCM ΦAB is
not needed,14 nor is ISR ξi , albeit if the latter are known, they can be used (instead
of σi ) in the regression weights via zi ≡ 1/ξi2 (see [31] for details).
2.4.2
Optimization
In optimization, rather than requiring strict neutrality w.r.t. the risk factors, one
can require that risk exposure be optimized, albeit one can do both (see below). In
its simplest incarnation, optimization requires that the Sharpe ratio of the portfolio
(using the notations of the previous subsection)
PN
S = qP i=1
N
Di Ri
i,j=1 Cij Di Dj
→ max
(22)
Assuming no costs, constraints or bounds, the Sharpe ratio is maximized by
Di = ζ
N
X
Cij−1 Rj
(23)
j=1
where ζ is fixed via (21). In the RM context, one replaces Cij via Γij , which gives:15
!
N
K
X
ζ
Rj X
e−1
Di = 2 Ri −
ΩiA ΩjB Q
(24)
AB
2
ξi
ξ
j
j=1
A,B=1
eAB ≡ Φ−1 +
Q
AB
N
X
1
ΩiA ΩiB
ξ2
i=1 i
(25)
16
e−1 is the inverse of Q
eAB . The desired
where Φ−1
of ΦAB , and Q
AB is the inverse
AB
dollar holdings Di are not neutral w.r.t. the risk factors, nor are they dollar neutral.
Dollar and/or various risk factor neutrality can be achieved via optimization with
homogeneous linear constraints (see [31]). Note that to compute the desired dollar
holdings (24), we need not only FLM ΩiA , but also FCM ΦAB and ISR ξi . This is
a key difference between using RM in optimization vs. regression.
2.4.3
“Risk-taking” Alphas
While in optimization the resulting desired dollar holdings Di are not neutral w.r.t.
the risk factors, they are “approximately” neutral in the sense that the deviation
14
Rotating ΩiA by an arbitrary K × K nonsingular matrix UAB , Ω → Ω U , does not change
the regression residuals (14) or the risk neutrality conditions (18).
15
e −1 ΩT Ξ−1 .
This follows from the expression for the inverse of Γ: Γ−1 = Ξ−1 − Ξ−1 Ω Q
16
Appendix B contains C code for symmetric matrix inversion.
6
from neutrality is due to ISR. Indeed, from (24) we have
N
X
Di ΩiA = ζ
i=1
∆AB ≡ δAB +
N
X
Ri
ξi2
ΩiB ∆−1
BA
i=1
N
K
XX
i=1
1
ΦAC ΩiC ΩjB
2
ξ
i
C=1
(26)
(27)
e Let ΦAB ≡ κ Φ
b AB , and let us take the
where ∆−1 is the inverse of ∆ = Φ Q.
b AB = fixed. In this limit the factor risk dominates and ISR is
limit κ → ∞ with Φ
negligible, so optimization reduces to the weighted regression of the previous subsubsection (see [31] for details), and we have
N
X
i=1
Di ΩiA → 0
(28)
So, regression yields risk neutrality, while optimization produces approximate
risk neutrality. Either way, if the returns Ri have exposure to a risk factor, it
is either eliminated (regression) or substantially reduced (optimization). This has
important implications for using SRM in certain types of trading.
Thus, imagine that by design the returns Ri have desirable risk exposure, e.g., our
strategy could be deliberately skewed toward small cap value stocks, have exposure
to momentum, volatility, etc.17 If such a risk factor is included in FLM ΩiA , then
using the full FLM in regression and/or optimization would be to the detriment of
our alpha. In the regression we can simply omit the corresponding risk factor(s).
However, in the optimization merely omitting risk factors will not do – we also need
to recompute FCM and ISR anew based on the remaining risk factors, otherwise we
will get wrong predictions for the total risk:
X
(29)
ΩiA′ ΩiB′ ΦA′ B′ 6= Γii
Γ′ii ≡ ξi2 +
A′ ,B ′ ∈H
where H ⊂ {1, . . . , K} is the subset corresponding to the remaining risk factors. In
this case SRM simply will not do and CRM is required.
3
Decoupling of Time Horizons (Frequencies)
There is an important fundamental concept, which can be stated as decoupling
of time horizons (or, equivalently, frequencies or wavelengths). In a nutshell, what
17
Real-life alphas often have sizable exposure to risk – a real-life alpha is any reasonable expected
return. E.g., momentum strategies often have substantial exposure to risk. Furthermore, there
is no “perfect” risk model. Otherwise, there would only be mean-reversion caused by temporary
trading imbalances. For a complementary discussion, see, e.g., [34].
7
happens at time horizon T1 (or frequency f1 = 1/T1 ) is not affected by what happens
at time horizon T2 (or frequency f2 = 1/T2 ) if T1 and T2 are vastly different. By
time horizon we mean the relevant time scales. E.g., the time horizon for a daily
close-to-close return is 1 day. In terms of returns, the decoupling can be restated as
the returns for long-term horizons T1 being essentially uncorrelated with the returns
for short-term horizons T2 . Here is a simple argument.
3.1
Short v. Long Time Horizons
Here is a simple argument for a single stock (or security). Consider a time interval
from time t0 to time tM > t0 . Let us divide it into M intervals t0 , t1 , . . . , tM −1 , tM .
For simplicity, we can assume that these intervals are uniform, ts = t0 + s ∆t,
s = 0, . . . , M, albeit this is not critical here. Let the stock prices at times t = ts be
P (ts ). Let us define the return from time t to time t′ as
P (t′ )
′
R(t, t ) ≡ ln
(30)
P (t)
Then we have
e ≡ R(t0 , tM ) =
R
Rs ≡ R(ts−1 , ts )
M
X
Rs
(31)
s=1
(32)
Now let us ask the following question. How correlated is the return RM for the
e for the entire period (i.e.,
most recent period (i.e., tM −1 to tM ) with the return R
t0 to tM )? To define a “correlation”, we need multiple observations. So, we hang
yet another index onto our returns, call it α, where α = 1, . . . , p labels different
periods tα0 to tαM , each consisting of M periods (tαs−1 to tαs , s = 1, . . . , M), and we
α
wish to compute the correlation between the return for the last such period RM
and
α
e
the return for the entire such period R , and α (not s) labels the series (which is a
time series) over which the correlation is computed. For simplicity, we can assume
that the periods labeled by α are “tightly packed”, i.e., tα−1
= tαM −1 , albeit this is
M
not crucial here. We then have p + M time points τr , r = 0, 1, . . . , p + M − 1 and,
br , r = 1, . . . , p + M − 1, where
consequently, p + M − 1 returns R
τr ≡ t0 + r ∆t, r = 0, 1, . . . , p + M − 1
P (τr )
b
Rr ≡ ln
, r = 1, . . . , p + M − 1
P (τr−1 )
bs+α−1 , s = 1, . . . , M, α = 1, . . . , p
Rα = R
s
eα =
R
MX
+α−1
r=α
br
R
8
(33)
(34)
(35)
(36)
Note that p can be much larger than M, in fact, we will assume this to be the case.18
With the covariance h∗, ∗i defined as above, we have
!2
p
p
X
X
1
1
bs+α−1
b2
σs2 ≡ hRs , Rs i =
R
≈ σ2
(37)
R
−
p α=1 s+α−1 p2 α=1
where
p
X
p
1
1 X b2
Rr − 2
σ2 ≡
p r=1
p
r=1
br
R
!2
(38)
and we have used the fact that p ≫ M, which implies that all M variances σs2 are
approximately the same. We then have
hRs , Rs′ i ≡ σs σs′ Ψss′ ≈ σ 2 Ψss′
M
M
X
X
e Ri
e =
Ψss′
hRs , Rs′ i ≈ σ 2
hR,
M
X
(40)
s,s′ =1
s,s′ =1
e =
hRs , Ri
(39)
hRs , Rs′ i ≈ σ
s′ =1
2
M
X
Ψss′
(41)
s′ =1
where Ψss′ is the M × M correlation matrix of returns Rs , and Ψss = 1. We have
PM
1 + ψs
Ψss′
′
e
=q
(42)
ρs ≡ Cor(Rs , R) ≈ qPs =1
PM
M
′
Ψ
ψ
M
+
s,s′ =1 ss
s=1 s
where
ψs ≡
X
s′ ∈J
Ψss′
(43)
s
and Js ≡ {1, . . . , M} \ {s}.
Because we have M ≪ p, the matrix Ψss′ is approximately “self-similar” in the
sense that all m × m sub-matrices of Ψss′ with s, s′ ∈ {k, k + 1, . . . , k + m − 1},
k = 1, . . . , M − m + 1 and 1 < m < M (i.e., for each m there are M − m + 1
such sub-matrices) are approximately the same. Put differently, Ψss′ approximately
depend only on the difference s − s′ , and, in fact, only on |s − s′ | since Ψss′ is
symmetric. Let Ψs,1 ≡ ηs−1 , s > 1. Then we have Ψss′ ≈ η|s−s′| , s 6= s′ , and
ψM ≈
M
X
s=1
M
−1
X
ηs
(44)
s=1
ψs ≈ 2
M
−1
X
s=1
18
(M − s) ηs
(45)
To illustrate, if, say, ∆t is 1 day, then we are computing the correlation of the M -day moving
α
1 eα
average return R ≡ M
R with the last daily return in the moving average, and we have p rolling
periods like this. We have p + M dates and, consequently, p + M − 1 daily returns.
9
To estimate the correlation ρM , we need to make some assumptions about the correlations ηs . A reasonable assumption is that the correlations Ψss′ decay as |s − s′ |
′
grows. E.g., we can assume that |Ψss′ | ≤ λ|s−s | for some positive λ < 1, or, equivalently, that ηs = ηes λs , s = 1, . . . , M − 1, where |e
ηs | ≤ 1. We then have
ψM ≈ f (λ) ≡
M
X
s=1
M
−1
X
s=1
ηes λs
ψs ≈ 2 [M f (λ) − λ f ′ (λ)]
f ′ (λ) ≡
∂f (λ)
∂λ
(46)
(47)
(48)
and our correlation ρM reads
We also have
ρM ≈ p
1 + f (λ)
M [1 + 2 f (λ)] − 2λ f ′ (λ)]
λ
λ − λM
≈
|f (λ)| ≤
1−λ
1−λ
1
1
+
(M
−
1)
λM − M λM −1
≈
|f ′(λ)| ≤
(1 − λ)2
(1 − λ)2
(49)
(50)
(51)
where we have taken into account that M ≫ 1.
So, if f (λ) ≥ 0, we have (assuming M is large)
0 < ρM <
∼
1
√ ≪1
(1 − λ) M
(52)
and for positive f (λ) the bound is even tighter.
What about f (λ) < 0? First, note that ρM is still positive – for it to become
negative, the argument of the square root in the denominator in (49) would become
negative, which is not possible (see below). However, for negative f (λ) a priori it
might appear that ρM need not be small as the denominator in (49) could become
small when f (λ) = −1/2 + ǫ, where 0 < ǫ ∼ 1/M. Nonetheless, this cannot be the
case if there is randomness in the returns Rs . Indeed, we have19
e Ri
e ≈ σ2
hR,
M
X
s,s′ =1
Ψss′ ≈ σ 2 (M [1 + 2 f (λ)] − 2λ f ′ (λ)])
(53)
So, the argument of the square root in the denominator of (49) is (up to σ 2 ) the
e for the period tM −t0 = M ∆t. If there is randomness in the
variance of the return R
19
e Ri
e would be negative considering M ≫ 1.
Note that ρM > 0 unless f (λ) ≤ −1, for which hR,
10
e Ri
e should scale linearly with tM − t0 and, consequently,
returns Rs , the variance hR,
with M. If this variance were of order σ 2 , this would imply that the returns Rs are
highly anti-correlated with each other and the entire process is highly deterministic.
Put differently, there would be essentially no dispersion in this case. Under normal
e Ri
e
circumstances, where we have randomness in the returns Rs , the variance hR,
should be of order M σ 2 . If there are any negative correlations ηs , they are offset
e Ri
e ∼ M σ 2 and we have (52).
by other positive correlations so that hR,
The upshot is – this is a generalization of our example above – that quantities
with long time horizons have low correlations with quantities with short horizons.
What happens, say, at milliseconds gets diluted by the time one gets to, say, monthlong horizons – and this dilution is due to the cumulative effect of everything that
transpires in between such vastly different time scales. Randomness plays a crucial
role in this dilution. If things were deterministic, such dilution would not occur.20
3.2
Implication for Risk Factors
A practical implication of the above discussion is that care is needed in choosing
which risk factors to use in RM depending on what the time horizons of the strategies
are for which RM is used. If these horizons are short, then risk factors such as value
and growth, whose underlying fundamental data updates quarterly, should not be
used as they add no value in short holding (a few days, overnight, intraday, etc.)
strategies. Here is a simple argument. Consider high frequency trading at, say,
millisecond time scales. Does book value make a difference to such trading? The
answer is no. What is relevant here is the market microstructure at the millisecond
timescales (bid, ask, bid and ask sizes, order book depth, hidden liquidity, posting
orders fast on different exchanges, whether the trader’s collocation is close to the
exchange connectivity hub, etc.).21 Whether the book value for stock XYZ is $100M
or $1B does not directly affect the market microstructure at millisecond time scales.22
On the other hand, quantities such as liquidity and market cap23 do affect market
microstructure. E.g., liquidity affects typical bid/ask sizes, print sizes, etc. More
precisely, liquidity computed based on, say, 20-trading-day ADDV indirectly relates
to such “micro” quantities because of the expected linear scaling of volumes.24 I.e.,
even though ADDV is computed using longer horizons, it is a relevant risk factor
20
This is “analogous” to what happens in quantum mechanics and quantum field theory. We put
the adjective “analogous” in quotation marks because a stochastic process described by Brownian
motion is nothing but Euclidean quantum mechanical particle, so the “analogy” is in fact precise.
21
Similarly, growth does not add value in this context either. This is not to say that, e.g.,
earnings are not important in short-term trading. However, the way to implement them is via
monitoring earnings announcements and, e.g., not trading stocks immediately following their earnings announcements, not by using growth style factor in, say, intraday regressions or optimization.
22
Arguably, there might be higher-order indirect effects via the book value affecting liquidity
and market cap (see below). However, such higher-order effects are expected to be lost in all the
noise. They might be ephemerally amplified around the time book value is updated (quarterly).
23
Market cap is relevant primarily because it is highly correlated with liquidity.
24
One can directly measure intraday liquidity based on “micro” quantities, which is more
11
for shorter horizon strategies precisely because of the aforementioned linear scaling
of volumes, allowing an extrapolation from longer to shorter horizons.
Similarly, volatility is a relevant style factor. Typically, it is computed as historical volatility of, say, close-to-close returns. As an extrapolation – based on the
assumption that historically more volatile stocks are also more volatile intraday –
one can use this style factor for shorter horizon strategies. Preferably, one can also
define volatility style factor based on shorter horizons (e.g., intraday; see Section 2).
So, conceptually, if the underlying quantity (e.g., book value or earnings) has
a long time horizon (i.e., changes, say, quarterly), then the corresponding risk factors are not relevant for shorter horizon strategies (e.g., those involving overnight
returns),25 unless there is a linear extrapolating argument that reasonably relates
such longer term quantities to their shorter term counterparts (as, e.g., in the case
of liquidity). More technically, suppose we have K factors we know add value. How
do we determine if a new, (K + 1)-th, factor adds value?26 Here is a simple method.
Thus, suppose we have N stocks and we have FLM ΩiA , i = 1, . . . , N, A =
1, . . . , K. Let Ω′iA′ , i = 1, . . . , N, A′ = 1, . . . , K ′ , K ′ ≡ K + 1 be new FLM once we
add a new, (K + 1)-th, risk factor. (So we have Ω′iA′ |A′ =A = ΩiA , A = 1, . . . , K.)
Let Ri be the returns used in our strategy, i.e., these returns have the time horizon
relevant to our strategy.27 We can run two regressions (without intercept – unless
it is included in ΩiA ), first Ri over ΩiA , and second Ri over Ω′iA′ . In R notations:
R ∼ −1 + Ω
R ∼ −1 + Ω′
(54)
(55)
In actuality, Ri , ΩiA and Ω′iA′ are time series: Ri (ts ) ≡ Rsi , ΩiA (ts ) ≡ ΩsiA ,
Ω′iA′ (ts ) ≡ Ω′siA′ , s = 0, 1, . . . , M. We can run the above two regressions for each
value of s and look at, e.g., two time-series vectors of the regression F-statistic to
assess if the new risk factor improves the overall F -statistic.28 Alternatively, we can
bσ of length (M + 1)N (i.e., treat
pull the (M + 1) × N matrix Rsi into a vector R
b σA ,
the index pair (s, i) as a single index σ), and do the same with FLM: ΩsiA ≡ Ω
b ′ ′ . We can now run two regressions
Ω′siA′ ≡ Ω
σA
b ∼ −1 + Ω
b
R
b ∼ −1 + Ω
b′
R
(56)
(57)
tedious. Typically, ADDV based computation reasonably agrees with such “micro” computation.
25
Conversely, value-based longer horizon strategies would not benefit from any risk factors
based on “micro” quantities with, say, millisecond horizons. E.g., statistical arbitrage strategies
have high turnover as they attempt to capture intraday mean-reversion effects due to market over/under-reactions to news events, etc. Value based strategies have very low turnover given that
periods of extreme mispricings seldom occur (e.g., ’87 Crash, ’08 Meltdown).
26
In the next section we discuss why no-value-adding factors can increase trading costs.
27
E.g., Ri are overnight returns, we obtain alphas from these returns by regressing them (possibly, with some weights) over some FLM, and then we trade on these alphas right after the open.
28
To improve statistical significance, outliers can be removed (or smoothed, e.g., Winsorized).
12
and compare the F-statistic.29 If K is not large, it is also informative to compare
the t-values of the regression coefficients and assess the effect of the new factor.
For illustrative purposes, we ran such regressions for overnight returns Ri ≡
log(Pi (topen )/Pi (tclose )), where the open Pi (topen ) and the previous close Pi (tclose )
prices are adjusted for splits and dividends. In the case of, say, book value, as a
benchmark it suffices to consider a K = 1 model, where the sole risk factor is the
intercept. Then we add the second risk factor, which is (log of) book (or tangible
book, price-to-book, etc.),30 so K ′ = 2. The regression F-statistic and t-values
are given in Table 1 (for regressions (56) and (57)), which shows that the second
regression (57) involving (tangible) book value does not have improved statistic over
the intercept-only regression. The 1-factor regressions other than the interceptonly regression can be thought of as regressions over “betas”. The log(Prc/Book)
case (see Table 1) is the closest to the intercept-only case because the regression
Prc ∼ −1 + Book has F-statistic 56,230, and the t-value 237.1, i.e., price and book
value are highly correlated. As to the 2-factor regressions, (T)Book does not improve
the statistic. It is log(Prc) that makes impact, precisely because prices change daily.
We also ran the (56) and (57) regressions with a K = 10 model as a benchmark,
where the risk factors are 10 BICS sectors31 (so K ′ = 11). The results are given
in Table 2, which shows that book value does not improve regression statistic. As
above, it is log(Prc) that provides improvement. We also ran the (54) and (55)
regressions separately for each date (i.e., without pulling the index pair (s, i) into a
single index σ – see above) with the same K = 10 benchmark. The results are given
in Table 3 and agree with those in Table 2. Log(Prc), not Book, has impact.
Finally, for the (54) and (55) regressions we computed the t-statistic of actual
risk factor time series a la Fama and MacBeth [23], both for the K = 1 (intercept
only) and K = 10 (BICS sectors) benchmark factor models. The results are given
in Table 4 and Table 5 and agree with those in Table 1, Table 2 and Table 3.
4
4.1
Pitfalls of Standardized Risk Models
Industry Risk Factors
Suppose we have an industry classification. For our discussion below it will make
no difference whether FLM Ωind
iA , A = 1, . . . , Kind is binary or some conglomerates
are allowed, so for simplicity we will assume it to be binary (see Subsection 2.1):
Ωind
iA = δG(i),A
29
(58)
When assessing F-statistic, it needs to be taken into account that we have (K + 1) vs. K
factors, as is a possible change in the number of observations per factor due to any NAs.
30
We used fundamental data from stockpup.com (accessed 07/28/2014) and pricing data from
finance.yahoo.com (accessed 07/29/2014) from 06/18/2009 through 06/20/2014 for a universe of
493 stocks, essentially from S&P500. Negative (tangible) book values were omitted for the entire
backtesting period.
31
Stocks rarely jump industries let alone sectors, so sector assignments are robust against time.
13
For definiteness, let us fix the names of the industry tree levels as “sectors → subsectors → industries”, so “industries” correspond to the most detailed level. The
number of the industries Kind depends on the universe. Different universes U1 and
U2 can have vastly different industries to which the corresponding stocks belong.
In SRM a large number of stocks (e.g., several thousand for the U.S. models) are
∗
“squeezed” into a relatively modest number Kind
of standardized industries, which
can be substantially smaller than the number of true industries Kind for a typical
quantitative trading portfolio universe of, say, 1,000-2,500 names. So, standardized
industries typically lose granularity, which determines how well RM helps hedge a
portfolio against industry risk. For illustrative purposes, let us look at the number
of true industries for top-by-market-cap portfolios in BICS.32 We require at least 10
stocks in each industry. Small industries are pruned to the sub-sector level and, if
need be, to the sector level. Any leftover small industries can be merged into larger
industries. The result is given in Table 6. The numbers of true industries for top
1,500+ universes are sizably higher than those of typical standardized industries.
4.2
Empty Standardized Industries
Furthermore, for any given universe U, even if U is, say, 1,000-2,500 names, we can
have (almost) empty standardized industries – e.g., a portfolio that does not trade
any stocks from a given (sub-)sector. Empty standardized industries would have
been omitted had we built RM based on the custom universe U. In SRM we have
no such option, so we must keep empty industries. Why is this so bad?
Style factors are not important for our discussion here, so let us consider RM
with only industry factors. Let these be K standardized binary industries. Let the
risk model universe be USRM , and let our universe be U ⊂ USRM . Let FLM be ΩiA ,
i ∈ {1, . . . , N} ≡ U. Let some industries be empty with NA = 0, where
NA ≡
N
X
ΩiA =
i=1
N
X
δG(i),A
(59)
i=1
Such industries must be omitted from regressions, if this is how we use RM.
On the other hand, suppose we are doing optimization, and we cannot omit such
empty industries. Let J ≡ {A|NA > 0} and J ′ ≡ {A|NA = 0}. We have
X
Γij = ξi2 δij +
ΩiA ΩjB ΦAB = ξi2 δij + ΦG(i),G(j)
(60)
A,B∈J
b = |J| < K, yet FCM ΦAB is computed
The number of risk factors in this model is K
b
based on K factors. So, from the viewpoint of the universe U, there are |J ′ | = K − K
“hidden” factors, to which U has no exposure, yet they affect the covariance matrix
32
BICS naming convention is “sectors → industries → sub-industries”, so our “industries”
correspond to BICS “sub-industries”, and our “sub-sectors” correspond to BICS “industries”.
14
Γ. This does not bode well with the RM premise that all covariances are explained
by a combination of: i) some fixed risk factors, exposure to which for a given universe
of stocks is well-defined; and ii) ISR, which describes all uncertainty not described
by the risk factors. Based on this premise, the correct way of modeling risk for our
b risk factors and compute FCM Φ
b AB ,
universe U would be to assume that we have K
A, B ∈ J for these factors along with the corresponding ISR ξbi , i.e., to have
X
b G(i),G(j)
b AB = ξb2 δij + Φ
bij ≡ ξb2 δij +
(61)
ΩiA ΩjB Φ
Γ
i
i
A,B∈J
b AB are
At first it might appear that (60) and (61) are identical – if ΦAB and Φ
b AB =
computed as SCM of the corresponding risk factors, then we should have Φ
ΦAB , A, B ∈ J. However, as mentioned in Subsection 2.3, in real life FCM is not
computed as SCM, because ISR with such a computation are typically ill-defined.
b AB 6= ΦAB , A, B ∈ J and ξbi 6= ξi . Because of this interdependency
Consequently, Φ
b AB and ξbi directly based on the
of FCM and ISR, it is more desirable to compute Φ
universe U without any empty industries – the latter only bring more noise into the
computation. Any uncertainty not described by the relevant risk factors should be
modeled via ISR, not some “hidden” risk factors.
That empty industries, to which the universe U has no exposure, add noise can
be seen in the optimization context – they contribute to the desired dollar holdings
(24) via (25).33 The effect is that the desired dollar holdings are approximately
neutralized against these “hidden” industries (see (26) and (27)).34 Typically, this
generates additional noise (“twitch”) trades, which on paper may appear harmless,35
but in real life can increase trading costs and reduce profitability, rendering empty
industries undesirable. The same argument applies to irrelevant style factors (e.g.,
value/growth in short horizon strategies; see Section 3.2), rendering them harmful.36
4.3
Style Risk Factors
Some – albeit not necessarily all37 – style factors are normalized. One way of normalizing a style factor labeled by A ∈ {1, . . . , K} is by conforming the values of the
33
FCM and ISR must be recomputed based on non-empty industries to remove this contribution.
These “hidden” industries might be correlated with the non-empty industries. However, such
correlations should not be high – if they are high, then the industry classification is too granular (or
deficient) and must be pruned (or replaced with a more precise industry classification). Including
redundant noise-generating industries in RM is certainly not the right way to handle such cases.
35
On paper such noise trades typically have little effect on the simulated P&L, but can reduce
the Sharpe ratio – if the approximate neutrality constraints effected by these empty industries do
not add value, then the portfolio is suboptimal, i.e., it does not maximize the Sharpe ratio.
36
This brings us to another point we made in Introduction: in SRM typically FCM is computed
based on some universe U∗ , a fraction of USRM . For the same reasons as above, it is preferable to
compute FCM based on the trading universe U as U∗ may not have substantial overlap with U .
37
E.g., style factors with discrete values are not normalized. An example is a binary style factor
in some SRM indicating whether the stock belongs to the universe U∗ defined above.
34
15
A-th column in FLM ΩiA to a normal distribution with, e.g., mean 0 and standard
deviation equal to the standard deviation (or MAD) of the original, unnormalized
column. This is done in the R code in Appendix A for momentum, size and liquidity. If the distribution is expected to be log-normal, then one normalizes log of the
column and re-exponentiates. This is done for intraday volatility in the R code in
Appendix A.
Such normalizations of style factors are typically done across the entire coverage
universe USRM . Suppose we wish to use SRM for our universe U, which is a fraction
of USRM . Then the values of the corresponding columns in ΩiA with i ∈ U are
no longer normalized. For a random subset U ⊂ USRM one may expect that they
are still approximately normalized if the number of stocks in U is large. However,
typically there is nothing random about a real-life trading universe U, which is
carefully selected based on certain requirements on market cap, liquidity, volatility,
price and/or other relevant quantities, which can be rather skewed, so the truncated
to U style factor columns in ΩiA are no longer even approximately normalized. Why
does this matter? If FCM is computed based on normalized style factors (be it using
USRM or U∗ ), then this FCM is not the same (or even necessarily close to) FCM one
would obtain based on style factors normalized based on U. This also affects ISR.
Therefore, for the same reasons as in the previous subsection, it is more desirable
to compute FLM, FCM and ISR based on the custom universe U.
5
Concluding Remarks
Above we discussed points (1)-(4) raised in Introduction in relation to using SRM
and when and why CRM are warranted. Let us conclude by briefly touching upon
points (5)-(7) mentioned in Introduction, which relate to other aspects.
Statistical Arbitrage (StatArb) “refers to highly technical short-term meanreversion strategies involving large numbers of securities (hundreds to thousands, depending on the amount of risk capital), very short holding periods (measured in days
to seconds), and substantial computational, trading, and information technology
(IT) infrastructure” [38]. A quantitative framework for this “mean-reversion” was
recently discussed in [31]. Schematically, one can think about this mean-reversion
as follows. Pick some returns. Pick RM. Then: i) either regress your returns over
FLM (or a subset of its columns) with some weights, or ii) do optimization using
RM (possibly with some constraints). One can hang various bells and whistles onto
a strategy constructed this way, which do contribute into differentiating models.
Nonetheless, the choice of RM is a major factor (along with the choice of returns)
in what the desired holdings and trades will look like. As discussed in Section 2.4.3,
in optimization desired holdings are approximately neutral w.r.t the risk factors,
while in regression they are exactly neutral. So RM, in its uses discussed above,
factors away (completely or approximately) the risk exposure in the returns w.r.t.
the risk factors. Therefore, using the same RM for two sets of apparently different
16
returns can substantially reduce the difference between the two – when it comes to
the resulting desired holdings – making the two strategies more correlated.
Therefore, to diversify strategies it is not only important to diversify the returns,
but also to diversify RM. This is especially useful in the “herd effect” situations,
where many market participants – for whatever (temporary) underlying reason (cf.
Aug’07 Quant Meltdown) – are “compelled” to do the same thing. When it comes to
unpleasant situations such as potential book liquidation, being less correlated with
others can make a difference between liquidating (and incurring huge transaction
costs) or weathering the storm. Custom RM in such cases can make a difference.
We can take this further by noting that, even with the same returns, two substantially different RM, call them RM-A and RM-B, can produce P&L streams which
are not that highly correlated. In this case, instead of running one strategy with the
returns, say, optimized using only RM-A, it makes more sense to run two strategies
– seamlessly, with trades crossed internally at the level of desired holdings, i.e., the
two strategies are combined with some weights wA and wB (see below) – where the
first strategy, call it Str-A, is optimized using RM-A, and the second strategy, call
it Str-B, is optimized using RM-B. If both strategies have positive returns and are
not too highly correlated, then even if Str-B has worse return than Str-A, it still
makes sense to combine them with some weights. In the zeroth approximation the
weights wA and wB can be obtained, e.g., by requiring that the Sharpe ratio of
the resulting combined strategy be maximized. However, in real life – so long as
the Sharpe ratio is acceptably high – typically it is the P&L that matters. In this
regard, combining the two strategies can increase the P&L as the capacity bound
of the combined strategy is higher (than those of Str-A and Str-B) – the Str-A and
Str-B trades are not highly correlated and by combining them one reduces turnover,
thereby decreasing market impact and increasing capacity, and also decreasing costs
of trading. Turnover reduction and increasing capacity are two important incentives
for diversifying and using CRM.
Finally, let us mention that CRM provide additional evident benefits listed in
point (7) in Introduction. Also, for shorter-term applications (which is precisely
when CRM are warranted), which do not require long lookbacks or nontrivial fundamental data (such as earnings going back many years), the data required for
building a CRM is typically already available to the portfolio manager. All in all,
it boils down to computing FCM and ISR in a self-consistent fashion.
A
R Code for Some Style Risk Factors
Below we give R code for 4 style factors (function calc.add.fac()): momentum,
liquidity, size and intraday volatility. All uninformative dependencies have been
omitted. The code is unaltered otherwise. (Functions normalize(), calc.sr(),
calc.eff.mad(), calc.ret.mv() and calc.ret.mv.clean() are auxiliary.) Below:
is.adr is a binary N-vector (N is the number of stocks); hist.prc, hist.vol,
17
hist.high, hist.low, hist.cap are d × N matrices (d is the number of trading
dates in the historical data) – historical closing price, daily volume, daily high, daily
low (all adjusted – this is necessary for momentum, albeit not for liquidity or intraday volatility), and market cap, respectively; dates is the vector of the last 252
trading dates. ADRs are normalized independently. days is the lookback (e.g., 252
trading days), while back is for out-of-sample backtesting (and is 0 for current-date
calculations); both days and back are passed into calc.add.fac() via the omitted
arguments.
normalize <- function(x, center = mean(x), sdev = sd(x)){
return(qnorm(ppoints(x)[sort.list(sort.list(x), method = ’’radix’’)],
center, sdev))
}
calc.sr <- function(tv){
sr <- sqrt(tv)
sr <- log(sr)
sr <- normalize(sr, median(sr), mad(sr))
sr <- exp(sr)
return(sr)
}
calc.eff.mad <- function(ret){
eff.mad <- (5 * outer(apply(ret, 1,
mad, na.rm = T), apply(ret,
2, mad, na.rm = T), pmax))
return(eff.mad)
}
calc.ret.mv <- function(prc, back, days, d.r){
last <- nrow(prc) - back
first <- last - days
today <- prc[last:first, ]
yest <- 0
for(i in 1:d.r)
yest <- yest + prc[(last - i):(first - i), ]
yest <- yest / d.r
ret <- today/yest - 1
dimnames(ret) <- dimnames(prc[last:first, ])
return(ret)
}
calc.ret.mv.clean <- function(prc, back, days, d.r){
ret <- calc.ret.mv(prc, back, days, d.r)
eff.mad <- calc.eff.mad(ret)
bad <- abs(ret - apply(ret, 1, median)) > eff.mad
ret[bad] <- NA
18
avg.ret <- matrix(rowMeans(ret, na.rm = T),
nrow = nrow(ret), ncol = ncol(ret))
ret[bad] <- avg.ret[bad]
ret <- ret - avg.ret
return(ret)
}
calc.add.fac <- function(...){
### MOMENTUM MOVING AVERAGE LENGTHS
d.r <- 5
### ADDV MOVING AVERAGE LENGTHS
d.addv <- 20
### MOMENTUM FACTOR
### BASED ON AVERAGE 5-DAY RETURNS (OUTLIERS REMOVED)
ret.mom <- calc.ret.mv.clean(hist.prc, back, days, d.r)
mom <- apply(ret.mom, 2, mean)
mom <- normalize(mom, 0, mad(mom))
### AVERAGE DAILY DOLLAR VOLUME (ADDV) FACTOR
### BASED ON LAST 20 DAYS
### ADRS ARE NORMALIZED ACCORDING TO NON-ADR DISTRIBUTION
not.adr <- !is.adr
addv <- hist.prc[dates, ] * hist.vol[dates, ]
addv <- addv[1:d.addv, ]
addv[addv == 0] <- NA
addv <- colMeans(log(addv), na.rm = T)
addv[is.adr] <- normalize(addv[is.adr], 0, mad(addv[not.adr]))
addv <- normalize(addv, 0, mad(addv[not.adr]))
### MARKET CAP FACTOR
### BASED ON 252 DAYS
### ADRS ARE NORMALIZED ACCORDING TO NON-ADR DISTRIBUTION
mkt.cap <- hist.cap[dates, ]
mkt.cap[mkt.cap == 0] <- NA
mkt.cap <- colMeans(log(mkt.cap), na.rm = T)
mkt.cap[is.adr] <- normalize(mkt.cap[is.adr], 0, mad(mkt.cap[not.adr]))
mkt.cap <- normalize(mkt.cap, 0, mad(mkt.cap[not.adr]))
### INTRADAY VOLATILITY FACTOR
### BASED ON 252 DAYS
hist.low <- hist.low[dates, ]
hist.high <- hist.high[dates, ]
hist.prc <- hist.prc[dates, ]
19
high.low <- abs(hist.high - hist.low) / hist.prc
high.low <- calc.sr(colMeans(high.low^2))
}
B
C Code for Symmetric Matrix Inversion
The vector a[] is a symmetric n × n matrix Aij to be inverted pulled into a vector
such that Aij , i, j = 0, 1, . . . , n−1 is given by a[i + n * j]. This algorithm utilizes
the fact that the matrix is symmetric thereby reducing the number of operations
(compared with the Gauss-Jordan method for a general matrix).
static void InvSymMat(double *a, int n){
int i, j, k;
double sum;
for( i = 0; i < n; i++ )
for( j = i; j < n; j++ )
{
sum = a[i + n * j];
for( k = i - 1; k >= 0; k-- )
sum -= a[i + n * k] * a[j + n * k];
a[j + n * i] =
( j == i ) ?
1 / sqrt(sum) :
sum * a[i * (n + 1)];
}
for( i = 0; i < n; i++ )
for( j = i + 1; j < n; j++ )
{
sum = 0;
for( k = i; k < j; k++ )
sum -= a[j + n * k] * a[k + n * i];
a[j + i * n] = sum * a[j * (n + 1)];
}
for( i = 0; i < n; i++ )
for( j = i; j < n; j++ )
{
sum = 0;
for( k = j; k < n; k++ )
20
sum += a[k + n * i] * a[k + n * j];
a[i + n * j] = a[j + n * i] = sum;
}
C
}
DISCLAIMERS
Wherever the context so requires, the masculine gender includes the feminine and/or
neuter, and the singular form includes the plural and vice versa. The author of this
paper (“Author”) and his affiliates including without limitation Quantigicr Solutions LLC (“Author’s Affiliates” or “his Affiliates”) make no implied or express
warranties or any other representations whatsoever, including without limitation
implied warranties of merchantability and fitness for a particular purpose, in connection with or with regard to the content of this paper including without limitation
any code or algorithms contained herein (“Content”).
The reader may use the Content solely at his/her/its own risk and the reader
shall have no claims whatsoever against the Author or his Affiliates and the Author
and his Affiliates shall have no liability whatsoever to the reader or any third party
whatsoever for any loss, expense, opportunity cost, damages or any other adverse
effects whatsoever relating to or arising from the use of the Content by the reader
including without any limitation whatsoever: any direct, indirect, incidental, special, consequential or any other damages incurred by the reader, however caused
and under any theory of liability; any loss of profit (whether incurred directly or
indirectly), any loss of goodwill or reputation, any loss of data suffered, cost of procurement of substitute goods or services, or any other tangible or intangible loss;
any reliance placed by the reader on the completeness, accuracy or existence of the
Content or any other effect of using the Content; and any and all other adversities
or negative effects the reader might encounter in using the Content irrespective of
whether the Author or his Affiliates is or are or should have been aware of such
adversities or negative effects.
The R code included in Appendix A hereof is part of the copyrighted R code
for Quantigicr Risk ModelTM and is provided herein with the express permission of
Quantigicr Solutions LLC. The copyright owner retains all rights, title and interest
in and to its copyrighted source code included in Appendix A and Appendix B hereof
and any and all copyrights therefor.
The Content is not intended, and should not be construed, as an investment,
legal, tax or any other such advice, and in no way represents views of Quantigicr
Solutions LLC, the website www.quantigic.com or any of their other affiliates.
21
References
[1] Ang, A.; Hodrick, R.; Xing, Y.; Zhang, X. The Cross-Section of Volatility and
Expected Returns. J. Financ. 2006, 61, 259–299.
[2] Anson, M. Performance Measurement in Private Equity: Another Look at the
Lagged Beta Effect. J. Priv. Equity 2013, 17, 29–44.
[3] Asness, C.S. The Power of Past Stock Returns to Explain Future Stock Returns. Working Paper. Goldman Sachs, Investment Management Division: San
Fransisco, CA, USA, 1995.
[4] Asness, C.; Stevens, R. Intra- and Inter-Industry Variation in the Cross-Section
of Expected Stock Returns. Working Paper. Goldman Sachs, Investment Management Division: San Fransisco, CA, USA, 1995.
[5] Asness, C.; Krail, R.J.; Liew, J.M. Do Hedge Funds Hedge? J. Portf. Manag.
2001, 28, 6–19.
[6] Banz, R. The relationship between return and market value of common stocks.
J. Financ. Econ. 1981, 9, 3–18.
[7] Basu, S. The investment performance of common stocks in relation to their
price to earnings ratios: A test of the efficient market hypothesis. J. Financ.
1977, 32, 663–682.
[8] Black, F. Capital market equilibrium with restricted borrowing. J. Bus. 1972,
45, 444–455.
[9] Black, F.; Jensen, M.; Scholes, M. The capital asset pricing model: Some
empirical tests. In Studies in the Theory of Capital Markets; Jensen, M., ed.;
Praeger Publishers: New York, NY, USA, 1972; pp. 79–121.
[10] Blume, O.; Friend, L. A new look at the capital asset pricing model. J. Financ.
1973, 28, 19–33.
[11] Brandt, M.W.; Brav, A.; Graham, J.R.; Kumar, A. The idiosyncratic volatility
puzzle: Time trend or speculative episodes? Rev. Financ. Stud. 2010, 23,
863–899.
[12] Campbell, J. Stock returns and the term structure. J. Financ. Econ. 1987, 18,
373–399.
[13] Campbell, J.Y.; Lettau, M.; Malkiel, B.G.; Xu, Y. Have individual stocks become more volatile? An empirical exploration of idiosyncratic risk. J. Financ.
2001, 56, 1–43.
22
[14] Campbell, J.; Shiller, R. The dividend-price ratio and expectations of future
dividends and discount factors. Rev. Financ. Stud. 1988, 1, 195–227.
[15] Carhart, M.M. Persistence in mutual fund performance. J. Financ. 1997, 52,
57–82.
[16] Chen, N.; Roll, R.; Ross, S. Economic forces and the stock market. J. Bus.
1986, 59, 383–403.
[17] Cochrane, J.H. Asset Pricing; Princeton University Press: Princeton, NJ, USA,
2001.
[18] Connor, G.; Korajczyk, R. Risk and return in an equilibrium APT: Application
of a new test methodology. J. Financ. Econ. 1988, 21, 255–289.
[19] DeBondt, W.; Thaler, R. Does the stock market overreact? J. Financ. 1985,
40, 739–805.
[20] Fama, E.; French, K. The cross-section of expected stock returns. J. Financ.
1992, 47, 427–465.
[21] Fama, E.F.; French, K.R. Common risk factors in the returns on stocks and
bonds. J. Financ. Econ. 1993, 33, 3–56.
[22] Fama, E.; French, K. Multifactor explanations for asset pricing anomalies. J.
Financ. 1996, 51, 55–94.
[23] Fama, E.F.; MacBeth, J.D. Risk, Return and Equilibrium: Empirical Tests. J.
Polit. Econ. 1973, 81, 607–636.
[24] Ferson, W.; Harvey, C. The variation in economic risk premiums. J. Polit. Econ.
1991, 99, 385–415.
[25] Ferson, W.; Harvey, C. Conditioning variables and the cross section of stock
returns. J. Financ. 1999, 54, 1325–1360.
[26] Hall, A.D.; Hwang, S.; Satchell, S.E. Using bayesian variable selection methods
to choose style factors in global stock return models. J. Bank. Financ. 2002,
26, 2301–2325.
[27] Harvey, C.R.; Liu, Y.; Zhou, H. ...and the Cross-Section of Expected Returns.
Rev. Financ. Stud. (forthcoming).
Available online: http://ssrn.com/abstract=2249314 (February 3, 2015).
[28] Haugen, R.A. The New Finance: The Case Against Efficient Markets; Prentice
Hall: Upper Saddle River, NJ, USA, 1995.
23
[29] Jagannathan, R.; Wang, Z. The conditional CAPM and the cross-section of
expected returns. J. Financ. 1996, 51, 3–53.
[30] Jegadeesh, N.; Titman, S. Returns to buying winners and selling losers: Implications for stock market efficiency. J. Financ. 1993, 48, 65–91.
[31] Kakushadze, Z. Mean-Reversion and Optimization. J. Asset Manag. 2015, 16,
14–40.
[32] Kothari, S.; Shanken, J. Book-to-market, dividend yield and expected market
returns: A time series analysis. J. Financ. Econ. 1997, 44, 169–203.
[33] Lakonishok, J.; Shleifer, A.; Vishny, R.W. Contrarian Investment, Extrapolation, and Risk. J. Financ. 1994, 49, 1541–1578.
[34] Lee, J.-H.; Stefek, D. Do Risk Factors Eat Alphas? J. Portfolio Manag. 2008,
34, 12–24.
[35] Lehmann, B.; Modest, D. The empirical foundations of the arbitrage pricing
theory. J. Financ. Econ. 1988, 21, 213–254.
[36] Liew, J.; Vassalou, M. Can Book-to-Market, Size and Momentum be Risk Factors that Predict Economic Growth? J. Financ. Econ. 2000, 57, 221–245.
[37] Lintner, J. The valuation of risky assets and the selection of risky investments
in stock portfolios and capital budgets. Rev. Econ. Stat. 1965, 47, 13–37.
[38] Lo, A.W. Hedge Funds: An Analytic Perspective; Princeton University Press:
Princeton, NJ, USA, 2010; p. 260.
[39] Lo, A.W.; MacKinlay, A.C. Data-snooping biases in tests of financial asset
pricing models. Rev. Financ. Stud. 1990, 3, 431–468.
[40] MacKinlay, A.C. Multifactor models do not explain deviations from the CAPM.
J. Financ. Econ. 1995, 38, 3–28.
[41] Merton, R. An intertemporal capital asset pricing model. Econometrica 1973,
41, 867–887.
[42] Mukherjee, D.; Mishra, A.K. Multifactor Capital Asset Pricing Model Under
Alternative Distributional Specification.
Available online: http://ssrn.com/abstract=871398 (December 29, 2005).
[43] Ng, V.; Engle, R.F.; Rothschild, M. A multi-dynamic-factor model for stock
returns. J. Econ. 1992, 52, 245–266.
[44] Pastor, L.; Stambaugh, R.F. Liquidity Risk and Expected Stock Returns. J.
Polit. Econ. 2003, 111, 642–685.
24
[45] Ross, S. The arbitrage theory of capital asset pricing. J. Econ. Theory 1976,
13, 341–360.
[46] Scholes, M.; Williams, J. Estimating Betas from Nonsynchronous Data. J. Financ. Econ. 1977, 5, 309–327.
[47] Schwert, G. Stock returns and real activity: A century of evidence. J. Financ.
1990, 45, 1237–1257.
[48] Sharpe, W. Capital asset prices: A theory of market equilibrium under conditions of risk. J. Financ. 1964, 19, 425–442.
[49] Whitelaw, R. Time variations and covariations in the expectation and volatility
of stock market returns. J. Financ. 1997, 49, 515–541.
[50] Zhang, C. A Re-examination of the Causes of Time-varying Stock Return
Volatilities. J. Financ. Quant. Anal. 2010, 45, 663–684.
25
Table 1: Results for regressions (56) and (57) with the intercept-only 1-factor model
as the benchmark. Int = intercept; (T)Book = (tangible) book; Prc = adjusted
previous close; RPrc = raw (unadjusted) previous close. Next to Int+log(Prc) we
also give Int+log(RPrc) results. We do this because adjusting the previous close
introduces a bias of anticipating future splits and/or dividends. However, as can be
seen from the Int+log(RPrc) row, this bias is relatively mild and does not affect our
conclusions.
Regression/Statistic
Int only
Book only
TBook only
Prc only
Prc/Book only
Prc/Tbook only
log(Book) only
log(TBook) only
log(Prc) only
log(Prc/Book) only
log(Prc/Tbook) only
Int+Book
Int+TBook
Int+(Prc/Book)
Int+(Prc/TBook)
Int+Prc
Int+log(Book)
Int+log(TBook)
Int+log(Prc)
Int+log(RPrc)
Int+log(Prc/Book)
Int+log(Prc/TBook)
F-statistic Intercept
t-value
737.7
27.16
237.2
—
191.2
—
1.34
—
12.5
—
3.84
—
707.5
—
583.7
—
526.0
—
739.1
—
608.7
—
362.5
22.08
297.6
20.10
354.3
26.38
287.2
23.89
368.9
27.14
354.2
0.98
294.1
-2.11
473.9
20.53
468.7
20.18
394.0
-6.99
329.9
-7.14
26
Second Coefficient
t-value
—
15.40
13.83
1.16
3.54
1.96
26.60
24.70
22.94
-27.19
-24.67
4.10
4.56
-0.66
0.15
-0.24
0.53
3.70
-14.48
-14.12
-8.93
-9.23
Table 2: Results for regressions (56) and (57) with the BICS-sector 10-factor model
as the benchmark. S = 10 BICS sectors labeled by S1(30), S2(63), S3(45), S4(30),
S5(91), S6(75), S7(42), S8(48), S9(41) and S10(28) (the parentheticals show the
number of tickers in each sector); X = the 11th factor (P, B, P/B, log(P), log(B)
and log(P/B)); P = adjusted previous close; B = book; F = F-statistic; t = t-value.
E.g., in the “Reg:” line “S+(P/B)” means that the returns R are regressed over
FLM Ω containing 11 columns corresponding to the 10 sectors S1 through S10 plus
the 11th factor X, which is (P/B) in this case. In the S+log(P) column we also give
the values when P is taken to be the raw (unadjusted) previous close. We do this
because adjusting the previous close introduces a bias of anticipating future splits
and/or dividends. However, as can be seen from the S+log(P) column, this bias is
relatively mild and does not affect our conclusions.
Reg:
F
t:S1
t:S2
t:S3
t:S4
t:S5
t:S6
t:S7
t:S8
t:S9
t:S10
t:X
S
80.6
6.40
6.67
5.57
5.40
13.31
13.13
4.97
6.85
12.83
8.63
—
S+P
73.3
6.40
6.67
5.57
5.40
13.28
13.13
4.97
6.85
12.84
8.63
-0.42
S+B
72.4
6.16
5.94
5.02
5.08
11.12
12.26
3.25
6.42
11.90
8.21
3.42
S+(P/B)
71.3
6.40
6.50
5.60
5.41
13.36
12.50
3.74
6.88
12.92
8.87
-0.45
S+log(P)
92.6/91.7
15.07/14.80
15.74/15.44
15.08/14.76
14.13/13.87
19.26/18.93
19.29/18.99
14.40/14.15
15.88/15.58
19.40/19.12
16.17/15.92
-14.57/-14.21
27
S+log(B)
71.3
1.56
1.19
1.56
1.32
1.80
1.98
0.89
1.35
2.49
2.19
-0.20
S+log(P/B)
77.8
-6.42
-7.08
-7.04
-6.79
-6.38
-6.09
-7.37
-6.80
-5.39
-5.69
-8.47
Table 3: Results for regressions (54) and (55) with the BICS-sector 10-factor model
as the benchmark. The notations are the same as in Table 2, except that F = median
F-statistic, and t = median t-value, where F-statistic and t-values are computed
based on regressions (54) and (55) for each date, and the median is computed serially
over all dates. The meaning of double entries in the S+log(P) column is the same
as in Table 2.
Reg:
F
t:S1
t:S2
t:S3
t:S4
t:S5
t:S6
t:S7
t:S8
t:S9
t:S10
t:X
S
13.5
0.40
0.61
0.34
0.23
0.91
0.80
0.39
0.54
0.76
0.53
—
S+P
12.2
0.40
0.61
0.33
0.23
0.91
0.80
0.39
0.54
0.76
0.53
-0.02
S+B
12.0
0.40
0.62
0.32
0.23
0.76
0.82
0.24
0.57
0.77
0.52
0.13
S+(P/B)
12.0
0.43
0.63
0.32
0.25
0.88
0.91
0.25
0.57
0.80
0.55
-0.04
S+log(P)
12.3/12.3
0.67/0.68
0.85/0.83
0.69/0.63
0.62/0.56
0.90/0.85
0.96/0.92
0.70/0.64
0.76/0.74
1.00/0.98
0.84/0.88
-0.55/-0.52
S+log(B)
12.1
0.11
0.11
0.11
0.10
0.15
0.14
0.10
0.08
0.18
0.14
-0.03
S+log(P/B)
12.2
-0.18
-0.16
-0.20
-0.21
-0.19
-0.14
-0.20
-0.19
-0.12
-0.14
-0.30
Table 4: Results for regressions (54) and (55) with the intercept-only 1-factor model
as the benchmark. The notations are the same as in Table 1, except that the tstatistic here refers to the t-statistic of the corresponding risk factor time series a la
Fama and MacBeth (1973). These t-statistic
are annualized, i.e., we compute the
√
daily t-statistic and then multiply it by 252.
Regression/Statistic
Int only
Int+Book
Int+(Prc/Book)
Int+Prc
Int+log(Book)
Int+log(Prc)
Int+log(RPrc)
Int+log(Prc/Book)
Intercept
t-statistic
0.90
0.82
0.90
0.90
0.23
1.90
1.78
-2.15
Second Coefficient
t-statistic
—
2.21
-0.69
-0.42
0.32
-3.50
-3.10
-2.90
28
Table 5: Results for regressions (54) and (55) with the BICS-sector 10-factor model
as the benchmark. The notations are the same as in Table 2, except that “t:⋆”
refers to the annualized t-statistic of the corresponding risk factor “⋆” time-series a
la Fama and MacBeth (1973), same as in Table 4. The meaning of double entries in
the S+log(P) column is the same as in Table 2.
Reg:
t:S1
t:S2
t:S3
t:S4
t:S5
t:S6
t:S7
t:S8
t:S9
t:S10
t:X
S
0.76
0.59
0.76
1.09
0.88
1.07
0.83
0.64
1.09
1.17
—
S+P
0.76
0.59
0.76
1.09
0.88
1.07
0.83
0.64
1.09
1.17
-0.56
S+B
0.74
0.54
0.68
1.01
0.77
1.02
0.56
0.60
1.02
1.13
2.15
S+(P/B)
0.78
0.60
0.77
1.10
0.88
1.05
0.66
0.65
1.09
1.23
-0.61
S+log(P)
1.76/1.64
1.61/1.50
2.07/1.91
2.32/2.14
1.75/1.65
2.01/1.88
2.14/1.99
1.72/1.59
1.87/1.77
2.04/1.92
-3.45/-3.05
S+log(B)
0.39
0.28
0.30
0.37
0.45
0.51
0.22
0.32
0.61
0.58
0.02
S+log(P/B)
-2.02
-2.24
-2.42
-2.48
-2.02
-1.86
-2.66
-2.07
-1.51
-1.78
-3.12
Table 6: Number of BICS industries for portfolios of stocks in top X by market cap
with at least 10 stocks in each industry as of August 19, 2014. Only U.S. listed
common stocks and class shares are included (no OTCs, preferred shares, etc.).
Top X by market cap
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
5,000
Number of industries
55
75
94
107
122
125
128
130
133
29