Good luck with your pysystemtrade tweaks. You might like this article confirming your decision: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ (Note: they eventually rewrote something)
What do you mean by this? Creating stitched pricing by combining multiple contract months of a futures instrument? I recall that your code also included resampling of price data, but I'm not sure whether this is included.
Yes exactly that. At the same time checking for spikes, gaps, bad data etc which I didn't do religously enough first time round. Resampling (to daily frequency) happens later, and one of the things I want to do is make the code capable of using intraday data so the adjusted curves are in a mixture of daily and intraday frequencies. GAT
By the time I started implementing "Systematic Trading" in software I understood from you that hourly account review is not really necessary, and that once per day for each instrument is sufficient. So I simplified the data collection from the start of my project: I only use daily historical price bars, not intraday price data. And I review each instrument near the end of its trading day. The benefit of this is that I don't need to do any resampling of data. I haven't fully automated the creation of stitched files. I made some tools to help me when I need to roll over from one contract to another and need to create a new stitched file. But I eyeball the graph of the resulting stitched file before actually using it.
I'd originally planned to use the same methodology, but now I want to implement an intraday system. Will also give more accurate slippage numbers. But there are still things that can be done on a daily timestamp (and daily in production) including calculation of vol and accounting/gearing. GAT
I'm curious to learn what kind of intraday system you have in mind. I guess that you will publish about it once it has reached an, in your opinion, sufficient level of maturity.
Basically mean reversion, initially on individual futures and then at some point on spreads / flys. Holding period will be a few days. The key point here is the execution, essentially you place limit orders eithier side of the 'fair value' so you're always filled passively (unless you're using stop losses). That requires a different kind of backtest to my current 'assume you always pay the spread and get filled at the close the day after the signal is generated'. Instead you need to work out whether the market moved through your limit during a particular time segment (in which case you assume you get filled at the limit price), and obviously with more frequent intraday data you can avoid missing the situations when the market touched your price and then moved away again. I will probably use stop losses for which the logic should be something like (conservatively) assume if we traded through the stop that it was executed at the worst level [although it's possible again that the price touched an even worse level in the intra- time period between samples], or (aggresively) exactly at the stop level plus the spread, or somewhere in between. (Yes I should have OHLC data. But going back in time to get this would be a huge job and not worth the effort to get a slightly better idea of what my slippage is likely to be) GAT
Very glad to see this is making its way to the top of your to-do list. I will be following with great interest! (And contributing if / where I can of course)
Critics will say how is it possible to lose money in 2019 whereas stocks, bonds and gold did nothing but rise.