4 Group 3
Managers: Bernardo Botelho, Valentina Costa, Valter Morinaga
4.1 The setup
<- 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_list <- 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_w <- 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_exc
<- cbind(p3_list, p3_w, p3_exc)
p3_wlist colnames(p3_wlist) <- c('ticker','weights','Currency')
#Download data Financial
<- 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")
p3 # Download data Exchange rate
getFX("BRL/USD",from=start , to = end)
<- as.data.frame(BRLUSD)
exchanges $ref_date <- as.Date(rownames(exchanges))
exchanges# Merge
<- merge(p3, exchanges, by = "ref_date")
p3 $BRL.USD[p3$Currency == "USD"] <- 1
p3# Adjusting currency
$price_adj <- p3$price_adjusted * p3$BRL.USD
p3# Calculating return
<- p3 %>%
ret group_by(ticker) %>%
tq_transmute(select = price_adj,
mutate_fun = periodReturn,
period = "daily",
col_rename = "ret")
<- merge(p3, ret, by = c("ref_date", "ticker"))
p3 # Data tabulation
$ret_product <- p3$ret * as.numeric(p3$weights)
p3# Creating a df of portfolios return
<- p3 %>%
p3_ret 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_cum[i] <- Return.cumulative(p3_ret$p3_return[1:i])
p3_ret
}#Calculating cumulative return total
<- data.frame(matrix(NA, nrow = 1,ncol = 4))
p3_sharpe colnames(p3_sharpe) <- c('p3_return', 'p3_sd', 'p3_rf' , '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 p3_sharpe
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()