Just another trading platform - But this time different!

Discussion in 'Automated Trading' started by mhtrader, Jan 19, 2011.

  1. LeeD

    LeeD

     
    #31     Jan 21, 2011
  2. mhtrader

    mhtrader

    Amibroker is a good product. But we are not building an Amibroker. They announced their 64 bit version a century ago. But I don't know anybody that uses it.( I may be wrong about this )

    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. I mean no offense to any engineer here, I'm a heavy C# user myself. I notice that people have no idea of the layers and layers of pudding and fat and vanilla and cake and butter of extra code inserted inside a .NET created program when it is jittered. Microsoft inserts a lot of magic function calls inside your code to call back into the CLR and other things they use at run-time.

    Now I can see these companies' point of view: free debugger and free development environment for the users that want to create their own strategies. And while these are good perks, the cost you pay is too high... unless you just want to trade 1 symbol in a chart.. and for that you can go with Etrade and family...( And I don't even want to mention that you and the company are both stuck with windows for the years to come )

    If the real interest of a company is offering the customers the best performance possible and cutting edge technology at par with the hardware of their computers, they will not use .NET. It is just the easy way out... just to make the buck.

    For the NT fans. It is good for what it is. But it is slow. I have 16 cores in my development computer and it is really slow. They have the same genetic disease I found on other platforms: they intermingle the UI and the data layer and the execution environment(not the order execution) all together. I haven't de-compile NT and I'm not going to do it, but I bet it is implemented like that. Still... it is a good product.. but we are not building a NT.


     
    #32     Jan 21, 2011
  3. 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.
     
    #33     Jan 21, 2011

  4. I would disagree with those that say current retail platforms already provide adequate backtesting abilities. NT backtesting in particular is not reliable at all. No retail platform makes use of level2 data in backtesting that I know of.

    A new platform that can accurately test strategies and execute them on the same platform would be a desirable thing IMO, and there are at least a few traders out there who would be interested. Enough to warrant the trouble of building a business around? Thats another question...

    Good luck though. I think your endeavor is one which meets a need.

    If nothing else, having a reliable testing and execution platform will be good for your own trading & system design efforts.
     
    #34     Jan 21, 2011
  5. Deltix, Streambase.... and many others have these capabilities. These are high-end retail, not even institutional level. The field is getting crowded, not exactly a burning need for new entrants.
     
    #35     Jan 21, 2011
  6. mhtrader

    mhtrader

    Deltix: <= .NET and Java :eek:

    I'm not very familiar with Streambase, but it looks a very solid product. I look around their website. Do they compile user written code to 64 bit native code?


     
    #36     Jan 21, 2011
  7. LeeD

    LeeD

    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.

    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.

    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).

    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.
     
    #37     Jan 21, 2011
  8. I agree. I use NT as my trading platform, but the backtesting capabilities were so poor I wrote my own backtesting software. It's not anything special, but it works for me, I can run through about 4 years of tick data in 10 seconds, which is good enough for me.

    mhtrader, in hindsight you probably should have avoided the topic on which language is the best... that's a notoriously religious topic :)
     
    #38     Jan 21, 2011
  9. LeeD

    LeeD

    Haha, very true!

    At least, so far punters have formed 2 opposing camps: those who believe in absolute superiority of "native" code and those who see advatages of bitecode and runtime compilation. Just 2 camps - it's a miracle of unification.

    Having a strong opposing camp isn't great for sales though. Now I understand why OP is so particular regarding his (or her?) secret identity.
     
    #39     Jan 21, 2011
  10. mhtrader

    mhtrader

    I remember years ago removing for example couple of x86 32bits floating point instructions from loops that goes around 1 symbol( some intraday 10 years back data, or something like that ).. And having a speed improvement of +20%. I'm backing what I'm saying with facts and personal experience.

    I'm gonna post couple of dis-assemble examples soon in IL( and then jittered version in x86 32bits ) and also same version in C++ optimized code... something like: c=a+b; or something at that level of complexity: If that doesn't convince people.. and they want "to believe" in a non-faith related, pulverized-by-facts idea, then thats their choice :)
     
    #40     Jan 21, 2011