yep, lost 2.6k on MXP and 1.3 on V2TX, but made a couple thousand on AUD, LE and corn.. But that system spends most of the time in drawdown, especially when it's not very diversified, so it's all normal.. Would be glad if I was able to not check my PnL at all, maybe once a month, but the system misses fills from IB sometimes, don't know why, so I have to check it daily and of course look at PnL too . It looks like I place an order, get a couple of updates and then nothing, meanwhile the limit-order sometimes gets filled, the system detects a difference and puts the instrument into "NoTrade" state, which I have to go and fix. On paper it happened only maybe once a month, but already happened 2 times this week on PROD. Maybe something gets confused on IB side because I run both PROD and and paper on the same machine, same instruments.. Don't know, need to investigate, or maybe just keep fixing it manually.. Regarding 14 instruments - I selected the least capital-intensive instruments, and thresholded them, from the backtest only 2 of them have maximum 2 contract positions, the rest are 3+, so it should be fine.. Also, I'll add capital at some point (unless it manages to loose everything meanwhile )
How does your trade execution system work? Do you allow it to trade intra day? If so, is there a limit on the number of trades for an instrument? It sounds like that your system is very different from what I have implemented.
yes and yes. So when the system starts it subscribes to real-time price ticks and runs every new tick through the whole logic down to placing\adjusting the limit-order (the execution-algo logic happens in the end starting on the best side of the bid-ask spread and crossing it if the order isn't filled after some time or the price moves against me, but basically any new action in the system is triggered by arriving of a new price). I guess it's called event-driven. I stop the system for several hours 2 times a day and over the weekend to run reports and maintenance. I have several order limits, per day\week, per instrument\system which I implemented in isolation from the main logic, trying to make it simple and fool-proof as I really don't want the thing going haywire and placing 7 000 orders while I'm sleeping One of the benefits of writing a piece of software alone instead of as a part of a huge team is that you actually understand how the whole thing works (well, at least until you start forgetting things )
Interesting, thank you for your explanation. I have been thinking of implementing a similar "event-driven" system, based on having limit orders in the market and constantly adjusting the limit prices, but decided against it as it seemed more complex than my current system. In my case each instrument is evaluated once per day, near the end of its trading day. Which automatically means that each instrument only gets at most one order per day to increase/decrease the position size. This avoids the complexity of limiting the number of trades if an instrument's price hovers around a trigger point, which would result in a flurry of buy and sell orders.
I assume you go through this whole thing to provide liquidity and avoid paying bid/ask. Do you think you are actually getting an improvement over simple aggressive execution and/or using exchanges facility to get filled at the settlement price?
Also flat but I cheated . If I hadn't put on a discretionary trade of a structured short (futures plus options) around the time the market was ignoring the coronavirus, which was hurting me before, I would be down 1%. Its impressive you are flat without that, must mean your portfolio construction is just right.
+9% on the day; was up 11%. I'm not automated and am only in ES due to gamma-trading the gains from vol.