Quote from itmediaco:
I am interested to find out your roadmap for this project... I think it is a great start, but it's missing too much critical functionality. e.g., limit/stop/moc orders, multi-leg orders, portfolio syncronization and a trade database, failover, etc.
Is your plan to develop JSystemTrader into a QuantDeveloper/RightEdge/TS competitor or, more or less, a foundation for building a custom trading platform?
I think the latter would be very beneficial, if it provides the event processing/scheduling, simulation/backtesting, and order/broker adapter components. In that case, developers can focus on feed handling, failover, risk management/analytics, GUI, trading strategies, etc.
Quote from nonlinear5:
Simulation and backtesting are already in JSystemTrader. What are the "order/broker adapter components" and "event processing/scheduling"?
I'd like to keep JSystemTrader as simple, transparent, and easy to maintain as possible. Since I only use IB API, the support for other brokers and data feeds would be an unneccessary weight to carry around.Quote from itmediaco:
Currently JSystemTrader is hardcoded to IB's API. There should be some extensibility to other brokers, possibly FIX, with the ability to control this at run time. Same goes for data feeds.
That's already in JSystemTrader.Quote from itmediaco:
Job scheduling is needed to control the hours at which to run a trading strategy or other portfolio functions (e.g., close all positions at 3:30 PM on Friday, don't run on market holidays, etc).
Quote from jonnyy40:
I don't know how this 'open source' software works.Could someone take your code,hand it on to SourceForge or somewhere similar and ask interested parties to turn it into a universal trading automation tool?I've been to the IB discussion site and it looks like a bit of a mess.Perhaps people at SourceForge or other similar places have greater project experience and could drive it forward more quickly?
Quote from itmediaco:
Order/Broker adapter... Currently JSystemTrader is hardcoded to IB's API. There should be some extensibility to other brokers, possibly FIX, with the ability to control this at run time. Same goes for data feeds.
Job scheduling is needed to control the hours at which to run a trading strategy or other portfolio functions (e.g., close all positions at 3:30 PM on Friday, don't run on market holidays, etc). Quartz is very nice for this.
A separate messaging bus would add performance, fault tolerance, fail over, etc.
Clearly there are a lot of components to a full ATS, which is why I inquired about a roadmap and your long term plan for the project. Again, it is fantastic that you are sharing your code.