Notifications
Clear all

Monte Carlo simulation thoughts?

2 Posts
2 Users
1 Reactions
221 Views
 H22
(@hh22)
Active Member
Joined: 3 years ago
Posts: 8
Topic starter  

Curious how Pralana's Monte Carlo algorithm is structured (AAGR, CAGR, something else)? I ask as a competing program very recently announced a significant change to its Monte Carlo calculation theory and it has caused quite the stir within its customer base due to corresponding changes to nearly everyone's "success rates". Here is a portion of the information/explanation-

We Now Use AAGR Instead of CAGR

As part of our latest model updates, we’ve adjusted how we calculate investment returns in Monte Carlo. This change improves how volatility is handled and brings our simulations more in line with real-world behavior.

Why did we switch from using CAGR (Geometric Mean) to AAGR (Arithmetic Mean)?

Using CAGR (which already builds in the long-term effect of volatility) inside a Monte Carlo simulation (which also adds volatility) means volatility gets counted twice. This made projections too conservative, especially over longer time horizons.

Switching to AAGR fixes this and follows the industry best practice:

  • AAGR starts with the average return before accounting for volatility.

  • The Monte Carlo simulation then properly layers in volatility by generating thousands of random paths. This avoids double-counting and makes forecasts more realistic.

Think of it this way:

  • Arithmetic mean (AAGR): starting point, no volatility yet

  • Monte Carlo: adds realistic volatility

  • Geometric mean (CAGR): already includes volatility, so adding more isn’t correct

That’s why we use arithmetic returns in our Monte Carlo simulations—because they help us model the volatility and uncertainty of real-life investing, rather than just showing a simplified average.



   
ReplyQuote
(@jkandell)
Reputable Member
Joined: 4 years ago
Posts: 279
 

I just posted on this, tipping my hat to Stuart that Pralana got correct from the start using the AAGR rather than the CAGR for purposes of monte carlo--and Boldin just now corrected this error. They're late to that party! To my knowledge Pralana derives an approximate AAGR behind the scenes from the CAGRs you enter in the "build" section by using the formula AAGR=CAGR+1/2 standard deviation squared.

I personally hate that boldin gets more respect then pralana when it is full of these kind of conceptual bugs.

However, if I can be devils advocate, both pralana and boldin incorrectly assume a normal bell curve for returns in their Monte Carlos. To be frank, this bell curve has not fit the historical pattern of how equities act, which tends to have (1) fat tails, (2) lean to the positive. So both programs’ monte carlos are simplifications. “Fat tails” means there is a much higher probability than you'd gather from normal returns for rare events.

This matters because using a symmetric normal bell curve like pralana and boldin both (1) underestimates safety over long periods because of return to mean (autocorrelation), (2) messes up diversification between stocks and other assets and (3) underestimates the probability and extent of rare events like 50-70% crashes. (We saw that with bonds a couple years ago!)

The second problem is that the formula used to derive the AAGR (CAGR + (standard deviation squared / 2)) is based on lognormal returns, not normal returns. So the AAGR Pralana and Boldin use is not a good approximation.

IMO the "best of class" for monte carlo simulations is actually TPAW retirement planner which uses a scaled bootstrap model: this mimics the (non-normal) pattern found in past returns by taking actual block historical samples and randomly arranging them. (Because it uses real samples, it incorporTes return-to-mean and other autocorrelation, and relationships between assets that don’t get reflected in pralana and boldin.).
Then to reflect the future (not past) returns, these random historical blocks are scaled to match the AAGR and SD of user’s expected returns and sd. So you have the best of both worlds: the randomness of Monte Carlo with the “shape” and “patterns” of historical record.

I've made the suggestion Pralana adapt scaled bootstrapping with adjustable blocks; but there are lots of other projects with more precedence. In the 25th-75th percentiles there is not much difference between normal curves and scaled bootstraps. But most academic research uses bootstrapping not normal curve monte carlo.


This post was modified 3 months ago 8 times by Jonathan Kandell
This post was modified 4 weeks ago by Jonathan Kandell

   
H22 reacted
ReplyQuote
Share: