Der Artikel verlinkt auf William Bernsteins Plan, den er für Business Insider skizziert hat , in dem es heißt:
Put equal amounts of that 15% into just three different mutual funds:
• A U.S. total stock market index fund
• An international total stock market index fund
• A U.S. total bond market index fund
Over time, the three funds will grow at different rates, so once per year
you'll adjust their amounts so that they're again equal.
That's it.
Modellierung dieser Anlagestrategie
Ich habe drei Fonds von Google ausgewählt und einige Zahlen durchgerechnet.
MUTF: VTSMX Vanguard Total Stock Market Index
MUTF: VGTSX Vanguard Total International Stock Index Fund Investor Shares
MUTF: VBMFX Vanguard Total Bond Market Index Fund Investor Shares
Der internationale Aktienindex geht nur bis zum 29. April 1996 zurück, also wurde ein Lauf von 21 Jahren modelliert. Basierend auf 15% eines Gehalts von $550 pro Monat mit verschiedenen jährlichen Erhöhungen:
annual salary total contributions final investment
rise (%) over 21 years value after 21 years
0 20,790 43,111
1 23,007 46,734
2 25,526 50,791
Grob gesagt, verdoppelt diese Investition den Wert der Beiträge über zwei Jahrzehnte.
Hinweis: Rebalancing-Gebühren sind in der Simulation nicht enthalten.
Nachfolgend finden Sie den Code, der zur Ausführung der Simulation verwendet wird. Wenn Sie Mathematica haben, können Sie es mit verschiedenen Fonds versuchen.
funds = {"VTSMX", "VGTSX", "VBMFX"};
(* Plotting the fund indices *)
{tsm, ism, tbm} = FinancialData[#, {"April 29, 1996",
DateList[], "Month"}] & /@ funds; DateListPlot[
Transpose[{First /@ #, 100 Last /@ #/#[[1, 2]]}] & /@
{tsm, ism, tbm}, PlotLegends -> funds, PlotLabel ->
"Indices from month-end April 1996 rebased to 100"]
(* Plotting the investment contributions *)
salary = 550;
investment = salary*0.15;
inflation = 2;
nmonths = Length[tsm] - 1;
ny = Quotient[nmonths, 12];
iy = Array[investment/3 (1 + inflation/100)^(# - 1) &, ny];
d = Take[Flatten[ConstantArray[#, 12] & /@ iy], 12 ny];
DateListPlot[Transpose[{Take[First /@ tsm, 12 ny], 3 d}],
PlotLabel -> Row[{"Monthly contributions with ",
inflation, "% inflation - Total = ",
Total[3 d]}], PlotRange -> {Automatic, {0, Automatic}},
PlotMarkers -> {Automatic, 6}, FrameLabel -> {"Time",
Rotate[Style["$", 12], Pi/2]}, ImageSize -> 380]
(* Calculating & plotting the investment values *)
{tsm2, ism2, tbm2} = Take[Ratios@# - 1, 12 ny] & /@
Map[Last, {tsm, ism, tbm}, {2}];
d2 = 0;
ds = {};
eachyear[yr_] := Last /@ Function[series,
AppendTo[ds, Total@Array[(d[[# + 12 (yr - 1)]] +
If[# == 1, d2/3, 0]) Apply[Times,
1 + series[[# + 12 (yr - 1) ;; 12 yr]]] &,
12]]] /@ {tsm2, ism2, tbm2}
vals = Array[(d2 = Total@eachyear[#]) &, ny];
rd = Last /@ Partition[Take[First /@ tsm, {2, 12 ny + 1}], 12];
DateListPlot[Transpose[MapThread[
{{#1, #2[[1]]}, {#1, #2[[2]]}, {#1, #2[[3]]}} &,
{rd, Partition[ds, 3]}]],
PlotMarkers -> {Automatic, 8}, PlotLabel -> Row[{
"Individual fund investment values over ", ny,
" years"}], PlotLegends -> funds, Epilog -> {Red,
Arrowheads[0.06], Arrow[{{{2007, 10, 1}, 12000},
{{2008, 10, 1}, 9000}}]}, FrameLabel -> {"Time",
Rotate[Style["$", 12], Pi/2]}, ImageSize -> 400]
Beachten Sie oben, wie der Anleihenindex (VBMFX) während des Crashs 2008 seinen Wert bewahrt. Dies veranschaulicht den Grundgedanken der Diversifizierung über verschiedene Fondstypen.
DateListPlot[Transpose[{rd, vals}],
PlotMarkers -> {Automatic, 8}, PlotLabel -> Row[{
"Total investment value over time - Final value = ",
Last[vals]}], FrameLabel -> {"Time",
Rotate[Style["$", 12], Pi/2]}, ImageSize -> 400]