Hi Pedro, Another 'best practice' and polite thing to do is link to other places you may have cross-posted. That will give people the opportunity to see if your questions has been answered in another forum.
I saw your post on R-SIG-Finance (https://stat.ethz.ch/pipermail/r-sig-finance/2020q3/014979.html), and started to work on a solution. I don't know how to do this in tidyquant, but here's how you can do it with quantmod: # all tickers tk <- c("ANA.MC", "ACS.MC", "AENA.MC", "AMS.MC", "MTS.MC", "BBVA.MC", "SAB.MC", "SAN.MC", "BKT.MC", "CABK.MC", "CLNX.MC", "ENG.MC", "ENC.MC", "ELE.MC", "FER.MC", "GRF.MC", "IBE.MC", "ITX.MC", "COL.MC", "IAG.MC", "MAP.MC", "MEL.MC", "MRL.MC", "NTGY.MC", "REE.MC", "REP.MC", "SGRE.MC", "TEF.MC", "VIS.MC", "ACX.MC", "BKIA.MC", "CIE.MC", "MAS.MC", "ALM.MC", "IDR.MC") # download them into an environment ('e') require(quantmod) getSymbols(tk, from = "2019-12-31", env = (e <- new.env())) # extract adjusted close column adj <- lapply(e, Ad) # calculate daily returns from adjusted data, # merge into a xts matrix, and fill NA with 0 ret <- do.call(merge, c(lapply(adj, dailyReturn), fill = 0)) # cumulative returns cumret <- cumprod(1 + ret) - 1 # set names colnames(cumret) <- names(adj) last(cumret) # calculate histogram for period-to-date returns hist(drop(last(cumret))) I'm not sure that's the histogram you're looking for, but I hope it gives you a start toward a solution. Best, Josh On Fri, Jul 31, 2020 at 9:55 AM Rui Barradas <ruipbarra...@sapo.pt> wrote: > > Hello, > > I second Michael's opinion. When the post's code is very long, there is > a tendency to have less answers. > > Please post the output of > > > dput(head(bwchist, 30)) > > > It's much shorter code and it recreates the data so we will be able to > see what's wrong and try to find a solution. > > Hope this helps, > > Rui Barradas > > > Às 15:44 de 31/07/2020, Michael Dewey escreveu: > > Dear Pedro > > > > Some comments in-line > > > > On 30/07/2020 21:16, Pedro páramo wrote: > >> Hi all, > >> > >> I attach my code, the think is I want to make a bar plot the last > >> variable > >> called "bwchist" > >> > >> so the X axis are "Accion" and the y axis are "reval" values. > >> > >> I have prove class(bwchist) and says dataframe but its still a list > >> because > >> it says me > >> > >> I have prove to unlist, but it doesnt work > >> > >> hist(bwchist) > >> Error in hist.default(bwchist) : 'x' must be numeric > > > > So bwchist is not a numeric variable as hist needs. Aboce you said it > > is a data frame but data frames are not numeric. > > > > For future reference your example is way too long for anyone to go > > through and try to help you. Try next time to reduce it to the > > absolute minimum by removing sections while you still get the error. > > It is also easier to get help if you can remove unnecessary packages. > > > > It is also unreadable because you are posting in HTML and that makes > > the post unreadable as this is a plain text list. > > > > Michael > > > > > >> > >> Or > >> > >> barplot(bwchist) > >> Error in barplot.default(bwchist) : 'height' must be a vector or a > >> matrix > >> > >> library(PerformanceAnalytics) > >> library(dplyr) > >> library(tibble) > >> library(lubridate) > >> library(PerformanceAnalytics) > >> library(quantmod) > >> library(ggplot2) > >> library(png) > >> library(grid) > >> library(RCurl) > >> library(tidyquant) > >> library(timetk) > >> library(data.table) > >> > >> > >> > >> Acciona<- tq_get("ANA.MC",from = '2019-12-31',get = "stock.prices") > >> ACS<- tq_get("ACS.MC",from = '2019-12-31',get = "stock.prices") > >> Aena<- tq_get("AENA.MC",from = '2019-12-31',get = "stock.prices") > >> Amadeus<- tq_get("AMS.MC",from = '2019-12-31',get = "stock.prices") > >> ArcelorMittal<- tq_get("MTS.MC",from = '2019-12-31',get = > >> "stock.prices") > >> BBVA<- tq_get("BBVA.MC",from = '2019-12-31',get = "stock.prices") > >> Sabadell<- tq_get("SAB.MC",from = '2019-12-31',get = "stock.prices") > >> Santander<- tq_get("SAN.MC",from = '2019-12-31',get = "stock.prices") > >> Bankinter<- tq_get("BKT.MC",from = '2019-12-31',get = "stock.prices") > >> CaixaBank<- tq_get("CABK.MC",from = '2019-12-31',get = "stock.prices") > >> Cellnex<- tq_get("CLNX.MC",from = '2019-12-31',get = "stock.prices") > >> Enagas<- tq_get("ENG.MC",from = '2019-12-31',get = "stock.prices") > >> ENCE<- tq_get("ENC.MC",from = '2019-12-31',get = "stock.prices") > >> Endesa<- tq_get("ELE.MC",from = '2019-12-31',get = "stock.prices") > >> Ferrovial<- tq_get("FER.MC",from = '2019-12-31',get = "stock.prices") > >> Grifols<- tq_get("GRF.MC",from = '2019-12-31',get = "stock.prices") > >> Iberdrola<- tq_get("IBE.MC",from = '2019-12-31',get = "stock.prices") > >> Inditex<- tq_get("ITX.MC",from = '2019-12-31',get = "stock.prices") > >> Colonial<- tq_get("COL.MC",from = '2019-12-31',get = "stock.prices") > >> IAG<- tq_get("IAG.MC",from = '2019-12-31',get = "stock.prices") > >> Mapfre<- tq_get("MAP.MC",from = '2019-12-31',get = "stock.prices") > >> Melia<- tq_get("MEL.MC",from = '2019-12-31',get = "stock.prices") > >> Merlin<- tq_get("MRL.MC",from = '2019-12-31',get = "stock.prices") > >> Naturgy<- tq_get("NTGY.MC",from = '2019-12-31',get = "stock.prices") > >> REE<- tq_get("REE.MC",from = '2019-12-31',get = "stock.prices") > >> Repsol<- tq_get("REP.MC",from = '2019-12-31',get = "stock.prices") > >> SGamesa<- tq_get("SGRE.MC",from = '2019-12-31',get = "stock.prices") > >> Telefonica<- tq_get("TEF.MC",from = '2019-12-31',get = "stock.prices") > >> Viscofan<- tq_get("VIS.MC",from = '2019-12-31',get = "stock.prices") > >> Acerinox<- tq_get("ACX.MC",from = '2019-12-31',get = "stock.prices") > >> Bankia<- tq_get("BKIA.MC",from = '2019-12-31',get = "stock.prices") > >> CIE<- tq_get("CIE.MC",from = '2019-12-31',get = "stock.prices") > >> MasMovil<- tq_get("MAS.MC",from = '2019-12-31',get = "stock.prices") > >> Almirall<- tq_get("ALM.MC",from = '2019-12-31',get = "stock.prices") > >> Indra<- tq_get("IDR.MC",from ='2019-12-31',get = "stock.prices") > >> > >> Indra_daily_returns <- Indra %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Indra_cum_returns <- Indra_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Almirall_daily_returns <- Almirall %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Almirall_cum_returns <- Almirall_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Acciona_daily_returns <- Acciona %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Acciona_cum_returns <- Acciona_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> ACS_daily_returns <- ACS %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> ACS_cum_returns <- ACS_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Aena_daily_returns <- Aena %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Aena_cum_returns <- Aena_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Amadeus_daily_returns <- Amadeus %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Amadeus_cum_returns <- Amadeus_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> ArcelorMittal_daily_returns <- ArcelorMittal %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> ArcelorMittal_cum_returns <- ArcelorMittal_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> BBVA_daily_returns <- BBVA %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> BBVA_cum_returns <- BBVA_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> > >> Sabadell_daily_returns <- Sabadell %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Sabadell_cum_returns <- Sabadell_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Santander_daily_returns <- Santander %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Santander_cum_returns <- Santander_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> > >> Bankinter_daily_returns <- Bankinter %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Bankinter_cum_returns <- Bankinter_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> CaixaBank_daily_returns <- CaixaBank %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> CaixaBank_cum_returns <- CaixaBank_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Cellnex_daily_returns <- Cellnex %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Cellnex_cum_returns <- Cellnex_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> CIE_daily_returns <- CIE %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> CIE_cum_returns <- CIE_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> CIE_daily_returns <- CIE %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> CIE_cum_returns <- CIE_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Enagas_daily_returns <- Enagas %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Enagas_cum_returns <- Enagas_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> > >> ENCE_daily_returns <- ENCE %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> ENCE_cum_returns <- ENCE_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> Endesa_daily_returns <- Endesa %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Endesa_cum_returns <- Endesa_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> Ferrovial_daily_returns <- Ferrovial %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Ferrovial_cum_returns <- Ferrovial_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Grifols_daily_returns <- Grifols %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Grifols_cum_returns <- Grifols_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Iberdrola_daily_returns <- Iberdrola %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Iberdrola_cum_returns <- Iberdrola_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Inditex_daily_returns <- Inditex %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Inditex_cum_returns <- Inditex_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Colonial_daily_returns <- Colonial %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Colonial_cum_returns <- Colonial_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> IAG_daily_returns <- IAG %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> IAG_cum_returns <- IAG_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Mapfre_daily_returns <- Mapfre %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Mapfre_cum_returns <- Mapfre_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Melia_daily_returns <- Melia %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Melia_cum_returns <- Melia_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Merlin_daily_returns <- Merlin %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Merlin_cum_returns <- Merlin_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Naturgy_daily_returns <- Naturgy %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Naturgy_cum_returns <- Naturgy_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> REE_daily_returns <- REE %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> REE_cum_returns <- REE_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Repsol_daily_returns <- Repsol %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Repsol_cum_returns <- Repsol_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> SGamesa_daily_returns <- SGamesa %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> SGamesa_cum_returns <- SGamesa_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Telefonica_daily_returns <- Telefonica %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Telefonica_cum_returns <- Telefonica_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Viscofan_daily_returns <- Viscofan %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Viscofan_cum_returns <- Viscofan_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Acerinox_daily_returns <- Acerinox %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Acerinox_cum_returns <- Acerinox_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> > >> Bankia_daily_returns <- Bankia %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Bankia_cum_returns <- Bankia_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> MasMovil_daily_returns <- MasMovil %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> MasMovil_cum_returns <- MasMovil_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> Indra_daily_returns <- Indra %>% > >> tq_transmute(select = adjusted, # this specifies which > >> column > >> to select > >> mutate_fun = periodReturn, # This specifies what to do > >> with that column > >> period = "daily", # This argument calculates Daily > >> returns > >> col_rename = "idr_returns") # renames the column > >> Indra_cum_returns <- Indra_daily_returns %>% > >> mutate(cr = cumprod(1 + idr_returns)) %>% # using the cumprod > >> function > >> mutate(cumulative_returns = cr - 1) > >> > >> bestworst<-c(Acciona_cum_returns[nrow(Acciona_cum_returns),4], > >> ACS_cum_returns[nrow(ACS_cum_returns),4], > >> Aena_cum_returns[nrow(Aena_cum_returns),4], > >> Amadeus_cum_returns[nrow(Amadeus_cum_returns),4], > >> ArcelorMittal_cum_returns[nrow(ArcelorMittal_cum_returns),4], > >> BBVA_cum_returns[nrow(BBVA_cum_returns),4], > >> Sabadell_cum_returns[nrow(Sabadell_cum_returns),4], > >> Santander_cum_returns[nrow(Santander_cum_returns),4], > >> Bankinter_cum_returns[nrow(Bankinter_cum_returns),4], > >> CaixaBank_cum_returns[nrow(CaixaBank_cum_returns),4], > >> Cellnex_cum_returns[nrow(Cellnex_cum_returns),4], > >> Enagas_cum_returns[nrow(Enagas_cum_returns),4], > >> ENCE_cum_returns[nrow(ENCE_cum_returns),4], > >> Endesa_cum_returns[nrow(Endesa_cum_returns),4], > >> Ferrovial_cum_returns[nrow(Ferrovial_cum_returns),4], > >> Grifols_cum_returns[nrow(Grifols_cum_returns),4], > >> Iberdrola_cum_returns[nrow(Iberdrola_cum_returns),4], > >> Inditex_cum_returns[nrow(Inditex_cum_returns),4], > >> Colonial_cum_returns[nrow(Colonial_cum_returns),4], > >> IAG_cum_returns[nrow(IAG_cum_returns),4], > >> Mapfre_cum_returns[nrow(Mapfre_cum_returns),4], > >> Melia_cum_returns[nrow(Melia_cum_returns),4], > >> Merlin_cum_returns[nrow(Merlin_cum_returns),4], > >> Naturgy_cum_returns[nrow(Naturgy_cum_returns),4], > >> REE_cum_returns[nrow(REE_cum_returns),4], > >> Repsol_cum_returns[nrow(Repsol_cum_returns),4], > >> SGamesa_cum_returns[nrow(SGamesa_cum_returns),4], > >> Telefonica_cum_returns[nrow(Telefonica_cum_returns),4], > >> Viscofan_cum_returns[nrow(Viscofan_cum_returns),4], > >> Acerinox_cum_returns[nrow(Acerinox_cum_returns),4], > >> Bankia_cum_returns[nrow(Bankia_cum_returns),4], > >> CIE_cum_returns[nrow(CIE_cum_returns),4], > >> MasMovil_cum_returns[nrow(MasMovil_cum_returns),4], > >> Almirall_cum_returns[nrow(Almirall_cum_returns),4], > >> Indra_cum_returns[nrow(Indra_cum_returns),4]) > >> > >> namebw<-c("Acciona", > >> "ACS", > >> "Aena", > >> "Amadeus", > >> "ArcelorMittal", > >> "BBVA", > >> "Sabadell", > >> "Santander", > >> "Bankinter", > >> "CaixaBank", > >> "Cellnex", > >> "Enagas", > >> "ENCE", > >> "Endesa", > >> "Ferrovial", > >> "Grifols", > >> "Iberdrola", > >> "Inditex", > >> "Colonial", > >> "IAG", > >> "Mapfre", > >> "Melia", > >> "Merlin", > >> "Naturgy", > >> "REE", > >> "Repsol", > >> "SGamesa", > >> "Telefonica", > >> "Viscofan", > >> "Acerinox", > >> "Bankia", > >> "CIE", > >> "MasMovil", > >> "Almirall", > >> "Indra") > >> > >> > >> bwfinal <- matrix(bestworst, nrow =35 , ncol = 1) > >> bwfinal2 <- matrix(namebw, nrow =35 , ncol = 1) > >> > >> bwc<-cbind(bwfinal2,bwfinal) > >> colnames(bwc)=c("Accion","reval") > >> bwc <- as.data.frame(bwc) > >> colnames(bwchist)=c("Accion","reval") > >> bwchist <-as.data.frame(bwc[order(bwc$reval), ]) > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________________________ > >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > >> https://stat.ethz.ch/mailman/listinfo/r-help > >> PLEASE do read the posting guide > >> http://www.R-project.org/posting-guide.html > >> and provide commented, minimal, self-contained, reproducible code. > >> > > > > > -- > Este e-mail foi verificado em termos de vírus pelo software antivírus Avast. > https://www.avast.com/antivirus > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.