My Porfolio 2022 going forward?
Now that I got that out of the way
Synopsis¶
I am a quant/mechanical investor at heart. I no longer have the time to do quant work or stock picking. Sad to say, I am going the ETF route. Something safe and diverified. I like the concept of not looking at my portfolio and have it just work.
I have had a few choices:
- Vanguard Target Retirement 2030 Fund (VTHRX)
- Some other Targe Date fund
- Some combos of ETFs
- Continue to overthing or stess out buying individual stocks
What is good about the latter is that you can decide your own allocation. Because of my situation, I do not need to be in bonds at all. the rule of 120 or 100 does not apply. My current retirement fund functions as such.
In spite of my age. a 100/0 or 90/10 stock/bond ration is acceptable
For my main profolio, I am going for a 90/10 stock/bond and 60/40 US/International. I would prefer a home bias, but from what I read, going forward, the United States might not be all that.
Side note: Most US firms are really international/multinational. The benefit of US stocks is the SEC and regulators.
Now for a quick look at the plan.
The ETFs that I have chose are:
- VTI Vanguard Total Stock Market Index Fund;ETF
- VXUS: Vanguard Total International Stock Index Fund;ETF
- AGG: iShares Core US Aggregate Bond ETF
- BNDX: Vanguard Total International Bond Index Fund;ETF
VTI/VXUS at 60/40 could be reduced to just VT. However, if I choose to change alocation, it is easier.
I am not always a fan of looking at generated charts by others (I like to see how they produced their results). So here are a few that can be reproduced.
#Load Libraries
suppressPackageStartupMessages(library(tidyverse))
suppressPackageStartupMessages(library(tidyquant))
#Stocks an Weights
ETF <- c('VTI','VXUS','AGG','BNDX')
wt <- c(.54,.36,.07,.03)
#set periods
start_date <- today() - years(10)
end_date <- today()
start_date
end_date
Get the prices¶
suppressWarnings(stock_returns_monthly <- ETF %>%
tq_get(get = "stock.prices",
from = start_date,
to = end_date) %>%
group_by(symbol) %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "Ra"))
#stock_returns_monthly
Get Baseline data¶
S&P500 is the benchmark that most try to beat
suppressWarnings(baseline_returns_monthly <- "VOO" %>%
tq_get(get = "stock.prices",
from = start_date,
to = end_date) %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "Rb"))
Change data to monthly returns
suppressWarnings(portfolio_returns_monthly <- stock_returns_monthly %>%
tq_portfolio(assets_col = symbol,
returns_col = Ra,
weights = wt,
rebalance_on = "years",
col_rename = "Ra"))
RaRb_single_portfolio <- left_join(portfolio_returns_monthly,
baseline_returns_monthly,
by = "date")
Perfomance Data¶
Returns¶
RaRb_single_portfolio %>%
tq_performance(Ra = Ra, Rb = NULL, performance_fun = table.AnnualizedReturns)
RaRb_single_portfolio %>%
tq_performance(Ra = Ra, Rb = Rb, performance_fun = table.CAPM)
This is a good question here. If there is a negative 4% to the S&P500 and is almost completely corrilated? Why not just stick with either SPY or VOO? From what I understand and read, Global is expanding in percentage of the market. It is what VANGARD is thinking.
portfolio_growth_monthly <- stock_returns_monthly %>%
tq_portfolio(assets_col = symbol,
returns_col = Ra,
weights = wt,
col_rename = "investment.growth",
wealth.index = TRUE) %>%
mutate(investment.growth = investment.growth * 10000)
portfolio_growth_monthly %>%
ggplot(aes(x = date, y = investment.growth)) +
geom_line(size = 2, color = palette_light()[[1]]) +
labs(title = "Portfolio Growth",
subtitle = "54% VTI, 36% VXUS, 7% AGG, 3% BNDX",
caption = "What $1000 becomes",
x = "", y = "Portfolio Value") +
geom_smooth(method = "loess") +
theme_tq() +
scale_color_tq() +
scale_y_continuous(labels = scales::dollar)
ETF <- c('VTI','VXUS','AGG','BNDX')
wt <- c(.54,.36,.07,.03)
How your money grows
portfolio_growth_monthly
Need to stop now. If I get a chance, I will update this page later.
Comments
Comments powered by Disqus