8 votos

¿Cómo calcular el impulso a partir de las series temporales de acciones?

Supongamos que tengo series temporales de precios de muchas acciones. ¿Cuál es la mejor manera de ordenar las acciones en función de las que han subido o se han mantenido igual en relación con las demás? ¿Puede hacerse con una media ponderada, dando más peso a las cifras más recientes, para tener en cuenta las tendencias?

7voto

ashishsony Puntos 191

Todo este enfoque depende de cómo se defina el "valor". Una vez definido el valor, se puede definir una métrica para la "estabilidad" o el "riesgo". Una hipótesis de trabajo sería que las acciones que han tenido un valor estable en el pasado seguirán siendo valiosas en el futuro. Por supuesto, esto es una hipótesis.

Supongamos (a modo de ejemplo, esto no es un consejo financiero) que defines valor como "media de los rendimientos logarítmicos" y estabilidad como "desviación estándar de los rendimientos logarítmicos". A continuación, podría clasificar sus acciones según estas métricas y elegir las que tienen un valor alto y un riesgo bajo.

Si quieres ser más sofisticado, puedes utilizar otra métrica de riesgo, como la reducción del riesgo. También puedes hacer un análisis continuado o utilizar el remuestreo bootstrap para las distribuciones en torno a tus métricas de "valor" y "estabilidad".

Aquí hay un código en R que ilustra mi ejemplo:

#Load Data
rm(list = ls(all = TRUE)) #CLEAR WORKSPACE
set.seed(1)
library(quantmod)
myStocks <- c('AAPL','MSFT','GOOG','F')
getSymbols(myStocks,from='01-01-2004')
Data <- na.omit(cbind(Cl(AAPL),Cl(MSFT),Cl(GOOG),Cl(F)))
names(Data) <- myStocks

#Define value and risk
returns <- function(x) {diff(log(x))}
value <- function(x) {mean(returns(x))}
risk <- function(x) {sd(returns(x))}

#Estimate value and risk
StockScreen <- data.frame(  risk=apply(as.matrix(Data),2,risk),
                            value=apply(as.matrix(Data),2,value))
round(StockScreen,6)
plot(StockScreen)
text(StockScreen$risk+.001,StockScreen$value,labels=row.names(StockScreen))

#Estimate value and risk, different risk measure
library(PerformanceAnalytics)
risk <- function(x) {maxDrawdown(returns(x))}
StockScreen <- data.frame(  risk=apply(as.matrix(Data),2,risk),
                            value=apply(as.matrix(Data),2,value))
round(StockScreen,6)

#Boostrap value and risk measure
library(meboot)
library(plyr)

bootstrap <- function(x) {
    reps <- as.data.frame(meboot(as.ts(x), reps=100)$ensemble)
    valueDistribution <- apply(reps,2,value)
    riskDistribution <- apply(reps,2,risk)

    valueMean <- mean(valueDistribution)
    valueSD <- sd(valueDistribution)
    riskMean <- mean(riskDistribution)
    riskSD <- sd(riskDistribution)

    data.frame(valueMean=valueMean,valueSD=valueSD,riskMean=riskMean,riskSD=riskSD)
}

bootstrapScreen <- ldply(as.list(Data),bootstrap,.progress = "text")
row.names(bootstrapScreen) <- bootstrapScreen$.id
bootstrapScreen$.id <- NULL
round(bootstrapScreen,4)

3voto

Puede querer clasificar las acciones en función de la desviación estándar de una previsión dividida por la previsión. De este modo, cuanto más "ajustado" sea el valor, más previsible será la acción.

2voto

aceinthehole Puntos 1460

Parece que le interesa calcular la Fuerza Relativa

http://www.investopedia.com/terms/r/relativestrength.asp

Puede compararlo con un índice de referencia, como el Dow 30, o calcular su propio índice a partir de sus 50 acciones y comparar cada una de ellas con el índice.

-Ralph Winters

1voto

Chris Bunch Puntos 639

Lo que usted describe es inversión de impulso . Se suele hacer en dos pasos:

  1. Calcule una estadística de impulso a partir de los precios/retornos pasados.
  2. Compare las estadísticas de impulso de todas las acciones de su universo.

El paso 1 suele realizarse utilizando una media móvil de los rendimientos pasados (es erróneo utilizar los precios porque las divisiones y los dividendos sesgarán los resultados). Esto puede hacerse utilizando una media móvil simple, o utilizando medias móviles ponderadas exponencialmente . En cualquier caso, sus resultados dependerán en gran medida de la ventana/media de la media móvil. En el caso del impulso de la renta variable, la mayoría de los estudios utilizan el impulso de los últimos 6-12 meses, excluyendo el mes más reciente, aproximadamente.

El paso 2 puede realizarse con un ad hoc regla de clasificación ( Jegadeesh y Titman (1993) utilizar deciles superiores/inferiores) o con la ayuda de un modelo de riesgo.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X