library(dplyr) library(tidyr) library(ggplot2) index.quotes <- tbl(src_postgres("serenitasdb", "debian", 5432, "serenitas_user"), "index_quotes") ##ig26 ig26 <- index.quotes %>% filter(series == 26, index == 'IG') %>% select(date, tenor, closeprice, modelprice, theta) %>% arrange(desc(date)) ig26.close <- ig26 %>% select(date, tenor, closeprice) %>% collect() %>% spread(tenor, closeprice) ig26.close <- ig26.close %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`, pnl = c(0, diff(package)), cumpnl = cumsum(pnl)) ig26.close %>% ggplot(aes(x=date)) + geom_line(aes(y=pnl)) ig26.close %>% ggplot(aes(x=date)) + geom_line(aes(y=cumpnl)) ##ig25 ig25 <- index.quotes %>% filter(series == 25, index == 'IG', tenor %in% c("3yr", "5yr", "10yr")) %>% select(date, tenor, closeprice, modelprice, theta) %>% arrange(desc(date)) ig25.close <- ig25 %>% select(date, tenor, closeprice) %>% collect() %>% spread(tenor, closeprice) ig25.theta <- ig25 %>% select(date, tenor, theta) %>% collect() %>% spread(tenor, theta) %>% mutate(theta = 3*`5yr`-2*`3yr`-`10yr`) %>% select(date, theta) ig25.close <- ig25.close %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`, r = (package-lag(package))/lag(package)) %>% select(date, r) %>% left_join(ig25.theta) ig25.theta <- ig25.theta %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`) ig25.close %>% ggplot(aes(x=date)) + geom_line(aes(y=package-first(package))) ig25.close %>% ggplot(aes(x=date)) + geom_line(aes(y=cumpnl))