Quote from mhtrader:
I'm gonna make this clear:
.NET ONLY helps the companies that develop platforms due to all the tools msft offers( Basically VStudio and a free version of VStudio ). .NET allows companies to hire cheap C# programmers. The brain is taken out of the game.
One may argue it's actually more difficult to write
good code in .NET than in C++. It's juts much easier to write code.
Quote from Steven.Davis:
I appreciate your points, LeeD, that building a robust automated trading system back-testing platform is inherently more difficult than building a back-testing platform meant to inform manual trading.
Some platforms have finer timestamps (NANEX is 25 ms), but your point is still valid. I would add to it (though it is probably redundant to a thread somewhere else), that if ones strategy involves intermarket or intramarket analysis, the world gets complicated by out-of-order information. As a trivial example, when ones system receives a regular session trade event message, does one check to see what the active session? Does the platform trap wrong session trades/orders? Should it?
There are many such issues, and it is unclear how many traders would really pay a big premium to have such a robust testing platform.
Out-of-order information (or messages) is an interesting subject. 2 examples:
When an instrument is trading on multiple venues, it takes different time for the market data to reach the trading platform. So, it's easy to obtain locked bid/offer and trades outside bid offer spread if you don't adjust for exact timestamp. It's not abou the speed at which data arrives but about order in which it arrives. So, this issue willl transpire even in the "tick" data with 1-second or 1-minute timestamp due to the oorder in which the dtaa arrives and recorded (you normally assume later data is newer). If the order is not compensated for, the data that is perfectly fine and synchronised in the real world looks erroneous.
Another example is how eschanges deliver data. Say, CME prioritises sending execution and trade data over details of the execution and quotes. So, an platform that placed a limit order will receive first a confirmation that order got executed withh the unknown yet price, then it would receive a trade tick corresponding to the execution, then it would receive trade confirmation with price and with a tiny delay bid and ask quoates would arrive. Would a platform communicate to a trading strategy that an order got executed before the details of teh execution are known? Its'a trade-oof of speed versus consistency.
Quote from GoldStandard:
I would disagree with those that say current retail platforms already provide adequate backtesting abilities.
I don't think the OP wants to sell the platform at a "retail" price level. Given the platform includes a "server" and is decidedly forbidden from doing all work on a single desktop, this all but mnost high-end retail traders (and those are likely tradiong via a company anyway).
Quote from GoldStandard:
No retail platform makes use of level2 data in backtesting that I know of
Nor do I know such a platform.
The problem is no retail data provider that I'm aware of provides historical level 2 quotes. So, anyone who wants to backtest strategies using level 2 has to accumulate a few years of level 2 data on his or her own by running a highly-reliable "server" that records quotes in real time.