Hi all,
I’m trying to solve a fairly specific problem and would love to hear from anyone who has managed to get this working well in Portfolio123.
My guiding principle is to use my own discretion in selecting and defining factors, but rely on a more objective/mechanical method to combine them into a ranking system.
Basically, I’m looking for a solid way to assign weights to a fixed set of factors and build a standard linear ranking model.
There are a few important constraints I care about:
Reasonable turnover
Some control over risk (drawdowns / beta,etc )
I’ve experimented with quite a few methods (regression, classification, ranking objectives, genetic optimization), but I keep seeing a pretty large gap between my local results and what I get in P123 — even when I try to replicate the same logic.
In some cases, the results are just mediocre compared to my live system that uses the exact same factors, which makes me think something structural isn’t translating well — I’m just not sure where the breakdown is.
At this point I’m trying to understand:
How do people here actually approach factor weighting in a systematic way that works well inside P123?
How do you handle turnover and risk directly through the optimization itself (without overcomplicating things)?
Any tips on getting better alignment between local models and P123 results, especially when it comes to simulations logic?
Would really appreciate any ideas, suggestions, or things that worked for you.
Thanks a lot.
The first of your bullet points is answered in part 3 in the section called "Optimizing Your Ranking System," but you should read what comes before that first.
I think that optimizing portfolio management (# of positions, how long to hold them, how to weight them, and so on) and ranking system optimization are two very different things. To do the former, you should use a ranking system that you haven't optimized at all or an out-of-sample period on an old ranking system. To do the latter, you use a rough simulation of the portfolio management system that you've optimized.
On getting better alignment between P123 results and actual trades, you shouldn't expect too much. If your backtests say you should expect a CAGR of X%, cut that in half for real-life trading.
I’d really love to use it, but I tried and couldn’t get it working because I’m using a Mac. Is there any chance you could send a Mac version for HFRE tool?
Thank you for the response, Yuval. What I meant was better alignment between local models that optimize the factor weights and the performance they later achieve inside P123 itself.
I was wondering whether you still use the approach you described in the article:
“As I wrote above, I subdivide the universe of stocks I’m willing to invest in into five more-or-less random subuniverses and run my tests on each one. I vary my factor weights until I get the ranking systems that perform best in each of my universes—and the ones that perform best in all of them—and then I average the weights of those outperforming systems.”
Or have you found a way to automate this process? Because it seems extremely time-intensive.