4  Group 3

Managers: Bernardo Botelho, Valentina Costa, Valter Morinaga

4.1 The setup

p3_list  <- c("MGLU3.SA","OIBR3.SA","PETR4.SA","HAPV3.SA","BBDC4.SA","B3SA3.SA","CASH3.SA","ITUB4.SA","COGN3.SA","CIEL3.SA","VALE3.SA","ABEV3.SA","ITSA4.SA","DMMO3.SA","PRIO3.SA","USIM5.SA","PETR3.SA","IRBR3.SA","LWSA3.SA","BRML3.SA","BBAS3.SA","GGBR4.SA","NTCO3.SA","CVCB3.SA","LREN3.SA","CSNA3.SA","BRFS3.SA","RAIL3.SA","BPAC11.SA","CPLE6.SA","CMIG4.SA","ELET3.SA","PETZ3.SA","AZUL4.SA","JBSS3.SA","EMBR3.SA","CCRO3.SA","WEGE3.SA","GOAU4.SA","EQTL3.SA","BBDC3.SA","GOLL4.SA","CMIN3.SA","MRVE3.SA","MRFG3.SA","ENEV3.SA","CSAN3.SA","TIMS3.SA","CYRE3.SA","RADL3.SA","RENT3.SA","UGPA3.SA","GFSA3.SA","BEEF3.SA","SUZB3.SA","GMAT3.SA","BPAN4.SA","SOMA3.SA","KLBN11.SA","MULT3.SA","AMAR3.SA","ECOR3.SA","BBSE3.SA","TOTS3.SA","POMO4.SA","ESPA3.SA","CRFB3.SA","RRRP3.SA","STBP3.SA","RDOR3.SA","ALPA4.SA","JHSF3.SA","CEAB3.SA","BRAP4.SA","VIVR3.SA","HBSA3.SA","HYPE3.SA","SULA11.SA","ELET6.SA","LIGT3.SA","LCAM3.SA","QUAL3.SA","YDUQ3.SA","ENBR3.SA","LJQQ3.SA","CPFE3.SA","SEQL3.SA","SBSP3.SA","ANIM3.SA","POSI3.SA","VAMO3.SA","TEND3.SA","MOVI3.SA","SAPR4.SA","ENJU3.SA","BRKM5.SA","SANB11.SA","PCAR3.SA","RAPT4.SA","AERI3.SA")
p3_w     <- c("0.0189226171","0.0137885829","0.0191766047","0.0011239728","0.0073224747","0.0193476204","0.0044039903","0.0167176124","0.0160071860","0.0155907887","0.0153668505","0.0034118705","0.0086339518","0.0141261988","0.0104131727","0.0096289767","0.0009825449","0.0174549222","0.0130920085","0.0195775536","0.0034230588","0.0150932877","0.0003053759","0.0139062451"," 0.0115590246","0.0106929905","0.0025240304","0.0143162053","0.0124056744","0.0094382209","0.0069480975","0.0020406349","0.0007416902","0.0130967183","0.0155168176","0.0078476624","0.0193687626","0.0133503537","0.0131497528","0.0200478136","0.0079287553","0.0029608469","0.0000129327","0.0042786963","0.0113745615","0.0026352343","0.0038878111","0.0027186517","0.0192527350","0.0196107136","0.0138648394","0.0018623181","0.0004434930","0.0053148478","0.0137303462","0.0012168250","0.0192959382","0.0110705933","0.0112109331","0.0052433902","0.0203527439","0.0137661423","0.0045004528","0.0063097933","0.0146314125","0.0105465620","0.0118701005","0.0005419413","0.0145074457","0.0095717016","0.0191939870","0.0202567462","0.0008886220","0.0107394189","0.0033670857","0.0100800669","0.0101352919","0.0112715332","0.0017914256","0.0047265423","0.0079291429","0.0102671095","0.0122675976","0.0028531311","0.0154975827","0.0138900969","0.0121453981","0.0147262399","0.0065925907","0.0072363027","0.0090384286","0.0131891459","0.0167423699","0.0015289359","0.0073709518","0.0136982578","0.0178805690","0.0071344359","0.0003071119","0.0018792053")
p3_exc   <- c("BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL","BRL")

p3_wlist <- cbind(p3_list, p3_w, p3_exc)
colnames(p3_wlist) <- c('ticker','weights','Currency')
#Download data Financial
p3 <- yf_get(tickers = p3_list, first_date = start, last_date = end,freq_data = "daily", thresh_bad_data = 0.5)
p3 <- p3[, c("ticker", "ref_date", "price_adjusted" ) ]
p3 <- merge(p3, p3_wlist , by = "ticker")
# Download data Exchange rate
getFX("BRL/USD",from=start , to = end) 
exchanges <- as.data.frame(BRLUSD)
exchanges$ref_date <- as.Date(rownames(exchanges))
# Merge
p3 <- merge(p3, exchanges, by = "ref_date")
p3$BRL.USD[p3$Currency == "USD"] <- 1
# Adjusting currency
p3$price_adj <- p3$price_adjusted * p3$BRL.USD
# Calculating return
ret <- p3 %>%
       group_by(ticker) %>%
       tq_transmute(select = price_adj,
                    mutate_fun = periodReturn,
                    period = "daily",
                    col_rename = "ret")
p3 <- merge(p3, ret, by = c("ref_date", "ticker"))
# Data tabulation
p3$ret_product <- p3$ret * as.numeric(p3$weights)
# Creating a df of portfolios return
p3_ret  <- p3 %>%                      
            group_by(ref_date) %>%
            summarise_at(vars(ret_product),
                         list(p3_return = sum)) %>% as.data.frame()
#Calculating cumulative return per day
for(i in (1:nrow(p3_ret) ) ) {
p3_ret$p3_cum[i] <- Return.cumulative(p3_ret$p3_return[1:i])
}
#Calculating cumulative return total
p3_sharpe <- data.frame(matrix(NA, nrow = 1,ncol = 4))
colnames(p3_sharpe) <- c('p3_return', 'p3_sd', 'p3_rf' , 'p3_sharpe')
p3_sharpe$p3_return <- Return.cumulative(p3_ret$p3_return)
p3_sharpe$p3_sd <- sd(p3_ret$p3_return[2:nrow(p3_ret)])
p3_sharpe$p3_rf <- (1+0.03)^(nrow(p3_ret)/252) -1
p3_sharpe$p3_sharpe <- (p3_sharpe$p3_return - p3_sharpe$p3_rf)  / p3_sharpe$p3_sd

4.2 The portfolio

This is the portfolio of this group:

p3_wlist
       ticker      weights         Currency
  [1,] "MGLU3.SA"  "0.0189226171"  "BRL"   
  [2,] "OIBR3.SA"  "0.0137885829"  "BRL"   
  [3,] "PETR4.SA"  "0.0191766047"  "BRL"   
  [4,] "HAPV3.SA"  "0.0011239728"  "BRL"   
  [5,] "BBDC4.SA"  "0.0073224747"  "BRL"   
  [6,] "B3SA3.SA"  "0.0193476204"  "BRL"   
  [7,] "CASH3.SA"  "0.0044039903"  "BRL"   
  [8,] "ITUB4.SA"  "0.0167176124"  "BRL"   
  [9,] "COGN3.SA"  "0.0160071860"  "BRL"   
 [10,] "CIEL3.SA"  "0.0155907887"  "BRL"   
 [11,] "VALE3.SA"  "0.0153668505"  "BRL"   
 [12,] "ABEV3.SA"  "0.0034118705"  "BRL"   
 [13,] "ITSA4.SA"  "0.0086339518"  "BRL"   
 [14,] "DMMO3.SA"  "0.0141261988"  "BRL"   
 [15,] "PRIO3.SA"  "0.0104131727"  "BRL"   
 [16,] "USIM5.SA"  "0.0096289767"  "BRL"   
 [17,] "PETR3.SA"  "0.0009825449"  "BRL"   
 [18,] "IRBR3.SA"  "0.0174549222"  "BRL"   
 [19,] "LWSA3.SA"  "0.0130920085"  "BRL"   
 [20,] "BRML3.SA"  "0.0195775536"  "BRL"   
 [21,] "BBAS3.SA"  "0.0034230588"  "BRL"   
 [22,] "GGBR4.SA"  "0.0150932877"  "BRL"   
 [23,] "NTCO3.SA"  "0.0003053759"  "BRL"   
 [24,] "CVCB3.SA"  "0.0139062451"  "BRL"   
 [25,] "LREN3.SA"  " 0.0115590246" "BRL"   
 [26,] "CSNA3.SA"  "0.0106929905"  "BRL"   
 [27,] "BRFS3.SA"  "0.0025240304"  "BRL"   
 [28,] "RAIL3.SA"  "0.0143162053"  "BRL"   
 [29,] "BPAC11.SA" "0.0124056744"  "BRL"   
 [30,] "CPLE6.SA"  "0.0094382209"  "BRL"   
 [31,] "CMIG4.SA"  "0.0069480975"  "BRL"   
 [32,] "ELET3.SA"  "0.0020406349"  "BRL"   
 [33,] "PETZ3.SA"  "0.0007416902"  "BRL"   
 [34,] "AZUL4.SA"  "0.0130967183"  "BRL"   
 [35,] "JBSS3.SA"  "0.0155168176"  "BRL"   
 [36,] "EMBR3.SA"  "0.0078476624"  "BRL"   
 [37,] "CCRO3.SA"  "0.0193687626"  "BRL"   
 [38,] "WEGE3.SA"  "0.0133503537"  "BRL"   
 [39,] "GOAU4.SA"  "0.0131497528"  "BRL"   
 [40,] "EQTL3.SA"  "0.0200478136"  "BRL"   
 [41,] "BBDC3.SA"  "0.0079287553"  "BRL"   
 [42,] "GOLL4.SA"  "0.0029608469"  "BRL"   
 [43,] "CMIN3.SA"  "0.0000129327"  "BRL"   
 [44,] "MRVE3.SA"  "0.0042786963"  "BRL"   
 [45,] "MRFG3.SA"  "0.0113745615"  "BRL"   
 [46,] "ENEV3.SA"  "0.0026352343"  "BRL"   
 [47,] "CSAN3.SA"  "0.0038878111"  "BRL"   
 [48,] "TIMS3.SA"  "0.0027186517"  "BRL"   
 [49,] "CYRE3.SA"  "0.0192527350"  "BRL"   
 [50,] "RADL3.SA"  "0.0196107136"  "BRL"   
 [51,] "RENT3.SA"  "0.0138648394"  "BRL"   
 [52,] "UGPA3.SA"  "0.0018623181"  "BRL"   
 [53,] "GFSA3.SA"  "0.0004434930"  "BRL"   
 [54,] "BEEF3.SA"  "0.0053148478"  "BRL"   
 [55,] "SUZB3.SA"  "0.0137303462"  "BRL"   
 [56,] "GMAT3.SA"  "0.0012168250"  "BRL"   
 [57,] "BPAN4.SA"  "0.0192959382"  "BRL"   
 [58,] "SOMA3.SA"  "0.0110705933"  "BRL"   
 [59,] "KLBN11.SA" "0.0112109331"  "BRL"   
 [60,] "MULT3.SA"  "0.0052433902"  "BRL"   
 [61,] "AMAR3.SA"  "0.0203527439"  "BRL"   
 [62,] "ECOR3.SA"  "0.0137661423"  "BRL"   
 [63,] "BBSE3.SA"  "0.0045004528"  "BRL"   
 [64,] "TOTS3.SA"  "0.0063097933"  "BRL"   
 [65,] "POMO4.SA"  "0.0146314125"  "BRL"   
 [66,] "ESPA3.SA"  "0.0105465620"  "BRL"   
 [67,] "CRFB3.SA"  "0.0118701005"  "BRL"   
 [68,] "RRRP3.SA"  "0.0005419413"  "BRL"   
 [69,] "STBP3.SA"  "0.0145074457"  "BRL"   
 [70,] "RDOR3.SA"  "0.0095717016"  "BRL"   
 [71,] "ALPA4.SA"  "0.0191939870"  "BRL"   
 [72,] "JHSF3.SA"  "0.0202567462"  "BRL"   
 [73,] "CEAB3.SA"  "0.0008886220"  "BRL"   
 [74,] "BRAP4.SA"  "0.0107394189"  "BRL"   
 [75,] "VIVR3.SA"  "0.0033670857"  "BRL"   
 [76,] "HBSA3.SA"  "0.0100800669"  "BRL"   
 [77,] "HYPE3.SA"  "0.0101352919"  "BRL"   
 [78,] "SULA11.SA" "0.0112715332"  "BRL"   
 [79,] "ELET6.SA"  "0.0017914256"  "BRL"   
 [80,] "LIGT3.SA"  "0.0047265423"  "BRL"   
 [81,] "LCAM3.SA"  "0.0079291429"  "BRL"   
 [82,] "QUAL3.SA"  "0.0102671095"  "BRL"   
 [83,] "YDUQ3.SA"  "0.0122675976"  "BRL"   
 [84,] "ENBR3.SA"  "0.0028531311"  "BRL"   
 [85,] "LJQQ3.SA"  "0.0154975827"  "BRL"   
 [86,] "CPFE3.SA"  "0.0138900969"  "BRL"   
 [87,] "SEQL3.SA"  "0.0121453981"  "BRL"   
 [88,] "SBSP3.SA"  "0.0147262399"  "BRL"   
 [89,] "ANIM3.SA"  "0.0065925907"  "BRL"   
 [90,] "POSI3.SA"  "0.0072363027"  "BRL"   
 [91,] "VAMO3.SA"  "0.0090384286"  "BRL"   
 [92,] "TEND3.SA"  "0.0131891459"  "BRL"   
 [93,] "MOVI3.SA"  "0.0167423699"  "BRL"   
 [94,] "SAPR4.SA"  "0.0015289359"  "BRL"   
 [95,] "ENJU3.SA"  "0.0073709518"  "BRL"   
 [96,] "BRKM5.SA"  "0.0136982578"  "BRL"   
 [97,] "SANB11.SA" "0.0178805690"  "BRL"   
 [98,] "PCAR3.SA"  "0.0071344359"  "BRL"   
 [99,] "RAPT4.SA"  "0.0003071119"  "BRL"   
[100,] "AERI3.SA"  "0.0018792053"  "BRL"   

Checking the sum of weights. The sum of weights is:

4.3 The performance

The current cumulative return of this Portfolio is 3.5 percent.

The current standard deviation of daily returns of this Portfolio is 2.81 percent.

The current Sharpe of this portfolio is 1.1557.

ggplot(p3_ret, aes(x= ref_date, y= p3_cum) ) +  geom_line(color = "yellow2", size = 1.25) +
  labs(y = "Portfolio return", 
       x = "Time",
       title = "Group 3: Bernardo Botelho, Valentina Costa, Valter Morinaga") + theme_solarized()