HI,
P123 may be working, some, on risk parity: MVP….
But I think it would be hard now.
With something from P123 (API) you could download the stock returns and a matrix of which stocks your sim selects each week. Then it would not really be THAT hard to loop through PyPortfolioOpt to select a risk parity portfolio (or minimum-variance) portfolio from those stocks. And the returns could be calculated from your downloaded returns and plotted with Python.
Admittedly easier with ETFs which I limit myself to now.
I will add that this is really what Korr MAY be asking for in the above link, although he may have some additions or qualifications in what he wants. And I do not know where P123 should put this in their priorities (I am not really asking for it to be a priority). But not a bad think to wish for.
BTW, at one time IB did this with their backtests. I am not honestly sure whether they have a backtest option now, however. It did seem to help when I played with it.
FWIW, I may get time to shrink the expected returns for ETFs using PYMC in Python (a Bayesian Package) and loop through PyPortfolioOPT (using shrunken Ledoit-Wolf convince matrix and the Bayesian expected returns) to get the maximize-Sharpe-Ratio weighing for the next month (with a look-back period to be determined).
Returns are too volatile to use the historical returns without Bayesian methods for sure, I think. Many agree in the literature.
For ETFs it can be tested using walk-forward validation, probably, even by a mediocre programmer. Some of this can be run through Portfolio Visualizer to get the pretty graphics and their metrics.
This is a well-accepted method. ChatGPT likes it too. But I can’t say it works yet. Big maybe.
Jim