I'm podcasting next week with @TopTradersLive Any questions ping them over to Neils at info@toptradersunplugged.com Don't forget to include your real name, or at least something that sounds like a real name. Steve
@globalarbtrader Hi Rob, In AFTS, all forecasting techniques are rule based. Any pointers on how to use predictive modelling techniques( linear regression, etc) and how would we combine it with your forecast scaling framework. Also can you comment on potential objective functions to use? Thanks.
"IB's historical data feed is filtered for some types of trades which generally occur away from the NBBO such as combos, block trades, and derivatives. For that reason the historical data volume will be lower than an unfiltered historical data feed." https://interactivebrokers.github.io/tws-api/historical_bars.html
Some Dynamic Optimisation observations... Assume you have just 2 very similar assets: Sp500 & Nasdaq, with optimal weight say 22.3% and 11%. Both assets have similar SD say ~18% and correlation of 0.9. Just to make things obvious assume the tradeable units for Sp500 and Nasdaq are 1% and 20% based on the capital you have. Lets not worry about any cost penalties for now. The DO algorithm because it tries to minimise tracking error by adding a single 'chunk' at a time for each asset starting at zero will give you optimal weights of 10% in Sp500 and 20% in Nasdaq i.e. the weights are switched around. So given similar assets it prioritises the asset with the bigger unit size. It starts with 20% in Nasdaq from the get go and doesn't have any scope to add the very similar Sp500 beyond 10%. Now, if you re-run the DO algorithm where you compute the tracking error penalty with a diagonal covariance matrix the weights it will give you will be 22% Sp500 and 20% - which is the same as a simple rounding to nearest. No 2 assets can really substitute each other in this framework so round nearest makes sense to me. Another variation is if you seed each periods DO loop to start with the rounded weights (but rounded toward zero instead of nearest), you end up with something like 34% Sp500 and 0% Nasdaq. In this case it just cant add any Nasdaq as it will massively breach the penalty due to the large chunk size and just adds more SP500 to compensate. Is this what you guys observe/expect to see as well? It is possible I have messed up my code.
I think with more assets and not in a stylised example it's less likely that the first asset added will be the chunkiest position size (just happens to be the lowest tracking error); sure by luck this will happen every now and then. Although there is definitely scope for tweaking DO I'm nervous about making something already quite complex more so for marginal gains Rob
That sounds fair. I guess you can always come up with examples where substitutability of instruments in the risk space does not agree with substitutability in the forecast space. Either way at least we are not inducing spread trades in highly correlated assets to meet unit sizing which MVO + integer programming would likely have done in this case.