Just another trading platform - But this time different!

Quote from Runningbear:

Do you wish to create a product that suits your needs and improves your trading?

Or

Do you wish to create a commercial software product you can sell?
Quote from mhtrader:

Of course it is "for sale" : )
 
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.


Quote from Runningbear:

MHtrader, I'm not trying to burst you bubble, but you need to define what you are trying to achieve.

Do you wish to create a product that suits your needs and improves your trading?

Or

Do you wish to create a commercial software product you can sell?

If its number 1, then go for you life.

If its number 2, then ask yourself how long it would take you to recreate amibroker, which sells for $140 bucks.

The answer would be 5 years work minimum. Before you can sell a single copy.

My advice is to spend your time creating a c# plugin that extends the functionality of ninjatrader. Something that offers hardcore users advanced features. You'll have a ready made user base because the product already has traction in the market. If your plugin is really good, Ninja might buy it. Alternatively, you can create custom indicators that you can sell on monthly subscription.

If your plugin becomes popular, then use the revenue from subscription sales to build a full program later on. This way you won't starve.

cheers,

Runningbear
 
Quote from LeeD:
... Most platforms don't have millisecond precision. The resolution of tick data is one second. This means there is no way such platforms can simulate, for example, 300ms it takes to send an order and receive confirmation it has been placed on an exchange.

Another issue is there are things that occur in real trading that platforms don't tend to produce on a backtest. For example, rejected orders.

However, I know at least one platform that can simulate that it takes time for an order to be cancelled.

Do you suggest your platform can simulate all the unusual states that may occur during real trading? Rejected orders, loss of network connectivity, realistic delays when orders are placed and cancelled, lag spikes when the time it takes to place, modify or cancel order unexpectedly increases etc...
...
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.
 
Quote from mhtrader:

Hi guys,

I'm building a trading platform that will shake things around. At his moment I'm working on the back-testing part.

Why another platform??? ....because I know where the lacking in the industry is!

Here are some of the features:
-User written programs/strategies can run on the server AND on the client computer.
-User written programs are not script languages. They are COMPILED for the CPU where it is running. No Java and No .NET, this is the real deal!! It means you will be able to use your 64bit computer(S) at full steam.
-Event based strategies: your program will react to events like orderFilled and newTick. And the behavior is guarantied to be the same for back-testing and real-time.
-Use of huge amount of cached calculation. We already have the back-end for this.( As of now we haven't decide if optimization will only run on client side only, but this could be the case ).
-You can use more than one computer for total collaboration and sharing of calculation. They will use a similar architecture that we use for our severs.

We are planning to launch a Beta before the end of the year.

I would like to hear some opinions and recommendations.

Thanks,
~mhtrader~


PS: I think I posted this in the wrong forum before.


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.
 
Quote from GoldStandard:

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

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


Quote from Kevin Schmit:

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.
 
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.
 
Quote from GoldStandard:

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.

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 :)
 
Quote from jedwards:

mhtrader, in hindsight you probably should have avoided the topic on which language is the best... that's a notoriously religious topic :)
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.
 
Quote from jedwards:
......
mhtrader, in hindsight you probably should have avoided the topic on which language is the best... that's a notoriously religious topic :) [/B]

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 :)
 
Back
Top