So, one drawback of this approach (actual historical) for data is that if you want a 50* year simulation run, you can only start 50 years ago or further back.
What about an option to start on any year, but when you get to 2020, it "wraps around" either to the first year of the data set, or some other year within the data set? Heck, you could default to the start year, but allow the user to choose a "wrap around" year.
This avoids the biggest issue I have with Monte Carlo (it allows Great Depression immediately followed by the Great Recession immediately followed by the 2020 tech bust) by staying mostly with just following historical patterns - while increasing the number of viable start years.
*Or 30 years or whatever, the point is the same. It's hard to judge viability of a portfolio that started in 2007.