I feel your pain... I keep a chart on my desk of a certain trend following funds live performance from the mid 70s to the present time with all the drawdowns highlighted just to remind me what reality looks like. It must have been brutal to live through even though it wins in the end.
For now - I am going to the use the total SR cost from here (thanks Rob!): https://github.com/robcarver17/reports/blob/master/Costs_report as a guide. From the stuff I currently intend to trade - basically this tells me to be wary of Coal & Steel.
As requested, Updated: https://github.com/robcarver17/reports/blob/master/Static_selection_of_instruments Perforrmance: https://github.com/robcarver17/reports/blob/master/Account_curve_report.pdf +0.5% YTD (and up in February), dd about 17% Rob
... and surely there must be another blogpost due: https://qoppac.blogspot.com/2025/03/very-slow-mean-reversion-and-some.html Rob
@globalarbtrader Hi Rob, in AFTS, while backadjusting futures prices, what if the multiplier keeps changing frequently, first we have to adjust all previous expiries to the current multiplier. All prices multiplied by old multiplier/current multiplier, and then proceed with the difference method?
I avoid the contracts that change multiplier; but if I didn't then I'd just put the current multiplier in as a fixed number and then change it periodically in my config file (this is how AHL used to do it incidentally). This means your historic position sizes in your backtest will be 'wrong'. You shouldn't care about this. Rob
I shouldn't care about the historic position sizes being wrong? You mean this only right? Well, in the contracts I am allowed to trade legally almost all had their multipliers change throughout history with the aim of fixing the notional size for a long period of time, until the exchange decided to increase the notional size. What I have currently done is Let's say the futures contract multiplier for March 2025 monthly is 25. And for expired contracts it is 50,100,200,etc. So I multiply the prices of 50 lot size by 50/25. So I multiply the prices of 100 lot size by 100/25. So I multiply the prices of 200 lot size by 200/25. And then move ahead with the difference method of backadjusting. In this case my historical position sizes will not be correct. So what are my alternatives? but if I didn't then I'd just put the current multiplier in as a fixed number and then change it periodically in my config file. Can you please explain this with an example please?
No you don't do any of this. You don't multiply any prices by anything when backadjusting. I have no idea why you would do this? I have never said anywhere you should do this. You shouldn't care about historic position sizes in a backtest. You will get the correct p&l 'as if' the contract size was fixed. Your position series will be wrong given that contract sizes changed, but why should you care? In fact if it's just a backtest you could put any old number in there for your contract size. It's only when the backtester is used to generate live positions that the contract size needs to be correct. At which point you make sure you are using the most up to date value. Rob
However, what's encouraging is this rough IB account graph, the blue line is S&P500 and the green one is my futures account since Feb 2020, of course it doesn't prove that the next time it'll do the same thing, but so far when stocks went down in a major way the system was doing the opposite: