We believe technical analysis could be an important factor to consider, when initiating a trade for a stock.
We can use charts available on different platforms, to look at various market technicals (sma, ema, rsi, and so on) to initiate a trade, upon receiving a buy/sell signal. But, that is consuming and not scalable, when we want to do that for 'n' of number of instruments (Stocks).
So, we turn our attention to automating our trades, through algorithmic trading to achieve speed and consistency, for executing various trading strategies efficiently and effectively.
There must be numerous libraries and platforms out there, to perform algorithmic trading and backtesting, but each of them acts like a dependency, to build a complete trading system or developed using languages other than Java or their community is currently inactive.
So, the reason behind developing Open Trading is to build a complete algorithmic trading system for Stocks and Options, by leveraging the libraries and platforms out there but to not develop the aforesaid libraries or platforms and certainly to not reinvent the wheel!
- Read market data
- Consume/calculate market technicals
- Persist market data
- Replay market data
- Form and execute trading strategies
- Connect to a broker
- Place trades (for Stocks and Options) on your trading account (virtual/real account)
- Backtest strategies
- Measure trading performance/drawdown
- Sandbox
- We don't worry about time-sensitive lag in terms of system performance, because our strategies are not going to be that time-sensitive.
- We lean towards Java for its strongly, statically typed nature and its robust features like collections, multithreading model and its plethora of frameworks/strong communities.
- Lastly, we have a solid development experience using Java. Thus, we want to use a language that we are pretty comfortable, so we can dig deep and understand what's going on under the hood, when things go south.
Now .
- Java
- Groovy
- PostgreSQL
- Docker
- AWS
- Amazon S3
- Terraform
Future +
- gRPC
- Redis
- MongoDB
- Apache Kafka
- Kubernetes
- UI frameworks
Open Trading is designed to be a generic and an extensible platform and so it is possible to extend it for any market/broker. That said, we target to extend the platform for following markets/brokers.
US
- Alpaca
- TD Ameritrade
- Tastyworks
India
- Zerodha
Head to Open Trading Wiki to read more.
We strongly believe in collective efforts and Open Trading would love to have contributors like you.
Join us @open-trading on Slack. And let us build this Open Trading platform, for us, together!