De dos maneras:
Modelo de la devuelve mediante una de Ornstein-Uhlenbeck proceso
Usted puede controlar la varianza del ruido residual en el proceso a su nivel deseado de correlación. Conceptualmente inyectar ruido gaussiano en el sintético OU proceso para satisfacer su requisito.
Por ejemplo, digamos que usted tiene el tiempo de la serie a, que es lo que están modelando. El tiempo de la serie B, el sintético de la serie. Que modelo de series de tiempo a través de la unidad organizativa del proceso. Ahora usted tiene que parametrizar la OU proceso. Por ejemplo, usted puede elegir qué parte de la varianza para permitir en el tiempo de la serie B.
Sabemos que la correlación es simplemente la covarianza(a,b)/[ desvest(a) * desvest(b) ]. Por lo tanto, podemos resolver esta ecuación en términos de la varianza(b) de modo que usted puede conectar su IC y de repente el nivel apropiado de la varianza para el tiempo de la serie 'b' en la OU proceso.
La OU proceso le dará más flexibilidad, pero no es tan sencillo de configurar.
El uso de la Ley Fundamental de la Gestión Activa
BARRA realiza un Monte Carlo para simular alfa señales a un nivel específico de Información Coeficiente de uso de esta técnica. La simulación de alfa señales con una determinada correlación es la misma idea de la generación de una serie temporal, que se correlaciona con un precio. La diferencia es que usted tiene que convertir su precio original de la serie en un retorno de la serie, aplicar el procedimiento para generar una correlación alfa de la señal y, a continuación, integrar la serie alpha por lo que es en la forma de los niveles de precios en lugar de los rendimientos.
Usted puede encontrar más información sobre el enfoque de aquí.
Actualización:
He añadido un código simple para demostrar la inyección ortogonal de ruido gaussiano de modo que la resultante de la serie tiene un nivel específico de correlación:
# rho = desired correlation
# signals = a matrix where columns are asset returns and rows are periods
# covlist = a list of covariance matrixs corresponding to a given row (i.e. period)
# See example below for illustration
simpleNormalNoise <- function( signals , covlist , rho ) # one noisy signal per each mu and covariance matrix
{
noise = sapply( 1:ncol( signals ) , function(x) { normals = rnorm( nrow( covlist[[x]])) ; return( normals * sqrt(diag( covlist[[x]] ))) } )
signals = sapply( 1:ncol( signals ) , function(x) { return( rho*signals[,x] + sqrt( 1-rho*rho ) * noise[,x] ) } )
return( signals )
}
# Example:
sd1 = 1 # asset1
sd2 = 1 # asset2
cor = 0.8
cov = cor * sd1 * sd2
sample = matrix( c( sd1^2 , cov , cov , sd2^2 ) , 2 , 2 )
covs = lapply( 1:1000000 , function(x) { return( sample ) } )
fakemus = sapply( 1:1000000 , function(x) { return( rnorm( 2 ) ) } )
signals = simpleNormalNoise( fakemus, covs, .10 )
sd(t(signals)) #should be ~1
cor(t(signals)) #shoudl be ~0
cor(fakemus[1,],signals[1,]) #~.1
cor(fakemus[2,],signals[2,]) #~.1
mean(signals[1,]) #~ .05*.1
mean(signals[2,]) #~ .08*.1