## ----setup, include=FALSE----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)


## ----------------------------------------------------------------------------
#clear the environment 
rm(list=ls()) 
## ------------------------------------------------------------------------
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))

# packages used
listofpackages <- c("tidyverse","ellipse","reshape2","xts","xlsx","readxl",
"quantmod")
#installation of "xlsx" requires Java 

for (j in listofpackages){
  if(sum(installed.packages()[, 1] == j) == 0) {
    install.packages(j)
  }
  library(j, character.only = T)
}



## ----------------------------------------------------------------------------
tickers <- c('AXP','AMGN','AAPL','BA','CAT','CSCO','CVX','GS','HD','HON',
             'IBM','INTC','JNJ','KO','JPM','MCD','MMM','MRK','MSFT','NKE',
             'PG','TRV','UNH','CRM','VZ','V','WBA','WMT','DIS','DOW','^DJI') #,'^GSPC',,'^IRX')

#download the historical prices
getSymbols.yahoo(tickers,
                 env = globalenv(),
                 index.class ='Date',
                 from = "1985-01-31",
                 to = "2023-07-31",
                 periodicity ="monthly")

stocks = merge(AXP[,6],AMGN[,6],AAPL[,6],BA[,6],CAT[,6],CSCO[,6],CVX[,6],GS[,6],HD[,6],HON[,6],
               IBM[,6],INTC[,6],JNJ[,6],KO[,6],JPM[,6],MCD[,6],MMM[,6],MRK[,6],MSFT[,6],NKE[,6],
               PG[,6],TRV[,6],UNH[,6],CRM[,6],VZ[,6],V[,6],WBA[,6],WMT[,6],DIS[,6],DOW[,6],DJI[,6])

colnames(stocks) <- c('AXP','AMGN','AAPL','BA','CAT','CSCO','CVX','GS','HD','HON',
                      'IBM','INTC','JNJ','KO','JPM','MCD','MMM','MRK','MSFT','NKE',
                      'PG','TRV','UNH','CRM','VZ','V','WBA','WMT','DIS','DOW','DJI')

write.xlsx(as.data.frame(stocks), "2023_monthly_stocks.xlsx", row.names = TRUE)
rm(list = c('AXP','AMGN','AAPL','BA','CAT','CSCO','CVX','GS','HD','HON',
            'IBM','INTC','JNJ','KO','JPM','MCD','MMM','MRK','MSFT','NKE',
            'PG','TRV','UNH','CRM','VZ','V','WBA','WMT','DIS','DOW','DJI'))


## ----------------------------------------------------------------------------
stocks_quarterly = to.quarterly(stocks$AXP)[,4]

for(i in 2:ncol(stocks)){
  x = to.quarterly(stocks[, i])[,4]
  stocks_quarterly = merge(stocks_quarterly, x)
}

colnames(stocks_quarterly) <- c('AXP','AMGN','AAPL','BA','CAT','CSCO','CVX','GS','HD','HON',
                                'IBM','INTC','JNJ','KO','JPM','MCD','MMM','MRK','MSFT','NKE',
                                'PG','TRV','UNH','CRM','VZ','V','WBA','WMT','DIS','DOW','DJI')

write.xlsx(as.data.frame(stocks_quarterly), "2023_quarterly_stocks.xlsx", row.names = TRUE)


## ----------------------------------------------------------------------------
# set tickers
tickers1 <- c("FEDFUNDS", "DGS10", "GDPPOT")
getSymbols.FRED(tickers1,
                 env = globalenv(),
                 return.class = "xts",
                 index.class ='Date'
                 )
# import data from FRED database
quarterly_fedfunds <- apply.quarterly(FEDFUNDS, last)


## ----------------------------------------------------------------------------
urlfile="https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-regioni/dpc-covid19-ita-regioni.csv"
COVID_all<-read_csv(url(urlfile)) #read_csv in package tidyverse
#COVID_all<-read.csv(url(urlfile)) #read.csv in package xlxs
LOMBARDIA=subset(COVID_all,denominazione_regione=="Lombardia",select=c(1:1,4:4,7:20))
VENETO=subset(COVID_all,denominazione_regione=="Veneto",select=c(1:1,4:4,7:20))

