R:如何计算 EWMA 相关性
R: how to calculate an EWMA correlation
我必须计算 EWMA 相关性并使用数据框 df.dataCorrelation
的 plotly()
创建一个图,定义为:
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
如何在 prod1
和 prod2
之间创建 EWMA 相关图?
编辑:
我已经尝试过 qcc
-package 和 ewma()
函数:
m.ewmaCorr <- qcc.groups(df.ewmaCorr$prod1, df.ewmaCorr$prod2)
l.ewma <- ewma(m.ewmaCorr, lambda = 0.85)
但这会产生一个空图:
如果一个阴谋的替代方案是可以接受的,这行得通
编辑(丑陋的快速修复)
library(qcc)
library(corrplot)
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
df.dataCorrelation <- na.omit(df.dataCorrelation)
df_prod1_ewma<-ewma(df.dataCorrelation$prod1, lambda = 0.85) # give now ewma plot
df_prod2_ewma<-ewma(df.dataCorrelation$prod2, lambda = 0.85)
result_df<-cbind.data.frame(df_prod1_ewma$y,df_prod2_ewma$y)
res<-cor(result_df, use="complete.obs")
x11()
corrplot(res)
我必须计算 EWMA 相关性并使用数据框 df.dataCorrelation
的 plotly()
创建一个图,定义为:
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
如何在 prod1
和 prod2
之间创建 EWMA 相关图?
编辑:
我已经尝试过 qcc
-package 和 ewma()
函数:
m.ewmaCorr <- qcc.groups(df.ewmaCorr$prod1, df.ewmaCorr$prod2)
l.ewma <- ewma(m.ewmaCorr, lambda = 0.85)
但这会产生一个空图:
如果一个阴谋的替代方案是可以接受的,这行得通
编辑(丑陋的快速修复)
library(qcc)
library(corrplot)
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
df.dataCorrelation <- na.omit(df.dataCorrelation)
df_prod1_ewma<-ewma(df.dataCorrelation$prod1, lambda = 0.85) # give now ewma plot
df_prod2_ewma<-ewma(df.dataCorrelation$prod2, lambda = 0.85)
result_df<-cbind.data.frame(df_prod1_ewma$y,df_prod2_ewma$y)
res<-cor(result_df, use="complete.obs")
x11()
corrplot(res)