With all due respect, from your previous post you come across as someone who has a strong motivation to create something, you also seem to know what you are talking about in terms of core programming skills. However, you sound miles off from understanding what any of your intended audience actually needs. I am myself not a developer (means coder) but I design, test and trade quantitative strategies for institutional desks for many years now. We run strategies that process ticks and market depth on thousands of symbols in many different markets. And let me surprise you: The engine is entirely written in C#. We utilize KDB for our data needs and all works seamlessly together. I dont want to get involved in coding details as I am not qualified to participate.
But I understand full well what we as quant traders and strategy developers need from a testing and quant trading platform environment. I need a base platform that is purely event driven. I need events that handle tick trades and market depth changes (equities). I need an environment that provides knowledge within symbol A instance of the states in symbol B or C. I need the ability to raise time based events (time aggregated bars) and tick aggregated bars. I need the ability to zoom through tick data at high speed that enables me to run back tests at reasonable speeds.
I need a platform that provides data structures that allow me to pull any kind of raw data to perform calculations, such as all ticks on the day, the days open tick, the last tick, the tick n lookbacks ago, the tick at or right after 11am every past n days,...
I dont need an environment to perform optimizations, I do so within other more efficient environments, such as matlab, splus/R. I need to be able to log whatever I like at any "node" in the strategy, whether raw data aggregation, signal modules, statistics, order creation, order management...Thats it, at least in terms of backtesting. Trading the strategy necessitates a full Order Management System, Position Management System, Transaction Cost Module, Risk Module, Fix Execution Engine, among others.
Having this I can write you any strategy under the sun and I have already done so, among others equity HFT strategies, fx trading strategies, several agency algos. All off the back of .Net/C#. I could not disagree with you more that any platform that forces you into any sort of symbolic language has an advantage over an environment where you are provided with some highly efficient basic structures and can develop all else on top of it. I agree with you, however, that none of the current off-the-shelf products solve even remotely the needs of a serious quant trader/desk. There is no way around a platform that is written from the ground up. Of course many commercial components can be used to avoid having to re-invent the wheel, such as KDB, TIBCO message bus, ...
Thats it. I dont mind the implementation details of the platform as long as above requirements are met. So I dont fully understand why you delve into discussing compiler pros and cons while you dont even listen to those who are supposed to use your future platform. I suspect you got your priorities a little messed up.
I suggest you start with the end user in mind, what is really needed as opposed to you showing off your coding skills because it wont get you very far, imho.
But I understand full well what we as quant traders and strategy developers need from a testing and quant trading platform environment. I need a base platform that is purely event driven. I need events that handle tick trades and market depth changes (equities). I need an environment that provides knowledge within symbol A instance of the states in symbol B or C. I need the ability to raise time based events (time aggregated bars) and tick aggregated bars. I need the ability to zoom through tick data at high speed that enables me to run back tests at reasonable speeds.
I need a platform that provides data structures that allow me to pull any kind of raw data to perform calculations, such as all ticks on the day, the days open tick, the last tick, the tick n lookbacks ago, the tick at or right after 11am every past n days,...
I dont need an environment to perform optimizations, I do so within other more efficient environments, such as matlab, splus/R. I need to be able to log whatever I like at any "node" in the strategy, whether raw data aggregation, signal modules, statistics, order creation, order management...Thats it, at least in terms of backtesting. Trading the strategy necessitates a full Order Management System, Position Management System, Transaction Cost Module, Risk Module, Fix Execution Engine, among others.
Having this I can write you any strategy under the sun and I have already done so, among others equity HFT strategies, fx trading strategies, several agency algos. All off the back of .Net/C#. I could not disagree with you more that any platform that forces you into any sort of symbolic language has an advantage over an environment where you are provided with some highly efficient basic structures and can develop all else on top of it. I agree with you, however, that none of the current off-the-shelf products solve even remotely the needs of a serious quant trader/desk. There is no way around a platform that is written from the ground up. Of course many commercial components can be used to avoid having to re-invent the wheel, such as KDB, TIBCO message bus, ...
Thats it. I dont mind the implementation details of the platform as long as above requirements are met. So I dont fully understand why you delve into discussing compiler pros and cons while you dont even listen to those who are supposed to use your future platform. I suspect you got your priorities a little messed up.
I suggest you start with the end user in mind, what is really needed as opposed to you showing off your coding skills because it wont get you very far, imho.
Quote from 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.
