scripts/google_trend_analysis.R

library(Data)
library(scrAndFun)
library(dplyr)

outdir = "C:/Users/Soren Schwartz/Dropbox/Egne dokumenter/Skole/master/opgave/Figures"

#### Data manupulation ####
coinList.xts <- list(
  BitCoinYahoo.xts = xts::xts(BitCoinYahoo[,2:7], order.by = BitCoinYahoo[,1]),
  BitCashYahoo.xts = xts::xts(BitCashYahoo[,2:7], order.by = BitCashYahoo[,1]),
  EthereumYahoo.xts = xts::xts(EthereumYahoo[,2:7], order.by = EthereumYahoo[,1]),
  RippleYahoo.xts = xts::xts(RippleYahoo[,2:7], order.by = RippleYahoo[,1])
)
# (log(coinList.xts$BitCoinYahoo.xts$`BTC-USD.Adjusted`["2013-02-28"])[[1]] -
#   log(coinList.xts$BitCoinYahoo.xts$`BTC-USD.Adjusted`["2013-01-31"])[[1]]) -
#   (log(MSCI.xts$months["2013-02-28"])[[1]] - log(MSCI.xts$months["2013-01-31"])[[1]])
MSCI.xts <- list(
  days = xts::xts(MSCI_DP[,2], order.by = MSCI_DP[,1]),
  weeks = xts::xts(MSCI_WP[,2], order.by = MSCI_WP[,1]),
  months = xts::xts(MSCI_MP[,2], order.by = MSCI_MP[,1])
)

dailyExcess <- Log_Period_Vol(listCoins = coinList.xts, listIndex = MSCI.xts,
                              period = "days",
                              delta = 60/61, annu = 365.25,
                              dateRange = list(
                                BitCoin = "2013/",
                                BitCash = "2017-08-01/",
                                Ethereum = "2016-02-01/",
                                Ripple = "2014-01-01/",
                                Cum = "2013/"
                              ))

monthlyExcess <- Log_Period_Vol(listCoins = coinList.xts, listIndex = MSCI.xts,
                                period = "months",
                                delta = 60/61, annu = 365.25,
                                dateRange = list(
                                  BitCoin = "2013/",
                                  BitCash = "2017-08-01/",
                                  Ethereum = "2016-02-01/",
                                  Ripple = "2014-01-01/",
                                  Cum = "2013/"
                                ))
# Daily
logExcessReturns_daily <- do.call(cbind, lapply(dailyExcess, function(x) {x$excessReturn})) %>%
  dplyr::as_data_frame()
colnames(logExcessReturns_daily) <- names(dailyExcess)
logExcessReturns_daily$Date <- zoo::index(dailyExcess$BitCoin)
# Monthly
logExcessReturns_monthly <- do.call(cbind, lapply(monthlyExcess, function(x) {x$excessReturn})) %>%
  dplyr::as_data_frame()
colnames(logExcessReturns_monthly) <- names(monthlyExcess)
logExcessReturns_monthly$Date <- zoo::index(monthlyExcess$BitCoin)
# With sigma
logExcessReturns_daily_w_sigma <- dailyExcess$Cum %>%
  dplyr::as_data_frame()
colnames(logExcessReturns_daily_w_sigma) <- names(monthlyExcess)
logExcessReturns_daily_w_sigma$Date <- zoo::index(dailyExcess$BitCoin)
## Data exported
readr::write_csv(logExcessReturns_daily,
                 path = paste0("C:/Users/Soren Schwartz/Dropbox/Egne dokumenter/Skole/master/Data/",
                               "logExcessReturns_daily_googleTrends.csv"))
readr::write_csv(logExcessReturns_monthly,
                 path = paste0("C:/Users/Soren Schwartz/Dropbox/Egne dokumenter/Skole/master/Data/",
                               "logExcessReturns_monthly_googleTrends.csv"))
readr::write_csv(logExcessReturns_daily_w_sigma,
                 path = paste0("C:/Users/Soren Schwartz/Dropbox/Egne dokumenter/Skole/master/Data/",
                               "logExcessReturns_daily_w_sigma_googleTrends.csv"))

# Volume
vol_foo <- do.call(cbind, lapply(coinList.xts, function(x){x[,5]})) %>%
  dplyr::as_data_frame()
colnames(vol_foo) <- stringr::str_replace_all(colnames(vol_foo), ".USD.", "_")
vol_xts <- xts::xts(vol_foo, order.by = zoo::index(coinList.xts$BitCoinYahoo.xts))

vol_xts$Cum_Volume <- vol_xts$BTC_Volume
vol_xts$Cum_Volume["2017-08-01/"] <- vol_xts$BCH_Volume["2017-08-01/"] +
  vol_xts$Cum_Volume["2017-08-01/"]
vol_xts$Cum_Volume["2016-02-01/"] <- vol_xts$Cum_Volume["2016-02-01/"] +
  vol_xts$ETH_Volume["2016-02-01/"]
vol_xts$Cum_Volume["2014-01-01/"] <- vol_xts$Cum_Volume["2014-01-01/"] +
  vol_xts$XRP_Volume["2014-01-01/"]

volume_daily <- vol_xts["2013/"] %>%
  as_data_frame() %>%
  mutate(Date = zoo::index(vol_xts["2013/"]))

readr::write_csv(volume_daily,
                 path = paste0("C:/Users/Soren Schwartz/Dropbox/Egne dokumenter/Skole/master/Data/",
                               "volume_daily.csv"))
3schwartz/SpecialeScrAndFun documentation built on May 4, 2019, 6:29 a.m.