Я хочу создать корреляционную матрицу для нескольких акций, возвращающихся на несколько лет.Удалить NAs из данных возврата запаса для матрицы корреляции в «R»
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
В этом случае я вынужден начать матрицу на дату, когда у всех трех компаний есть история возврата запасов?
В этом случае тот:
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, я хочу, чтобы избавиться от ВПЛ в истории, не вынимая целые колонны, как столовые с матрица. Есть ли способ очистить данные возврата для этого, чтобы иметь возможность сравнивать доходность для cor-матрицы?
Варианты этого вопроса было предложено, прежде чем без убедительного ответа:
Correlation Matrix in "R" returning NA values
Вы читаете '? Cor'? Попробуйте прочитать файл справки и посмотрите, не подходит ли какой-либо параметр параметра 'use ='. – ialm