Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ######################
- # INIT
- setInternet2(TRUE)
- con = gzcon(url('http://www.systematicportfolio.com/sit.gz', 'rb'))
- source(con)
- close(con)
- library(quantmod)
- library(R.utils)
- #########################
- # Lets load some symbols
- symbols <- c(
- "USDJPY","GBPUSD","USDCHF","EURCHF",
- "AUDUSD","NZDCAD","NZDJPY",
- "AUDNZD","EURNZD","GBPCAD",
- "AUDJPY","CADJPY","EURGBP","CHFJPY",
- "USDCAD","NZDUSD","GBPCHF","EURAUD",
- "EURJPY","GBPJPY","EURCAD","AUDCAD",
- "CADCHF","AUDCHF","NZDCHF","EURUSD"
- )#,"GBPNZD","GBPAUD"
- USDJPY = getSymbols.fxhistoricaldata('USDJPY', 'hour', auto.assign = F, download=T)
- GBPUSD = getSymbols.fxhistoricaldata('GBPUSD', 'hour', auto.assign = F, download=T)
- USDCHF = getSymbols.fxhistoricaldata('USDCHF', 'hour', auto.assign = F, download=T)
- EURCHF = getSymbols.fxhistoricaldata('EURCHF', 'hour', auto.assign = F, download=T)
- AUDUSD = getSymbols.fxhistoricaldata('AUDUSD', 'hour', auto.assign = F, download=T)
- #GBPNZD = getSymbols.fxhistoricaldata('GBPNZD', 'hour', auto.assign = F, download=T)
- NZDCAD = getSymbols.fxhistoricaldata('NZDCAD', 'hour', auto.assign = F, download=T)
- NZDJPY = getSymbols.fxhistoricaldata('NZDJPY', 'hour', auto.assign = F, download=T)
- AUDNZD = getSymbols.fxhistoricaldata('AUDNZD', 'hour', auto.assign = F, download=T)
- EURNZD = getSymbols.fxhistoricaldata('EURNZD', 'hour', auto.assign = F, download=T)
- #GBPAUD = getSymbols.fxhistoricaldata('GBPAUD', 'hour', auto.assign = F, download=T)
- GBPCAD = getSymbols.fxhistoricaldata('GBPCAD', 'hour', auto.assign = F, download=T)
- AUDJPY = getSymbols.fxhistoricaldata('AUDJPY', 'hour', auto.assign = F, download=T)
- CADJPY = getSymbols.fxhistoricaldata('CADJPY', 'hour', auto.assign = F, download=T)
- EURGBP = getSymbols.fxhistoricaldata('EURGBP', 'hour', auto.assign = F, download=T)
- CHFJPY = getSymbols.fxhistoricaldata('CHFJPY', 'hour', auto.assign = F, download=T)
- USDCAD = getSymbols.fxhistoricaldata('USDCAD', 'hour', auto.assign = F, download=T)
- NZDUSD = getSymbols.fxhistoricaldata('NZDUSD', 'hour', auto.assign = F, download=T)
- GBPCHF = getSymbols.fxhistoricaldata('GBPCHF', 'hour', auto.assign = F, download=T)
- EURAUD = getSymbols.fxhistoricaldata('EURAUD', 'hour', auto.assign = F, download=T)
- EURJPY = getSymbols.fxhistoricaldata('EURJPY', 'hour', auto.assign = F, download=T)
- GBPJPY = getSymbols.fxhistoricaldata('GBPJPY', 'hour', auto.assign = F, download=T)
- EURCAD = getSymbols.fxhistoricaldata('EURCAD', 'hour', auto.assign = F, download=T)
- AUDCAD = getSymbols.fxhistoricaldata('AUDCAD', 'hour', auto.assign = F, download=T)
- CADCHF = getSymbols.fxhistoricaldata('CADCHF', 'hour', auto.assign = F, download=T)
- AUDCHF = getSymbols.fxhistoricaldata('AUDCHF', 'hour', auto.assign = F, download=T)
- NZDCHF = getSymbols.fxhistoricaldata('NZDCHF', 'hour', auto.assign = F, download=T)
- EURUSD = getSymbols.fxhistoricaldata('EURUSD', 'hour', auto.assign = F, download=T)
- #to.daily(EURUSD)
- #Lets make a grid
- correlation <- matrix(rep(0,26*26),nrow=26,ncol=26)
- df <- as.data.frame(correlation)
- rm(correlation)
- rownames(df)<- symbols
- colnames(df) <- symbols
- correlation <- df
- ##################################################################
- # Lets do something interesting :D
- pb <- txtProgressBar(min = 0, max =26, style = 3)
- for (x in 1:26) {
- for (y in 1:26) {
- if (!(x == y)) {
- pair1 <- last(to.daily(get(symbols[x])),"200 days")
- pair2 <- last(to.daily(get(symbols[y])),"200 days")
- colnames(pair1) <- c("OPEN","HIGH","LOW","CLOSE")
- colnames(pair2) <- c("OPEN","HIGH","LOW","CLOSE")
- correlation[x,y] <- round(cor(pair1$CLOSE,pair2$CLOSE),3)
- }
- }
- setTxtProgressBar(pb,x )
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement