私は昨日この質問を投稿しましたが、私の投稿が少し望まれていないという貴重なフィードバックを受け取りました:)。これは更新された試みであり、うまくいけばより明確になります。
xts 動物園オブジェクトがあり、R を使用して過去 20 期間の勾配係数の t 統計を決定し、その t 値が > 2 であるかどうかをテストしたいと考えています。
class(prices)
[1] "xts" "zoo"
tail(prices)
IWM SPY TLT
2012-10-24 81.20 141.02 121.48
2012-10-25 81.53 141.43 120.86
2012-10-26 81.14 141.35 122.64
2012-10-31 81.63 141.35 123.36
2012-11-01 82.49 142.83 122.35
2012-11-02 81.19 141.56 122.26
各列と時間の回帰を実行する方法がわからなかったので、インデックスを使用して新しい列 (daynumber) を作成し、インデックスと回帰を実行しました。
lastprices = last(prices,20)
prices.data.frame = as.data.frame(lastprices)
daynumber = index(prices.data.frame)
pdfd = data.frame(prices.data.frame, daynumber)
pdfd.lm = lm(pdfd$daynumber ~ ., data=pdfd)
tstat = coef(summary(pdfd.lm))
tstat[,"t value"]
(Intercept) IWM SPY TLT
4.5426630 -0.1788975 -1.3521969 -2.2362345
tstattest = ifelse(tstat[,"t value"]>2,1,0)
tstattest
(Intercept) IWM SPY TLT
1 0 0 0
これは、このタスクを達成するための最も効率的な方法ではないと思わざるを得ません。daynumber 列を作成せずに、各列と時間の回帰を実行する方法についてアイデアを持っている人はいますか?
ありがとう - 勉強を始めたばかりなので、安心してください!