Hey folks, here's an update from me as well, haven't been posting for a while.
My last update was
https://www.elitetrader.com/et/threads/fully-automated-futures-trading.289589/page-209#post-5055797.
After that stunning start, things proceeded to go exactly as you would expect, meaning, I'm down 5.7% since April 1st, which brings the total to a profit of 20.26% since inception (February 1st).
Here's the money shot:
View attachment 230612
I'm putting a bunch of stuff in this post, so I'll add some headings, feel free to skip the parts that are not interesting.
# Performance
At the very end of that podcast that Rob mentioned a few posts back, he said that there are folks that consider themselves systematic traders but fiddle with the trades before posting them manually, so naturally I felt called out, so now I'm automating everything, no more discretionary input.
Joke

Well, the part that I felt called out is a joke, however, I am automating execution. I mentioned in the previous post that I'm fiddling in the system by curating the execution, meaning, I would delay it a bit, or sometimes enter execute that the system would say. I did some number since mid April (which is from when I have precise numbers for this) and it turns out that if I didn't do that, and just executed everything the system wanted right when it said so, the loss would have been 2% less. I realize it's not a big sample size (I've had about 120 orders in that period) but looking closely at some specific examples when I interveened, I think it's not just noise. So I decided to go fully automated.
Lastly, the burden of proof should be on the discretionary element, not the systematic portion - in other words, the default should be not to fiddle with it, and only fiddle if the numbers prove that it actually produces better results.
That said, I can see that's going to be painful for me

For example, right now, the system is saying I should be short soybeans, but looking at the chart, I can't for the love of everything see a single reason to go short (well, besides carry, which is a big portion of my system, so I guess that's the reason).
For reference, I am now trading 12 markets.
# Infrastructure
Most of the last 2 months I've spent on improving the infrastructure and quality of life in general (code quality, automated testing, better reporting, server, etc.) so here's a few words about that.
Rob mentioned that he wants to set up a new PC, so here's a shot of my server in its natural habitat:
View attachment 230610
It's a Raspberry Pi 4, 4GB model. On it, I run IB Gateway with IBController. Distribution is Raspbian Lite. There was some hacking needed to get the IB Gateway to work, because IB bundles ancient Java in the installer (literally a binary within the .sh file you download to install), which didn't like the fact that I wanted to run it on the ARM CPU, but it wasn't too complex. I also run a minimalistic web UI on that, written in Python, using Flask framework. As mentioned in the previous post, I use Google Cloud SQL as my datastore, and the system talks to that. Periodic tasks (eg. price collection, end-of-day accounting and forecast run, etc.) are executed via systemd timers. It's connected via UTP cable partly because I didn't want to fiddle with setting up wireless (it's really not hard though) and partly because I'd rather not expose this to WiFi if not necessary. If you're thinking "gee, 4GB model sure is an overkill for that", you're absolutely right. After a week of running all of the above, it consumes about 450MB of RAM. That is partly because I'm anal about not running any GUI, so it has none. Since IB Controller needs some GUI though, to click around and put in the username and password for the IB Gateway, I simulate that with a virtual screen, xvfb. I have all the ports closed to the traffic from anywhere, except ssh and http ports which are allowed from my local network.
So far it's working flawlessly. Rob has once said (either on his blog or here) that he spends about 100 pounds per server for his system, this was $55 for the RPi and $15 for the case. Beat that Rob!
# Upcoming work
Few words about what I'm going to be working on over the next few months. First, wrap up the automated execution work. I have all the code in place, but doing some more testing to get more confidence that this won't cause big trouble. As part of this work, I'm also planning to implement carry smoothing, something I still don't have, and I think it's necessary if moving to automated execution, mainly because of things like V2TX, where nearer contract can fluctuate so wildly to flip my position from long to short or other way around in one day.
Then, I'd like to automate rolling, probably not fully, but to a large degree, for sure for instruments where I don't have a position on.
After that, better reporting, now that I have some data gathered, I'd like to get better visibility into how the system is doing.
Alright, that's it for this update!
I wanted to close with a question, is anybody familiar with a Slack room or something similar for systematic traders? I specifically don't mean those chat rooms where people share day trading tips, more like a place to chat about system development, perhaps trends in the markets and similar, in a very asynchronous manner.
Thanks!