Quiero implementar la contracción de la intensidad dada por Ledoit y el Lobo, ver aquí la página 13. Ellos definen $y_{es}$ con $1\le i\le N$ y $1\le t\le t$ ser el rendimiento de las acciones $i$ en vez de $t$. Por otra parte, $z_i:=\bar{y}_i:=\frac{1}{T}\sum_{t=1}^Ty_{es}$ la media del estimador de la $i$º de stock. Como explican en el óptimo de la contracción de la intensidad estimador está dada por (por simplicidad que me caiga el sombrero de notación)
$$\kappa = \frac{\pi\rho}{\gamma}$$
Tengo una pregunta acerca de la aplicación de $\pi$. Ellos definen
$$\pi_{ij} = \frac{1}{T}\sum_{t=1}^T((y_{it}-z_i)(y_{jt}-z_j)-s_{ij})^2$$
Yo quería implementar esto en una forma eficiente. El paquete 'rojizo' tiene un preimplemented función de este. He comprobado el código fuente, que puede ser encontrado aquí en el archivo de la contracción.R. Ellos usan (copio):
# Sum of the asymptotic variances
# returns : T x N (zoo) - Matrix of asset returns
# sample : N x N - Sample covariance matrix
# Used internally.
# S <- cov.sample(ys)
# ys.p <- shrinkage.p(ys, S)
shrinkage.p <- function(returns, sample)
{
T <- nrow(returns)
N <- ncol(returns)
ones <- rep(1,T)
means <- t(returns) %*% ones / T
z <- returns - matrix(rep(t(means), T), ncol=N, byrow=TRUE)
term.1 <- t(z^2) %*% z^2
term.2 <- 2 * sample * (t(z) %*% z)
term.3 <- sample^2
phi.mat <- (term.1 - term.2 + term.3) / T
phi <- list()
phi$sum <- sum(phi.mat)
phi$diags <- diag(phi.mat)
phi
}
La entrada es la transpuesta $y$ como lo definimos ser $T\times N$ matriz. Su producción final que me interesa es la siguiente:
phi.mat <- (term.1 - term.2 + term.3) / T
Si su código funciona correctamente (que seguro que lo hace) es cierto que $(i,j)$ de entrada de phi.mat
es igual a $\pi_{i,j}$. Sin embargo, este es el punto que no puedo averiguar por qué esto es cierto. Ya en R
suma / resta de matrices es elementwise debe ser cierto que term.1
es igual a
$$\sum_{t=1}^T(y_{it}-z_i)^2(y_{jt}-z_j)^2$$
y term.2
, equivalente a
$$2\sum_{t=1}^T(y_{it}-z_i)(y_{jt}-z_j)s_{ij}$$
y por último term.3
, equivalente a
$$\sum_{t=1}^T s_{ij}^2$$
Comprendo term.3
. Sin embargo, term.1
y term.2
no están claras para mí. Supongo que la comprensión de uno de ellos me va a ayudar a entender a la otra. Por lo tanto, permite centrarse en term.1
:
Pregunta ¿por Qué es cierto que $(i,j)$ de entrada de su código
term.1
es igual a $\sum_{t=1}^T(y_{it}-z_i)^2(y_{jt}-z_j)^2$? No es la matriz del producto, que ellos sugieren, igual a
$$\sum_{t=1}^T(y_{it}-z_i)(y_{tj}-z_j)$$ y la matriz de rendimientos está claro que no es simétrica?