Factor Investing is a good place to start and is simple to codify into an algo. Factor Investing gives you exposure to specific risk adjusted return sources: momentum, volatility, size, etc. Where the relative performance of each Factor differs at a given point in the business cycle. Additionally, in Credit, Factors can have the opposite relationship with returns for High Yield versus IG.
Some money managers prefer a PM enter trades based on signals versus an algo doing execution – for one reason - to avoid over trading during volatility. Another reason: buys should be done at good "technical" entry points. Alas, both of these concepts, can be built into a secondary layer ruleset to limit the number of trades in certain vol regimes or only execute at low price range entry points.
Choose a factor, like momentum. It's then easy to create a plethora of signals that calculate momentum over varying time periods/lags. Then, reduce the list of signals to those most correlated to returns in your chosen time horizon.
From the momentum signal for each asset, you have many potential next steps, one method: (i) calculate the relative momentum score of all assets in the portfolio compared to each other (using Z-score) - then increase/decrease portfolio weights of each asset based on their score over time (one can also optimise/backtest for the rebalance frequency or rebalance trigger level), another method: (ii) backtest a ruleset for one asset only, which buys/sells when the momentum signal is above/below certain levels (these thresholds can be brute force optimised), another way: (iii) optimise using a stats model - this is the approach taken in my tests which beat the index I tested.
With this last approach, I tested Momentum + Volatility signals in XGB (machine learning) and regression models. The data was cut into 3 periods: Train, Test and Forecast. The model only "sees" the Train Data. Test is used to make decisions. Forecast is only used to view performance. Performance is obviously good in Train, then drops in Forecast but still outperforms vs a buy-and-hold strategy.
Key questions are: Will the market conditions during model train be similar to when the model is Live? What is the impact of liquidity costs/fees?
Pic 1 - Shows the performance of the regression model in the 3 time periods – note the drop in performance as the model enters the “Test” or unseen data period”. Pic 2 - shows that the strategy is able to reduce losses in the bear trending index, but only if trading costs are roughly 0.5% or less. Pic 3 - shows us the performance difference between a regression model and an XGB machine learning model, the latter being less explainable but more performant.
Copyright © 2024 Robin Spinks - Alpha - All Rights Reserved.
Powered by GoDaddy