I would like to compile a list of open source trading platforms. Something that would give an overview and comparison of different architectures and approaches.
Quantopian provides a free research environment, backtester, and live trading rig (algos can be hooked up to Interactive Brokers). The algorithm development environment includes really handy collaboration tools and an open source debugger. They provide tons of data (even Morningstar fundamentals!) free of charge.
Quantopian's platform is built around Python and includes all the open source goodness that that the Python community has to offer (Pandas, NumPy, SciKitLearn, iPython Notebook, etc.)
Successful live traders will be offered spots in the Quantopian Managers Program, a crowd-sourced hedge fund.
Zipline is the open source backtesting engine powering Quantopian. It provides a large Pythonic algorithmic trading library that closely approximates how live-trading systems operate.
(full disclosure: I work at Quantopian)
QuantConnect provides an open source, community driven project called Lean. The project has thousands of engineers using it to create event driven strategies, on any resolution data, any market or asset class.
Our system models margin leverage and margin calls, cash limitations, transaction costs. We maintain a full cashbook of your currencies. Its about as close to reality as possible. Its 20x faster than Zipline, and runs on any asset class or market. We provide tick, second or minute data in Equities and Forex for free.
I'm a founder @ QuantConnect
January 2017: We now offer intraday Options, Futures, Forex, CFD and US Equities backtesting through QuantConnect.com
October 2017: We have added cypto trading on GDAX.
April 2018: We have created a modular algorithm framework; separate algorithm components that can be plugged together for rapid algorithm development.
List of links/projects I stumbled upon while doing the research:
- Open Source Trading Platforms (might be outdated)
QuantConnect and Quantopian were the first algorithmic trading platforms that became available and they are the most advanced (even though they need a lot more work for a professional trader, they are a good starting point).
This is an emerging market, lots of startups are rising. Nowadays new platforms are available, for example:
Every platform has is own characteristics, but all in all they are all work in progress. it will take few more years before being able to have a stable trading platform that you can rely on and that offers all you need for professional trading.
Can take a look the other pointers from wikipedia http://en.wikipedia.org/wiki/Algorithmic_trading
Another list is here: http://algotradingindia.blogspot.it/2012/05/open-source-trading-platforms-list.html
For hedge funds there is a famous top solution publicly available (referenced by wiki), but not "open source". ("Open source" stuff is usually put around by enthusiasts with no clue about real algo trading.)
As a beginner in AlgoTrading QuantConnect and Quantopian are great for practice and improving your skills but for a serious Algo Trader , they are basically useless. An Algo Trader requires flexibility to investigate trading ideas and add or remove libraries or parts of the system that do not work. You need to automatically and constantly reevaluate your systems . At this level of trading , Quantopian and Quantconnect are very rigid and completely not capable. May be in a few years they will be at a level where implementing new trading ideas with more advanced libraries is possible. This two startups are looking for money , plain and simple. If you have been developing algos that are actually profitable and you are in know in the trading industry. if you have worked with the Big boys, Hedge funds, HFT firms, and Trading firms you will know why i say this. Just be careful do not put all your eggs in one basket
It depends on either the language(s) you know or which languages you wish to learn.
Python is a must, and the two major platforms I know of (Quantopian and Quantconnect) offer support for Python. In fact, a vast majority of the trading algorithms on the forums and discussions are in Python. This is especially the case given Quantopian only has support for Python and nothing else, Quantconnect however offers support C# and F# as well. In my experience, Quantconnect has been better as they offer the language closest to what I know the best (that language being C# and the one I am good at being C++), plus they offer higher resolution data for various asset classes (they not only have equities and futures, but options, forex and cryptocurrencies). They offer tick level data for crypto, equities, forex and futures. This was not an advertisement for Quantconnect however... I do not even use it.
For work I do in Python, I use a Jupyter notebook running locally on my computer. Libraries I use for Python primarily are
- TensorFlow (rarely)
In C++, which is where I do most of my work, since I'm into high frequency trading, I use Quantlib which is mostly useful for coming up with derivatives pricing models, as well as Armadillo, the GNU Scientific Library (GSL), the GNU linear programming kit (GLPK), and TaLib (technical analysis library).
I use Vim C++ for whatever that's worth and I would urge you to invest in cultivating your own environment for research because if you are really planning on doing real research and thorough backtesting, you are going to need a lot more flexibility with respect to libraries and the data being utilized.
There's this one written by me a few years back called autoStock. Worth taking a look.
Still in early stages but if you can code in Java / Python this might be worth taking a look: https://github.com/melphi/algobox
OpenTrade An open source OEMS, and algorithmic trading platform in modern C++
If you only like to use methods of technical analysis in java, here is a good code to read: algorithmic trading in java
FreqTrade Bot is excelent option right now.
Still under heavy development and in early stages but has lots of features and could quickly put a strategy to test in the cryptocurrency makets, connected with CCXT library.
On GNU/Linux (and hence other Unix-like systems) you could use Qtstalker, which "...is 100% free software, distributed under the terms of the GNU GPL."
I think you have to check http://www.modulusfe.com/products/ for a high frequency trading solution with open source code.