Fully automated futures trading

My system executes and tracks it's orders automatically, therefore by definition it knows all the trades it did and can therefore calculate it's own statistics independently of what-ever else happened in this account (i.e. the system wouldn't even know is some other orders (not initiated by it) were filled on the same account).. If you're doing your trading manually, I guess you have to record orders related to this system separately from others..

Hi Kernfusion,

Oh yes you are right. Your system should know your orders for sure. So the question is how you keep your record of transactions, either by 1) your system, or 2) IB system (activity log), or your manual order log (this is exactly I do today), to calculate your performance.

I will try the #2 approach. Thank you!
 
By the way, if I would give one advice to me of 3 months ago, it would be:

"Know market open hours for the instruments you trade"

I started my trading even without this knowledge, and it was like walking in the dark. Now I can schedule my day as I now know when I should place orders by market. There must be many others like this which I do not know today. It is all about experience and I hope time (and hard work of course) will solve all these.
 
Hi Kernfusion,

Oh yes you are right. Your system should know your orders for sure. So the question is how you keep your record of transactions, either by 1) your system, or 2) IB system (activity log), or your manual order log (this is exactly I do today), to calculate your performance.

I will try the #2 approach. Thank you!
yes, for me it's #1, although, I also look at IB statistics once in a while, because there might be bugs in my system. The annoying thing is that the two never match :). There are multiple reasons for that, one is that P&L from foreign currency-denominated futures comes in that currency, and I have to periodically convert it manually, so my system can't possibly know when exactly it was done. There are also other reasons for the mismatches, and at some point I just gave up on trying to fix\resolve them all. So now I just sometimes roughly compare IB stats with my system stats and if they're close enough - it's good enough :)
 
I presume most of you do other trading strategies or investments, in the same account you do futures trading. How do you monitor pure performance of this futures trading? Do you need to download all your transaction log and filter related transactions and sum them up, or is there any other way?
I don't combine it in one account. I have one login name at IB, and then two account numbers (Uxxx). One of these I use for this futures trading system; the other for simple ETF buy/hold type of investment. So it is easy to track the performance of each separately.
 
"Know market open hours for the instruments you trade"
The other one is: "know when the markets are having holiday" Especially if you use exchanges in multiple countries you'll discover that the holiday calendars are very different.
 
I noticed that I do not receive "client id already in use" error from IB any longer. IB might have made some changes on its system. I do not know exactly as I made many changes on my PC and applications during last weekend... but these must have nothing to do with the error.

This info I think is wrong. IB still gives me the error message unless you refresh Kernel. I thought the error went away simply because I started to use "re-start the Kernel, then re-run the whole notebook" function (JupyterLab). Sorry about the wrong report. To be honest I don't understand what Kernel is all about. There's much to learn.
 
I don't combine it in one account. I have one login name at IB, and then two account numbers (Uxxx). One of these I use for this futures trading system; the other for simple ETF buy/hold type of investment. So it is easy to track the performance of each separately.
Hi HobbyTrading!

I did not know that you can have 2 separate account numbers in a single account. I will investigate if I can do the same. Thank you!
 
The other one is: "know when the markets are having holiday" Especially if you use exchanges in multiple countries you'll discover that the holiday calendars are very different.
I don't find this important yet. Could you please elaborate?? Is it important when you roll your contracts?
 
This info I think is wrong. IB still gives me the error message unless you refresh Kernel. I thought the error went away simply because I started to use "re-start the Kernel, then re-run the whole notebook" function (JupyterLab). Sorry about the wrong report. To be honest I don't understand what Kernel is all about. There's much to learn.
When you start your program you connect to IB, using command eConnect(). This command includes the setting of your clientId. Before you close your program you have to disconnect from IB, using eDisconnect(). This tells IB that the clientId will not be used any more. And that it can be re-used in the future. If you don't disconnect before closing your program and then restart your program using the same clientId IB gets confused as they believe that this clientId is already in use. In that case you get to see the error message which you showed.
 
I don't find this important yet. Could you please elaborate?? Is it important when you roll your contracts?
Depending on how you implement your automated trader it could get confused if you submit an order and nothing is happening due to a holiday.
You mention rolling contracts: some people roll very early and then the holidays don't matter much. However, if you roll late and the expiration date is after a holiday you might run into problems.
 
Back
Top