Me gustaría medir el impulso en el precio de una acción desde el momento en que se abre el mercado hasta el momento en que el comercio de cada día. Quiero aprovechar este impulso número en el post-análisis del comercio (regresión de costo de operación y rendimiento, etc...) yo sé que no hay una definición universalmente aceptada para el impulso y necesito este impulso de cálculo para ser coherente y esperemos simple, por lo que yo estaba pensando en la definición de impulso a medida que la cantidad de autocorrelación en la serie de tiempo donde la autocorrelación se mide por el AR(1) coeficiente de
MÉTODO 1
Un AR(1) el proceso Y se define como
$ y_t = c + \beta y_{t-1} + \epsilon_t $
donde $ \epsilon_t $ es ruido blanco y
c es una constante.
Si el valor absoluto de la beta $ |\beta| $ es >= 1 entonces los choques se acumulan con el tiempo y el proceso es no estacionario. Si la beta $ |\beta| $ es < 1, entonces el proceso es estacionario
Como un ejemplo, en R aquí es el ESPÍA se modela como un AR(1) de 200 días. Los precios a continuación son precios por día, pero voy a estar usando 1 minuto o 5 minutos precios:
require(quantmod)
getQuote("SPY" )
URL <- "http://ichart.finance.yahoo.com/table.csv?s=SPY"
dat <- read.csv(URL)
dat$Date <- as.Date(dat$Date, "%Y-%m-%d")
n= 200 #number of prices
logret = diff(log(dat$Close[1:n]))
arima(logret, c(1,0,0))
plot(logret,type="l")
El AR(1) coeficiente de es -.02 y yo esta -.02 como mi medida de impulso.
MÉTODO 2:
Mi otro enfoque iba a ser incluso más sencillo y a prueba de SI existe autocorrelación en todo el uso de la Caja.la prueba de que diría que si las autocorrelaciones son todos cero.
Box.test(logret, lag=15, type = 'Ljung')
en este caso el p-valor = .93 así que no hay autocorrelación de los gal 1...15 así que estaba pensando en usar este Cuadro.la prueba de la p-valor como mi medida de impulso.
Puede usted comentar sobre estos métodos? Que uno es mejor o tiene sugerencias? De nuevo estoy buscando algo simple y coherente. No quiero calcular el "mejor" modelo de serie temporal para cada comercio, porque cada comercio de la anterior serie de tiempo puede ser un AR(1) un día, pero un ARIMA(2,0,5) otro día.
NOTA: Anteriormente yo estoy usando el REGISTRO de las DEVOLUCIONES en el amueblada AR(1) el modelo y el Cuadro.Prueba. Estoy haciendo esto para realizar los cálculos en una serie de tiempo estacionaria. Pero, ¿es aceptable/preferido para realizar estas pruebas en los precios del crudo?
Como una extensión de tiempo para el Precio por el uso o registro de devoluciones: a Continuación hay un ejemplo que muestra el uso de precios reconoce serie de autocorrelación en el precio, mientras que el registro de las devoluciones no lo reconoce.
set.seed(12345)
###auto correlation in price
r =rep(seq(1,20,1),20)
plot(r,type='l')
acf(r, lag.max= 1)$acf # .72 = this DOES recognize the price dynamics of high serial correlation for runs of 20 at a time
arima(r, c(1,0,0))
### autocorrelation in log returns
r =diff(log(rep(seq(1,20,1),20)))
plot(r,type='l')
acf(r, lag.max= 1)$acf # -.15 = this DOES NOT recognize the price dynamics of high serial correlation for runs of 20 at a time
arima(r, c(1,0,0))