Fully automated futures trading

I'm curious as to what your margin usage typically is.
Your question made me curious myself. So I went back to my data. It turned out that I only started to collect initial margin by June 2021. Before that was I only collecting maintenance margin data (started in April 2017).
A chart of the relative margin requirements are (margin as percentage of NLV), since the start of collecting initial margin:
margin.png


The result surprises me a bit: this fluctuates much more than the impression I had of it.
 
Hi guys. I'm currently setting up my own system based on Rob's books / blog posts and tweak it for my own needs. I'm wondering about the following. According to IB there are quite some limitations regarding historical futures data:
  • Expired futures data older than two years counting from the future's expiration date.
How / from where did you guys collect data going further back? I've just started to collect data. If that was already answered somewhere in the 313 pages of this thread, mea culpa :) Still catching up on that one....

cheers
 
Hi guys. I'm currently setting up my own system based on Rob's books / blog posts and tweak it for my own needs. I'm wondering about the following. According to IB there are quite some limitations regarding historical futures data:
  • Expired futures data older than two years counting from the future's expiration date.
How / from where did you guys collect data going further back? I've just started to collect data. If that was already answered somewhere in the 313 pages of this thread, mea culpa :) Still catching up on that one....

cheers

I use barchart.com (paid for subscription which I will keep whilst I'm doing my 'add loads of markets to my system' project), but in the past I've used quandl (when it was still free).

Rob
 
Because of that I'm considering making the initial if-check to require 'tracking error /unrounded' to be greater than 2xBuffer (or even 2.5x) to run optimization., because if it's less than 2xBuffer, the Adjustment Factor will end up being less than 0.5 and none of the 1-contract differences (which are most common) will be corrected anyway..

Personally I wouldn't risk this since the cost of doing a few extra optimisations isn't very much, especially in production.

Rob
 
Hello Rob.
When you eventually get a chance to look at what happened in late November, I would also be interested in a comparison between the old system vs Dynamic Optimisation system as far as the annualised volatility level goes. If you are able to model this, of course.

Would annualised volatility have increased as much under the old system?


Thanks,
KH

Short answer: yes.

GAT
 
Hi Rob,

Merry Xmas. Just getting around catching up with your latest blog posts (https://qoppac.blogspot.com/2021/12/my-trading-system.html). I see that in 2021 you have added quite a few new features to pysystemtrade. I have been using a late 2020 version of the code throughout 2021, and look forward to merge the latest changes and try out especially the dynamic instrument selection from a larger set of universe.

Some random questions, in case you or anyone else following could answer.

1- How did you decide to use Barchart to backfill historical data. Have you considered/looked into CSI?
2- You seem to be running a high number of different strategies. Does it make sense to run so many with limited capital < 500k? (I have been running only 3 momentum plus carry)

Can't wait for the new book.

Best regards,
Emre

1. No
2. I'm only running one strategy at a time (currently), but with multiple sources of forecasts. Adding another forecast doesn't chew up any capital. Adding another instrument would also chew up capital under the old system, but not with dynamic optimisation of course.

GAT
 
Personally I wouldn't risk this since the cost of doing a few extra optimisations isn't very much, especially in production.

Rob
I back-tested it and the number of trades and everything else is pretty-much the same.,
Basically what is happening is that most of the time when the system wants to change position in an instrument, the required adjustment with my small capital is only 1 contract, which results in no change if the adjustment factor is <0.5, and it's always below 0.5 when the error-difference is less than 2x buffer by construction, so why bother with the optimization if we already know we're not going to change the position anyway (except if the difference in some instrument is more than 1 contract, but somehow the risk-difference is less than 2x buffer which almost never happens).
It's just that I'm doing it all in real-time in live-trading so there's a ton of unnecessary computations.. And the absolutely-worst that can happen is I'll effectively double my buffer..
 
Last edited:
I'm also thinking that maybe a good ongoing report for DO would be to first find all instruments which currently have high "before optimization\natural" position but "small" actual position (which is unusual in the first approximation), and then for each of them print 3 currently most highly-correlated instruments and their current positions.,
The expectation here will be that if everything is running normally, then for all such high-natural\low actual position instruments we should see high positions in the most-correlated with them instruments..
 
Back
Top