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) %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`, pnl = c(0, diff(package)), cumpnl = cumsum(pnl)) ig26.theta <- ig26 %>% select(date, tenor, theta) %>% collect() %>% spread(tenor, theta) %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`) ig26.theta %>% ggplot(aes(date, package)) + geom_line() ig26.close %>% ggplot(aes(date, pnl)) + geom_line() ig26.close %>% ggplot(aes(date, cumpnl)) + geom_line() ##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(package = 3*`5yr`-2*`3yr`-`10yr`) ig25.close <- ig25.close %>% mutate(package = 3*`5yr`-2*`3yr`-`10yr`, pnl = package-lag(package), cumpnl = package-package[1], r = pnl/lag(package)) ig25.theta %>% ggplot(aes(date, package)) + geom_line() ig25.close %>% ggplot(aes(date, cumpnl)) + geom_line()