R:如何计算 EWMA 相关性

R: how to calculate an EWMA correlation

我必须计算 EWMA 相关性并使用数据框 df.dataCorrelationplotly() 创建一个图,定义为:

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)

如何在 prod1prod2 之间创建 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)