Hello,

The libraries loaded during startup in the .First section of my .Rprofile
file are in the attached file.

Regards,

--
André Luiz Tietbohl Ramos, PhD


On Mon, Feb 2, 2026 at 4:02 PM Ilya Kipnis <[email protected]> wrote:

> Please include libraries used
>
> On Mon, Feb 2, 2026 at 1:46 PM Andre Luiz Tietbohl Ramos <
> [email protected]> wrote:
>
>>
>> Dear Ilya,
>>
>> Thanks for the prompt reply once more! The code I used is below and its
>> output is attached (which is in Portuguese).
>>
>> tickers <- c('UNIP6.SA', 'KLBN4.SA', 'CSAN3.SA', 'BBAS3.SA', 'PETR4.SA',
>> 'SBSP3.SA')
>> tickers.clean <- str_replace_all(tickers,'.SA$', '')
>> ## weights
>> wts = c(0.4, 0.15, 0.15, 0.05, 0.1, 0.15)
>>
>> wts_tbl <- tibble(symbol = tickers,
>>                   wts = wts)
>> wts_percent <- wts_tbl
>> wts_percent$wts <- sapply(wts_percent$wts, function(x) percent(x,
>> accuracy = 0.01))
>> print(wts_percent)
>>
>> ## YF download
>> price_data <- tq_get(tickers,
>>                      from = start,
>>                      to = end,
>>                      get = 'stock.prices')
>>
>> ## Daily return for each stock
>> ret_data <- price_data %>% group_by(symbol) %>%
>>     tq_transmute(select = adjusted,
>>                  mutate_fun = periodReturn,
>>                  period = "daily",
>>                  col_rename = "ret",
>>                  relationship = "many-to-many")
>>
>> ## weights, returns join on a daily basis
>> ret_data <- left_join(ret_data, wts_tbl, by = 'symbol', relationship =
>> "many-to-many")
>>
>> ## weighted average
>> ret_data <- ret_data %>%
>>     mutate(wt_return = wts * ret)
>>
>> ## removal of the .SA suffix from Brazilian stocks via custom function
>> del.SA downloaded through tidyquant
>> ret_data <- del.SA(ret_data, "tq")
>>
>> ## total return on a given day is the sum of the prices weight of the
>> portfolio
>> port_ret <- ret_data %>%
>>     group_by(date) %>%
>>     summarise(port_ret = sum(wt_return))
>>
>> ## Portfolio cumulative return via cumprod()
>> port_cumulative_ret  <- port_ret %>%
>>     mutate(cum_ret = cumprod(1 + port_ret))
>>
>> ## filter for period of interest
>> port_cumulative_ret <- port_cumulative_ret[port_cumulative_ret$date >=
>> as.Date("2024-06-01") &
>>
>>  port_cumulative_ret$date <= today(),]
>>
>> posrtfolio.return <-
>>     port_cumulative_ret %>% ggplot(aes(x = date, y = cum_ret)) +
>>     theme_gray() +
>>     theme(plot.background = element_rect(fill = "gray86")) +
>>     geom_line(color = "blue") +
>>     theme(axis.text.x = element_text(angle = 50, hjust = 1)) +
>>     labs(x = 'Data',
>>          y = 'Retorno Acumulado',
>>          title = paste0('Retorno Acumulado do Portfolio de
>> ',length(tickers.clean), ' ativo(s) em ',
>>                         format(as.Date(end), format="%d/%m/%Y")),
>>          subtitle = paste0("Ativos: ", toString(tickers.clean), "\nPesos:
>> ",
>>                            toString(percent(wts, accuracy = 0.1)))
>>          ) +
>>     scale_x_date(date_breaks = '2 weeks',
>>                  date_labels = '%d %b %y') +
>>     scale_y_continuous(
>>          breaks = seq(0, 10, 0.05),
>>         labels = scales::percent_format(accuracy = 1)
>>     )
>>
>> Code for saving it to pdf seems quite straight forward and simple thus it
>> isn't shown.
>> I hope this work for you.  If it doesn't let me know for it does for me
>> (OSX v11.7, R v4.1).
>>
>> Regards,
>>
>> --
>> André Luiz Tietbohl Ramos, PhD
>>
>>
>> On Mon, Feb 2, 2026 at 2:43 PM Ilya Kipnis <[email protected]> wrote:
>>
>>> Andre,
>>>
>>> I am saying that those of us that aren't *you* cannot run your code
>>> because we don't know how you formulated the "stocks" object. Your code is
>>> not reproducible to anybody else. Please include a minimum
>>> *reproducible* example.
>>>
>>> -Ilya
>>>
>>> On Mon, Feb 2, 2026 at 12:41 PM Andre Luiz Tietbohl Ramos <
>>> [email protected]> wrote:
>>>
>>>> Dear Ilya,
>>>>
>>>> Thanks for the prompt reply!  The code from my previous message works
>>>> and I uploaded as an example so you could see what my intent is.  Your
>>>> suggestion will be considered, thank you! Its output is attached (which is
>>>> in Portuguese).
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> André Luiz Tietbohl Ramos, PhD
>>>>
>>>>
>>>> On Mon, Feb 2, 2026 at 12:56 PM Ilya Kipnis <[email protected]>
>>>> wrote:
>>>>
>>>>> This isn't a reproducible example--we don't have the stocks data
>>>>> frame. Also, it is bad practice to use dplyr in the R/Finance stack as it
>>>>> overrides multiple functions, such as lag and filter.
>>>>>
>>>>> On Mon, Feb 2, 2026 at 8:39 AM Andre Luiz Tietbohl Ramos <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Is it possible to customize the x-axis label? Using ggplot I have the
>>>>>> custom x-label described below,
>>>>>>
>>>>>> stocks %>%
>>>>>> ggplot(aes(x = date, y = cum_ret)) +
>>>>>>     theme_gray() +
>>>>>>     theme(plot.background = element_rect(fill = "gray86")) +
>>>>>>     geom_line(color = "blue") +
>>>>>>     *theme(axis.text.x = element_text(angle = 50, hjust = 1))* +
>>>>>>     labs(x = 'Data',
>>>>>>          y = 'Cumulative Return',
>>>>>>          title = paste0('Portfolio Cumulative Return of ',
>>>>>> length(tickers.clean), ' stocks on ',
>>>>>>                         format(as.Date(end), format="%d/%m/%Y")),
>>>>>>          subtitle = paste0("Ativos: ", toString(tickers.clean),
>>>>>> "\nWeights:
>>>>>> ",
>>>>>>                            toString(percent(wts, accuracy = 0.1)))
>>>>>>          ) +
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> * scale_x_date(date_breaks = '2 weeks',
>>>>>> date_labels = '%d %b %y') +    scale_y_continuous(        breaks =
>>>>>> seq(0,
>>>>>> 10, 0.05),        labels = scales::percent_format(accuracy = 1)*
>>>>>>     )
>>>>>>
>>>>>> TIA,
>>>>>>
>>>>>> --
>>>>>> Andre Luiz Tietbohl Ramos, PhD
>>>>>>
>>>>>>         [[alternative HTML version deleted]]
>>>>>>
>>>>>> _______________________________________________
>>>>>> [email protected] mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>>>>>> -- Subscriber-posting only. If you want to post, subscribe first.
>>>>>> -- Also note that this is not the r-help list where general R
>>>>>> questions should go.
>>>>>>
>>>>>

Attachment: Rlibraries.r
Description: Binary data

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should 
go.

Reply via email to