How do you utilize AI-factor in conjunction with the systems you have?

I have become reasonably more satisfied with my returns from AI-factor out of sample, even though it does not perform as well as the OUS ranking systems.

I am curious about how you incorporate the results from AI-factor:

  1. Do you use AI-factor by assigning a percentage weight in the ranking system you are already using?
  2. Do you use AI-factor by creating two separate portfolios, where each system (AI-factor and the ranking system) selects its own stocks, preferably with lower correlation?
  3. Do you use the ranking system to select stocks but also seek validation from AI-factor to ensure the stocks score reasonably high in AI-factor, effectively acting as a safety valve?
  4. Do you utilize P123 AI-factor in combination with your own locally developed machine learning systems?
  5. Other...

For me:

  1. The output doesn’t add value to my existing systems, so I’ve ruled it out.
  2. I haven’t pursued this yet because we lack a covariance matrix or risk module.
  3. This approach feels identical to number 1, in my opinion.
  4. I tried this years ago but abandoned it because it required too much effort for an uncertain benefit.
  5. I’ve been paper trading the output from a screener over the past month to qualitatively watch it's behavior ensure it's tradeable.

Ultimately, I believe incorporating an AI factor makes having a robust risk system essential. This would help isolate risk to just the signals, avoiding unintended consequences. I’ve been requesting this feature from Portfolio123 for a while, and it sounds like it might be implemented early next year.

2 Likes

overfitting is a cancer

korr would you mind elaborating on what you mean by a "robust risk system"? Just want to make sure I am understanding you.

Thanks,

Daniel

By a "robust risk system," I mean a comprehensive framework designed to effectively identify, measure, and manage risk across multiple dimensions. Key features include:

Factor Coverage: Incorporating a diverse set of factors that capture market, sector, style, and idiosyncratic risks.
Hedging Capabilities: The ability to hedge unwanted risks using optimization techniques, such as mean-variance optimization with constraints or minimum volatility targeting, supported by a covariance matrix for stocks. Neutralize risks above, if desired.
Transparency: Clear and well-documented methodologies and assumptions to enable informed decision-making.

Less critical but beneficial:

Scenario Analysis: Tools to stress-test portfolios under various market scenarios or hypothetical conditions.
Customization: Systems to enable us to create our own risk factors or adjust lookback depending on the timeframe of our forecasts (i.e. weekly vs yearly).

While there are numerous risk models available—Barra, Northfield, Bloomberg, among others—Barra remains the gold standard.

However, even a simpler system with the ability to define custom factors, ensure sector neutrality, achieve beta neutrality, and use a covariance matrix for volatility targeting would add significant value.

With black-box signals, we have no insight into why or how losses (or gains) occur, making it challenging to respond effectively. My primary concern is managing large drawdowns, which are inevitable in any system. By focusing on reducing risk and standard deviation, we gain better control and can identify when the system is underperforming significantly earlier, allowing us to take corrective action before the situation worsens.

Does that answer the question? What do you think?

2 Likes

Thanks korr that is more than what all had occurred to me, but sounds extremely useful. Have you looked into 3rd party products that could provide the service?

I have used Portfolio Visualizer. There is a level at Portfolio Visualizer where returns from Ports or Sims can be uploaded. You can combine all of your ports with ETFs in different ways, including but not limited to mean-variance optimization with Max Sharpe Ratio and Minimum Variance Portfolios. You can also do risk parity (equal contribution of risk). You can also get value at risk for your portfolio, including your Ports or Sims, from a backtest.

I have done this to determine how much weight to give to my Port in a portfolio that includes ETFs for getting a risk-parity portfolio. I started funding my Port at that level but increased the weight as I developed more confidence in my Port based on out-of-sample performance. I have since stopped using the higher level as I have gotten what I needed from Portfolio Visualizer in that regard already. You might get by with a short monthly membership unless you decide to do a tactical allocation model that involves rebalaincing your port weights.

With Python, you can use the PyPortfolioOPT library for free.

I think we are less dependent on feature requests from P123 now. Less so than ever with ChatGPT's help. And P123 continues to advance at a rapid pace with new features and ideas.

Thanks, @Jrinne, that's helpful! I'll look into that feature.

My main concern with analyzing return streams is that it assumes portfolio characteristics remain constant, which I believe is a risky assumption. A better approach involve using stock-specific factor loadings. This means assigning risk characteristics to each stock individually and then calculating the portfolio's overall risk from the bottom up, based on its current holdings.

Does PyPortfolioOpt download stock returns directly or does it need to be imported manually. If it’s the latter, I might be back to square one, relying on the Portfolio123 ecosystem for return streams. It's puzzling why, despite so many services and ready-to-use code, implementing these tools still takes so much time.

LLM's are a game changer, for sure!