Bootstrap monte car...
 
Notifications
Clear all

Bootstrap monte carlo

31 Posts
9 Users
6 Reactions
2,263 Views
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

@pizzaman May I suggest we take this discussion of TIPs off-line? Email me kandell@gmail.com



   
ReplyQuote
(@boomdaddy3)
Trusted Member
Joined: 5 years ago
Posts: 50
 

@jkandell I'm enjoying the TIPS conversation. Perhaps this isn't the correct venue or section for the discussion but it is edifying to all of us that lurk here. Maybe migrate it to a new thread with TIPS in the subject line? That's my 2-cents ????



   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

@boomdaddy3 Ok, I'll continue to respond to Pizzaguy here, then. 🙂

@pizzaman,

1) Yes, there are dangers in buying individual bonds that might need to be sold on the secondary market prior to maturity. You can't tell what interest rate you'll get. So I only buy individual bonds I intend to hold till maturity. Of course that goes equally for TIPs as nominal treasuries. For monies I might need prior to maturity I use Bond mutual funds of similar duration (nominal and TIPs).

2) Yes, there can be a slightly larger bid-ask spread in the secondary market for TIPs than ordinary treasuries. That's why I try to buy TIPs at the treasury auction: it's easy and you get the price paid by the largest buyers, with a very small spread. It's a sweet deal the govt has deliberately set up for the "little guy"!

3) The "break even inflation" rate is a useful concept to show how much inflation it would take to break-even with the TIP. The formula by the way is (1+nominal treasury yield) / (1+ TIP yield) -1. I think of it as the "cost" of the inflation insurance afforded by TIPs I am purchasing. The breakeven rate is also a common method of estimating future inflation in modeling. Some people split the difference, with half their bond allocation in nominal bonds and half in tips.

I'm not saying they're for everyone. But as someone who is close to retirement expected inflation is one of my biggest risks (though not the only one of course). When one is working, salaries are roughly tied to inflation. Social security when I claim it is roughly tied to inflation. Stocks are somewhat related. But bonds are not! (I lost a lot of money in CDs during the last couple years from unexpected inflation.) And since my essential expenses are covered by mostly bonds, I elect to go for the extra protection of TIPs. With the deficit and political unknowns, I feel inflation is a real concern for funds I'll need to cover essentials a few decades away. I think of it as a private inflation-protected pension.


This post was modified 9 months ago 2 times by Jonathan Kandell

   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

Posted by: @pizzaman

@jkandell

So the interest rate paying out this 6 month period is 4.45% is that correct??

What you're describing is closer to i-bonds, where the interest rate itself goes up and down with inflation. With TIPs the interest always stays the same. (Whatever the coupon is.) What changes with inflation with TIPs is the principal (which is different from how nominal bonds work), every six months. So at maturity you don't get your principal back; you get your principal that's been adjusted for inflation all along the way. And of course you've been paid coupons every six months. It's an odd way they've chosen to do it, but in the end it amounts to the same amount of $, I think.

My favorite site for explaining the nitty gritty of TIPs is tipswatch.com. A good site for coming up with a ladder is tipsladder.com. Many people prefer TIPs mutual funds instead of individual TIPs bonds. (Vanguard's Target Retirement Inflation fund is 17% short-term TIP mutual fund, for instance.) I have those too. But as I mentioned, after my experience a few years ago where my BND lost 17% and hasn't yet recovered, I prefer the certainty of individual bonds held to maturity over the unknowns of a mutual fund for monies that I absolutely need for essential expenses not covered by social security.


This post was modified 9 months ago 6 times by Jonathan Kandell

   
ReplyQuote
(@tcbarney)
Eminent Member
Joined: 2 years ago
Posts: 19
 

Posted by: @jkandell

If you haven't seen it, I highly recommend looking at the tpaw simulator for the safety first approach we take. (And, yes, it includes bootstrapping.)

Just wanted to say thanks for mentioning this. I wasn't aware of this tool. It's a great sanity check on my Pralana outcomes.

Todd



   
ReplyQuote
(@pizzaman)
Prominent Member Customer
Joined: 5 years ago
Posts: 651
 

@jkandell Thanks for sticking with this thread, I am learning a lot! I found a web site that goes into great detail on TIPS, it clarifies several things for me:

https://moneyfortherestofus.com/tips-and-ibonds/



   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

@pizzaman Cool. One final thought: I never touched TIPs back when they had yields of close to 0%. I-bonds were a better deal (and both were a better deal in retrospect than nominal CDs/bonds). But TIPs yields have been excellent lately, as high as 2.6% real (recent 30y), 2.3% (10/20y).


This post was modified 6 months ago by Jonathan Kandell

   
ReplyQuote
(@hunterfox)
Active Member
Joined: 3 months ago
Posts: 9
 

This thread hasn't been updated in a while (and the more recent posts have wandered away from Monte Carlo simulations into TIPS territory), but I'm still very interested in the original topic.

The Kitces article comparing forecasting models makes a convincing case that Traditional Monte Carlo is wrong in a most dangerous way (paints too rosy a picture of the chances of success squarely in the 70%-97% range we are most interested in). Regime-Based Monte Carlo modeling avoids this problem and could be surfaced within Pralana as an alternative to Traditional in the existing Monte Carlo web pages.

I share @ricke's concern that we come up with ideas way faster than even Charlie and Stuart can implement them. But some ideas are more worthy than others. Pralana's secret sauce is that it doesn't sacrifice correctness for simplicity. Embracing Traditional Monte Carlo's limitations seems to contradict that.

 



   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

Posted by: @hunterfox

The Kitces article comparing forecasting models makes a convincing case that Traditional Monte Carlo is wrong in a most dangerous way (paints too rosy a picture of the chances of success squarely in the 70%-97% range we are most interested in). Regime-Based Monte Carlo modeling avoids this problem and could be surfaced within Pralana as an alternative to Traditional in the existing Monte Carlo web pages.

I share @ricke's concern that we come up with ideas way faster than even Charlie and Stuart can implement them. But some ideas are more worthy than others. Pralana's secret sauce is that it doesn't sacrifice correctness for simplicity. Embracing Traditional Monte Carlo's limitations seems to contradict that.

1) The idea of a "regime-based" monte carlo is interesting. For those who don't want to read the article, it uses different expected returns for several periods, e.g. the user's expected returns for following 10 years, and then user's expected returns for next 20-30 years after that (e.g. short and long term).

My concerns are (1) it might slow down the app by doubling the calculations, effectively running two monte carlos, (2) we have just as low confidence in the expected returns short term as we do long term, (3) to my knowledge no other program other than income lab uses regime monte carlo, so it isn't an industry standard.

Now Pralana already includes a cape-based option for how much gets withdrawn in historical analysis. The idea of a using a cape-based expected return for forward looking monte carlo (as the authors utilize for predicting the next 10 years average return) is intriguing. Nothing stops us now deriving our expected returns for mode 2 by using 1/CAPE or a regression between CAPE and expected returns (though we'd have to run that on our own outside of Pralana).

But you got me thinking: Is Pralana already doing regime monte-carlo? Since in the "advanced portfolio modeling" we enter expected returns for different time periods, is Pralana monte already doing "regime" monte carlo using those time periods? Or is Pralana monte carlo using a single 'grand average' across all the time periods? If the latter, how is that single average derived given all the time periods? In other words: how exactly is Pralana deciding what average expected return(s) to use for monte carlo?

2) Just to be clear, my own proposal was something entirely different: to augment Pralana's historical analysis with block bootstrapping option activated via a checkbox on the historical analysis page. The Kitces article likes historical analysis (second best), but doesn't mention bootstrapping at all. I wish they would have included it.

The idea of bootstrapping is to generalize real history by randomly reordering it. And to use long enough blocks to capture autoregression and relationships between assets. (For instance. randomly re-order 5 year historical blocks of stocks and bonds and cash.) Note that a bootstrapped historical analysis would maintain what the Kitces article authors describe as

The historical model’s good performance may be, at least in part, a reflection of how actual historical market data capture real-world dynamics such as momentum and mean reversion that are not captured in conventional Monte Carlo simulations run by most software programs today.

I think of bootstrapped historical being half-way between a historical analysis and a monte carlo analysis. Maybe the best of both worlds. I wish the article authors had included it in the test rather than just the methods used in their own commercial product Income lab.

 

 


This post was modified 1 week ago 7 times by Jonathan Kandell

   
ReplyQuote
(@ricke)
Reputable Member Customer
Joined: 5 years ago
Posts: 302
 

@jkandell

The manual says you are right that it's already applying your ROR as the average return for MC for each time period.

The random RORs are based on a normal cumulative distribution and a mean ROR and standard deviation calculated from your inputs on the Build > Financial Assets > Simple Portfolio Modeling and > Advanced Portfolio Modeling pages.

As for the standard deviation:

...The calculated default value for each asset class is simply assumed to be the geometric nominal ROR x 1.5

If you want a wider spread of answers, you can select "Use Custom ROR Std Deviations" on the Monte Carlo page and then:

For each time period specified on the Advanced Portfolio Modeling page, the display on the Rate of Returns Std Deviations tab of the Analyze > Monte Carlo Analysis page contains a row for each of your asset classes where you can specify the standard deviation for that asset class in that period.

So as far as I can tell, you are right, Pralana already lets you set up different returns (and even different Std Devs) in different time periods in Monte Carlo. Pretty awesome when a feature you are hoping for is already in there.

I do think that a bootstrap historical run should be possible. They would set up an array with the historical returns from the start to the end and pad the end years with a repeat of the start years. Then the input would be for the user to tell them how many years to use at a time. It makes a random selection of the start year and uses the number of sequential years you indicated, then chooses random start years again and again until it fills your plan years. It would be like Monte Carlo in that it is making random selections, but by taking longer sequences it might give you more "real world" feel to the numbers. It's reasonable to think it's an improvement over Monte Carlo as it also picks the matching inflation value for each year.

The potential improvement over historical is that it creates an equal probability of using the data of any given year. In traditional historical analysis, the first year and last year can only appear in the historical trace that starts with the first year or ends with the last. Whereas years in the middle of the historical data can get used in as many years as there are in your plan. (So the data from, say, 1980 appears in every historical trace of a 30 year plan starting from 1951-1980, but data from 1926 and 2024 can only appear once, 1927 and 2023 only twice, etc.).

Sounds like an interesting potential feature, though I hope Charlie does things like bond ladders and TIPS ladders first.



   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  

Posted by: @ricke

The manual says you are right that it's already applying your ROR as the average return for MC for each time period.

The random RORs are based on a normal cumulative distribution and a mean ROR and standard deviation calculated from your inputs on the Build > Financial Assets > Simple Portfolio Modeling and > Advanced Portfolio Modeling pages.

...

For each time period specified on the Advanced Portfolio Modeling page, the display on the Rate of Returns Std Deviations tab of the Analyze > Monte Carlo Analysis page contains a row for each of your asset classes where you can specify the standard deviation for that asset class in that period.

So as far as I can tell, you are right, Pralana already lets you set up different returns (and even different Std Devs) in different time periods in Monte Carlo. Pretty awesome when a feature you are hoping for is already in there.

@Cstone, @smatthews51, can we get confirmation that Pralana is doing what the OP / Kitces article calls "regime Monte carlo", that is: monte carlo trajectories are based on the average return and sd per each of the periods specified by the user under the build section? In other words, if user has period 1 of ten years with 3% return, sd 18% and period 2 for the ten years after that with 10% return, sd 20%, a monte carlo trajectory would use the former for its first 10 years and the second for the next 10 years of each randomized trajectory? Etc. For some reason I had assumed Pralana was using periods only for deterministic and was not being this nuanced in its monte carlo. Thanks!

 


This post was modified 7 days ago 3 times by Jonathan Kandell

   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 323
Topic starter  
I do think that a bootstrap historical run should be possible. They would set up an array with the historical returns from the start to the end and pad the end years with a repeat of the start years. Then the input would be for the user to tell them how many years to use at a time. It makes a random selection of the start year and uses the number of sequential years you indicated, then chooses random start years again and again until it fills your plan years. It would be like Monte Carlo in that it is making random selections, but by taking longer sequences it might give you more "real world" feel to the numbers. It's reasonable to think it's an improvement over Monte Carlo as it also picks the matching inflation value for each year

Yah, that’s it. I don't think bootstrapping replaces a full parametric monte carlo though, in the form presented it's closer to a replacement for historical. But it is kinda half way in between. The smaller your block size, the closer the results are to monte carlo; the larger, the closer the results are to historical. A "sweet spot" might be 5-7 years blocks, where you still have plenty of room for randomness but capture much of the auto-correlation in stocks, the statistical properties of the sample, such as fat tails, and also the historical relationships between asset classes like stocks-cash-bonds-inflation. To fully replace monte carlo you'd want to scale the bootstrap results (stretch or squash by a given factor) in order to have them match your future expected returns. I do that in my private analsysis but don't necessarily think many would want that with Pralana.

Sounds like an interesting potential feature, though I hope Charlie does things like bond ladders and TIPS ladders first.

Agreed!

The potential improvement over historical is that it creates an equal probability of using the data of any given year. In traditional historical analysis, the first year and last year can only appear in the historical trace that starts with the first year or ends with the last. Whereas years in the middle of the historical data can get used in as many years as there are in your plan. (So the data from, say, 1980 appears in every historical trace of a 30 year plan starting from 1951-1980, but data from 1926 and 2024 can only appear once, 1927 and 2023 only twice, etc.).

Many historical models use looping as a way around that problem. Pralana does not. Looping solves the problem by having no one start year occur more often than any other. (It does of course bend reality a little by having 2024 continue with 1928, which might mess up some of the benefits of historical tabulation!)

But, note that Pralana does not do a simple historical analysis, but rather extends the trajectories by using expected returns for missing years. As I understand it:

Pralana starts with a trajectory beginning 1928 running forward through your plan longevity e.g. first trajectory is 1928-1967 for a 40 year plan. It then does a second trajectory: 1929-1968. And so on till 1985-2024. That gives 58 historical forty-year trajectories in my example. That is where non-looping historical samples normally stop.

But... Pralana then goes beyond the last full run, using a mix of historical data and your projected returns for the missing years, stopping with the year ten years prior to present. For instance in my example, Pralana would do a trajectory 1986-2024 (which is only 39 years) and then add the user expected return (from simple or advanced modeling) for the 40th year. Then in 1987-2024 (38 years) it would flesh out the missing years with my expected return for the last 2 years. And so on. The last forward projection, starting 2015 Pralana would use 10 years of real returns and another 30 years of expected returns. The benefit of all this is it adds 30 additional runs to the 58 historical runs, giving a larger sample for the analysis (88 vs 38). So while 1928 would only appear once, 2024 and 2023, and all the latter years would appear multiple times in those last runs. But, still, I do question whether this implementation of historical is an improvement or worse than simple looping. As we got closer to the run starting in 2015, more and more years would not be actual history. (13% of the total data in my example.) 11 of the 88 trajectories have more than half their data projected! And early years like 1928 get under represented, as you note. So all in all I am not sure if I like this method.

I wonder if the simple looping would be better to cover the trajectories starting from 1976 through from 2024? Pralana’s method isn’t really pure historical and includes a lot of projection.


This post was modified 7 days ago 2 times by Jonathan Kandell
This post was modified 6 days ago by Jonathan Kandell
This post was modified 5 days ago 8 times by Jonathan Kandell
This post was modified 4 days ago 2 times by Jonathan Kandell

   
ReplyQuote
(@ricke)
Reputable Member Customer
Joined: 5 years ago
Posts: 302
 

@jkandell

Aha! I've been using Pralana for years and did not realize that Pralana's historical results switch to projection to give more results. Thanks for teaching me something about the program today!

 



   
ReplyQuote
(@smatthews51)
Member Admin
Joined: 5 years ago
Posts: 1153
 

@jkandell Confirmed! Pralana Monte Carlo analyses use the average ROR and standard deviations for each of the defined periods.

Stuart



   
ReplyQuote
(@hunterfox)
Active Member
Joined: 3 months ago
Posts: 9
 

@jkandell

Yes, I saw Stuart's response. Kudos to you for making the connection to Portfolio Time Periods (and of course kudos to Stuart and Charlie for software that does what I want before I know I want it)!

It looks like the periods defined in page Build > Scenario Assumptions > Inflation Rates are also relevant here. A note in the user manual about that (and a mention of the Kitces paper or the virtues of using regime based MC) would be helpful.



   
ReplyQuote
Page 2 / 3
Share: