Использование квантильной регрессии для подгонки данных о запасах - PullRequest
0 голосов
/ 04 декабря 2010

Я пытаюсь реализовать функцию квантильной регрессии quantreg для данных, которые я получил от Yahoo.Похоже, мне нужно выполнить процедуру с данными запаса, чтобы функция rq() могла прочитать данные.Я не уверен, как это сделать.Мой вопрос заключается в том, как преобразовать данные stocj в формат, который сможет прочитать функция rq.Спасибо

# Quantile Regression Fit Stock data
# Get Library
library(quantmod)
library(quantreg)

# Get Stock Data
stk1 <- getSymbols("DD",  from="2009-12-31", auto.assign=FALSE)
stk2 <- getSymbols("GE", from="2009-12-31", auto.assign=FALSE)

#median (l1) regression  fit for the stock data.
rq(stk1 ~ stk2.x,.5) 

#the 1st quartile, 
rq(stk1 ~ stk2.x,.25)  

#note that 8 of the 21 points lie exactly on this plane in 4-space! 
#this returns the full rq process
rq(stk1 ~ stk2.x, tau=-1)   

#ordinary sample median --no rank inversion ci
rq(rnorm(50) ~ 1, ci=FALSE)    

#weighted sample median 
rq(rnorm(50) ~ 1, weights=runif(50),ci=FALSE)

Ответы [ 2 ]

0 голосов
/ 04 декабря 2010

Вы, кажется, регрессируете ценовые уровни , что восприимчиво к тому, что Грейнджер и Ньюболд назвали "ложной регрессией". Возможно, вы сначала захотите преобразовать в возвращаемые значения, в этом может помочь пакет quantmod и др.

0 голосов
/ 04 декабря 2010

Я сделал ошибку при публикации кода.Это должны быть stk1 и stk2

# Get Library

library(quantmod)
library(quantreg)

# Get Stock Data

stk1 <- getSymbols("DD",  from="2009-12-31", auto.assign=FALSE)
stk2 <- getSymbols("GE",  from="2009-12-31", auto.assign=FALSE)


#median (l1) regression  fit for the stock data.

rq(stk1 ~ stk2.x,.5) 

#the 1st quartile, 

rq(stk1 ~ stk2.x,.25)  

#note that 8 of the 21 points lie exactly on this plane in 4-space! 
#this returns the full rq process

rq(stk1 ~ stk2.x, tau=-1)   

#ordinary sample median --no rank inversion ci

rq(rnorm(50) ~ 1, ci=FALSE)    

#weighted sample median 

rq(rnorm(50) ~ 1, weights=runif(50),ci=FALSE)  
...