0

数年前にさかのぼるいくつかの株式の相関行列を作成したいと考えています。

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 行列の返品を比較できるようにする方法はありますか?

この質問のバリエーションは、説得力のある回答なしで以前に尋ねられました。

NA値を返す「R」の相関行列

4

2 に答える 2

1

歪んだ調査結果を避けるために、すべての株式が結果を投稿した時間枠の相関行列を作成することだけが理にかなっています。

A、B、C の 3 つの会社があり、時系列が 2005 年から 2009 年であるとします。A と B は 2005 年に IPO を行い、C は 2007 年に IPO を行いました。

Corr(A,B) の 2005 年から 2009 年までの全期間を考慮して相関行列を計算すると、この値は好況期と不況期にそれらがどれだけ密接に移動したかを示します。ただし、あなたの Corr(A,C) は、バースト期間にのみ動作を示します。

株式のリターンは、景気後退時にはるかに強い相関関係を示すことがよく観察されています。論文: 危機時の金融市場の相関関係を参照してください。したがって、相関行列は歪んだ値を示します。

あなたの代わりに、私はすべての株がリターン数値を持っているべきタイムホライゾンを見たいと思います. 内部にまだギャップがほとんどない場合は、線形近似na.approx()またはスプライン近似na.spline()(zoo-package の一部) でそれらを閉じることを検討します。

良い一日を過ごしてください。

于 2017-08-13T09:52:53.203 に答える
0

これは本当にialmのソリューションですが、あなたが望むように聞こえます

cor(roc, use = 'pairwise.complete.obs')
于 2013-11-12T19:32:14.093 に答える