by Bill Brower on July 7, 2016 | Categories: tradestation |
You built a strategy, were careful to avoid over optimization and even used walk forward strategy testing to prevent curve fitting. You have invested a lot of time and effort in this project and finally launch the strategy in the simulator (if you are smart). The strategy runs on daily bars of futures data and entry trades at the close depending on where the daily bar closes in relation to the other prices. Back-testing shows it is a killer strategy. However, in the simulator, it misbehaves and profits are not what they should be. Worse yet, you find that it is entering at prices that are nowhere near the daily close on some days. What gives?
As unbelievable as it sounds, there is nothing wrong with Tradestation or the data. Daily data in futures contracts has a manipulated close price established by the exchange to reflect the price at the time of the close of the old pit session. When trading was extended to include overnight sessions, the trading day end times were extended. For the e-mini S&P 500 contract, the pit session close was always 15 minutes after the NYSE closed which put it at 1615 Eastern time (1515 Central time). The exchange captures the close price at that time and reports it as the official close price of the future contract. However, the 24 hour electronic contract trades until 1700 Eastern time. This means it closes 45 minutes after the pit session time and allows the price to move away from the reported close price of the day.
Sometimes the actual close of the day is very near to the reported close but not always. On June 20, 2016 the reported close price for the daily data is 2074.25 and yet the actual close at 1700 Eastern time was 2082.75. What is really striking is that the daily data would reflect the correct closing prices until the data was reloaded on the chart, typically as a result of shutting down Tradestation and reopening. At that time the daily data prices are all modified to reflect the exchange reported values. The exchange does a similar thing with the open, high and low prices. So despite the fact that the exchange reports a price that occurred 45 minutes before the end of the trading day as the closing price for the day, they still recognize the price movement that occurs after the pit session time in the calculations of the high and low of the day; so if after the pit session closed, price were to make new daily lows, the reported low for the daily bar would include the price movement after the reported close.
The bottom line is that it is very difficult to use daily data to build reliable trading strategies because signals are usually triggered by computations using the closing prices. Those closing prices are different in real time then historical and the signals could actually disappear or get changed when the data is reloaded. It is not uncommon for the daily data to generate an entry signal whereby you get long or short only to find that the strategy shows no entry signal at all when the chart window is closed and then reopened.