library(tidyverse)
library(lubridate)
library(viridis)
library(cowplot)
library(plotly)
library(latex2exp)
load("res_premium.RData")
prediction_threshold <- 3
TT_fix <- c(6, 12, 24, 36, 60, 84, 120)
y_fix <- c("r01m", "r03m", "r06m", "r12m", "r24m") 
date_fix <- "1871-01-01"
xx <- c("tbl",  "dfy" , "lty", "de12", "dp12","ep12", "D_de12", "D_dp12","D_ep12",
        "dfr", "temp", "svar", "bm",  "tms", "ltr") 
g <- res %>%
    filter(pred > (-0.99), pred < prediction_threshold, x %in% xx, 
           TT %in% TT_fix, y %in% y_fix, time > date_fix) %>%
    group_by(x, y, TT) %>%
    summarise(mse = mean(e2),
              m_sy = mean(sig2_y),
              v_y = var(y_test),
              m_rx = mean(rho_x),
              m_ry = mean(rho_y)) %>%
    arrange(desc(m_rx)) %>%
    ggplot(aes(x = TT, y = 1 - mse/v_y, color = m_rx*100, label = x)) + 
    geom_point(size = 1.2) + 
    theme(legend.position = c(0.1,0.75)) +                    # Legend position
    labs(x = "T",                                             # x-axis
         y = "R squared") +                                   # y-axis
    scale_color_viridis(begin = 0.01, end = 0.91,             # Color management
                        option = "plasma",                    
                        direction = -1) +
    facet_wrap(.~y, scales = "free", ncol = 5) 
ggplotly(g)

# ggsave("rhos.pdf", width = 6, height = 3)
LS0tCm91dHB1dDogaHRtbF9ub3RlYm9vawp0aXRsZTogIkltcGFjdCBvZiBwcmVkaWN0b3IgYXV0b2NvcnJlbGF0aW9uIG9uIExvc3MiCi0tLQoKCmBgYHtyLCBtZXNzYWdlID0gRiwgd2FybmluZyA9IEZ9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGx1YnJpZGF0ZSkKbGlicmFyeSh2aXJpZGlzKQpsaWJyYXJ5KGNvd3Bsb3QpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGxhdGV4MmV4cCkKbG9hZCgicmVzX3ByZW1pdW0uUkRhdGEiKQpgYGAKCgoKCmBgYHtyLCBtZXNzYWdlID0gRiwgd2FybmluZyA9IEYsIGZpZy53aWR0aD0xMCwgZmlnLmhlaWdodD01fQpwcmVkaWN0aW9uX3RocmVzaG9sZCA8LSAzClRUX2ZpeCA8LSBjKDYsIDEyLCAyNCwgMzYsIDYwLCA4NCwgMTIwKQp5X2ZpeCA8LSBjKCJyMDFtIiwgInIwM20iLCAicjA2bSIsICJyMTJtIiwgInIyNG0iKSAKZGF0ZV9maXggPC0gIjE4NzEtMDEtMDEiCnh4IDwtIGMoInRibCIsICAiZGZ5IiAsICJsdHkiLCAiZGUxMiIsICJkcDEyIiwiZXAxMiIsICJEX2RlMTIiLCAiRF9kcDEyIiwiRF9lcDEyIiwKICAgICAgICAiZGZyIiwgInRlbXAiLCAic3ZhciIsICJibSIsICAidG1zIiwgImx0ciIpIApnIDwtIHJlcyAlPiUKICAgIGZpbHRlcihwcmVkID4gKC0wLjk5KSwgcHJlZCA8IHByZWRpY3Rpb25fdGhyZXNob2xkLCB4ICVpbiUgeHgsIAogICAgICAgICAgIFRUICVpbiUgVFRfZml4LCB5ICVpbiUgeV9maXgsIHRpbWUgPiBkYXRlX2ZpeCkgJT4lCiAgICBncm91cF9ieSh4LCB5LCBUVCkgJT4lCiAgICBzdW1tYXJpc2UobXNlID0gbWVhbihlMiksCiAgICAgICAgICAgICAgbV9zeSA9IG1lYW4oc2lnMl95KSwKICAgICAgICAgICAgICB2X3kgPSB2YXIoeV90ZXN0KSwKICAgICAgICAgICAgICBtX3J4ID0gbWVhbihyaG9feCksCiAgICAgICAgICAgICAgbV9yeSA9IG1lYW4ocmhvX3kpKSAlPiUKICAgIGFycmFuZ2UoZGVzYyhtX3J4KSkgJT4lCiAgICBnZ3Bsb3QoYWVzKHggPSBUVCwgeSA9IDEgLSBtc2Uvdl95LCBjb2xvciA9IG1fcngqMTAwLCBsYWJlbCA9IHgpKSArIAogICAgZ2VvbV9wb2ludChzaXplID0gMS4yKSArIAogICAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gYygwLjEsMC43NSkpICsgICAgICAgICAgICAgICAgICAgICMgTGVnZW5kIHBvc2l0aW9uCiAgICBsYWJzKHggPSAiVCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB4LWF4aXMKICAgICAgICAgeSA9ICJSIHNxdWFyZWQiKSArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHktYXhpcwogICAgc2NhbGVfY29sb3JfdmlyaWRpcyhiZWdpbiA9IDAuMDEsIGVuZCA9IDAuOTEsICAgICAgICAgICAgICMgQ29sb3IgbWFuYWdlbWVudAogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gPSAicGxhc21hIiwgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSAtMSkgKwogICAgZmFjZXRfd3JhcCgufnksIHNjYWxlcyA9ICJmcmVlIiwgbmNvbCA9IDUpIApnZ3Bsb3RseShnKQojIGdnc2F2ZSgicmhvcy5wZGYiLCB3aWR0aCA9IDYsIGhlaWdodCA9IDMpCmBgYAoK