数年前にさかのぼるいくつかの株式の相関行列を作成したいと考えています。
getSymbols(c("AAPL", "FB", "LNKD"))
close<-cbind(Cl(AAPL), Cl(FB), Cl(LNKD))
roc<-ROC(close)
これらの企業はすべて異なる時期に上場したので、次のようになります。
head(close)
AAPL.Close FB.Close LNKD.Close
2007-01-03 83.80 NA NA
2007-01-04 85.66 NA NA
2007-01-05 85.05 NA NA
2007-01-08 85.47 NA NA
2007-01-09 92.57 NA NA
2007-01-10 97.00 NA NA
と:
tail(close)
AAPL.Close FB.Close LNKD.Close
2013-11-04 526.75 48.22 223.72
2013-11-05 525.45 50.11 224.54
2013-11-06 520.92 49.12 220.78
2013-11-07 512.49 47.56 211.47
2013-11-08 520.56 47.53 215.17
2013-11-11 519.05 46.20 211.66
だから私が:
cor(roc)
私は得る:
AAPL.Close FB.Close LNKD.Close
AAPL.Close 1 NA NA
FB.Close NA 1 NA
LNKD.Close NA NA 1
この場合、3社すべてが株式リターン履歴を持っている日付でマトリックスを開始する必要がありますか?
この場合は次のとおりです。
head(na.omit(close))
AAPL.Close FB.Close LNKD.Close
2012-05-18 530.38 38.23 99.02
2012-05-21 561.28 34.03 96.84
2012-05-22 556.97 31.00 101.33
2012-05-23 570.56 32.00 103.56
2012-05-24 565.32 33.03 98.80
このアイデアを SP 500 のようなはるかに大きな行列に拡張すると、列全体を取り出さずに履歴から NA を削除したいと考えています。返品データをクリーンアップして、cor 行列の返品を比較できるようにする方法はありますか?
この質問のバリエーションは、説得力のある回答なしで以前に尋ねられました。