Hi all,
I am in the beginning stages of starting a company to provide tools for automated traders. Generally speaking I want to automate as much of the research, development, and production path as possible.
I'm targeting sophisticated quant traders (equities for now since I'm familiar with that) who have a good understanding of trading technology, have or want access to the best data, want to work at a higher level on trading strategies, and save time and money on accessing and analyzing that data.
I'm looking for feedback as to whether I'm completely misguided, generally on the right track but need some help, or if I'm targeting a need perfectly (great, where's your checkbook?).
Here's what I have so far, mostly low level stuff and I want to expand into more research tools down the line:
Feed handlers. So much boilerplate and the bane of everybody's existence. I have auto-generation for feed handlers which takes the protocol specification and some protocol-specific rules and spits out (super fast) C code. It can obviously target anything with little effort.
ETL. Again so much boilerplate crap and nobody wants to do it but it's a huge time sink, converting between formats and updating all this code every time the exchange publishes an update to their protocol or adding a new protocol. Again given a spec I can automagically transform between binary / ascii / sql and load without any boilerplate.
Here's what I'm working on:
Custom / in-memory database implementation. Crunch terabytes of data in seconds, 'nuff said.
Disk-based SQL implementation.
A high-level language for trading, which allows you to query historical data to create signals and specify algorithms. I think a StreamSQL+LINQ-like language is the way to go, with special primitives for trading operations. Signals are described declaratively in terms of reductions over streams of events (functional style), as well as combinators like merge / split / set dependencies between signals. Obviously performance is a problem with general purpose CEP / LINQ languages so I'm compiling to a style of C with deterministic memory / performance profile. Maybe FPGA down the line but that's a lot of work. This way you can have your cake (abstraction) and eat it too (performance). With this I hope to achieve the pipe dream of having a unified environment for prototyping, backtesting and production. Lastly I hope to separate the concerns of signal generation from order management. In other words you do research on the signal and then plug it into an order / risk management framework which suits the needs of the particular strategy.
Miscellaneous dumb things like:
Being able to quickly look up the definition, commentary and explanation of a field in the specification. I can't tell you how much time I have spent reading specifications and understanding them, so many hours of my life I am not getting back. I hope to save other people this pain.
Access to data exactly as it's in the spec. With operators to easily define equivalence relations between specs. Normalization is evil because you lose data / can't predict what's being done. Obviously I want to provide standard normalization tools so if the user doesn't want to do that work they don't have to but also give access to the data as defined in the spec with no changes.
So the resulting service is basically, no-hassle data management, a nice database / query service, and seamless deploy to live trading. All hosted, I don't think people really want to deal with managing their own servers / operating systems anyways.
Down the line I want to add graphical tools, and also guided tools for mining data (with specific heuristics for trading) but right now those are out of my reach.
Here's what I've turned up in terms of companies which are doing similar things but just not quite the right fit:
https://www.quantconnect.com/
http://www.spiderrock.net/
http://www.softwareag.com/corporate...kets/algorithmic_trading/overview/default.asp
https://www.onetick.com/
Feedback? Thanks
I am in the beginning stages of starting a company to provide tools for automated traders. Generally speaking I want to automate as much of the research, development, and production path as possible.
I'm targeting sophisticated quant traders (equities for now since I'm familiar with that) who have a good understanding of trading technology, have or want access to the best data, want to work at a higher level on trading strategies, and save time and money on accessing and analyzing that data.
I'm looking for feedback as to whether I'm completely misguided, generally on the right track but need some help, or if I'm targeting a need perfectly (great, where's your checkbook?).
Here's what I have so far, mostly low level stuff and I want to expand into more research tools down the line:
Feed handlers. So much boilerplate and the bane of everybody's existence. I have auto-generation for feed handlers which takes the protocol specification and some protocol-specific rules and spits out (super fast) C code. It can obviously target anything with little effort.
ETL. Again so much boilerplate crap and nobody wants to do it but it's a huge time sink, converting between formats and updating all this code every time the exchange publishes an update to their protocol or adding a new protocol. Again given a spec I can automagically transform between binary / ascii / sql and load without any boilerplate.
Here's what I'm working on:
Custom / in-memory database implementation. Crunch terabytes of data in seconds, 'nuff said.
Disk-based SQL implementation.
A high-level language for trading, which allows you to query historical data to create signals and specify algorithms. I think a StreamSQL+LINQ-like language is the way to go, with special primitives for trading operations. Signals are described declaratively in terms of reductions over streams of events (functional style), as well as combinators like merge / split / set dependencies between signals. Obviously performance is a problem with general purpose CEP / LINQ languages so I'm compiling to a style of C with deterministic memory / performance profile. Maybe FPGA down the line but that's a lot of work. This way you can have your cake (abstraction) and eat it too (performance). With this I hope to achieve the pipe dream of having a unified environment for prototyping, backtesting and production. Lastly I hope to separate the concerns of signal generation from order management. In other words you do research on the signal and then plug it into an order / risk management framework which suits the needs of the particular strategy.
Miscellaneous dumb things like:
Being able to quickly look up the definition, commentary and explanation of a field in the specification. I can't tell you how much time I have spent reading specifications and understanding them, so many hours of my life I am not getting back. I hope to save other people this pain.
Access to data exactly as it's in the spec. With operators to easily define equivalence relations between specs. Normalization is evil because you lose data / can't predict what's being done. Obviously I want to provide standard normalization tools so if the user doesn't want to do that work they don't have to but also give access to the data as defined in the spec with no changes.
So the resulting service is basically, no-hassle data management, a nice database / query service, and seamless deploy to live trading. All hosted, I don't think people really want to deal with managing their own servers / operating systems anyways.
Down the line I want to add graphical tools, and also guided tools for mining data (with specific heuristics for trading) but right now those are out of my reach.
Here's what I've turned up in terms of companies which are doing similar things but just not quite the right fit:
https://www.quantconnect.com/
http://www.spiderrock.net/
http://www.softwareag.com/corporate...kets/algorithmic_trading/overview/default.asp
https://www.onetick.com/
Feedback? Thanks
. If you think about it, though, isn't that what IB does?