Coder Social home page Coder Social logo

docs's Introduction

Welcome to OpenTrading!

Why do we bet on algorithmic trading?

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.

Why do we develop OpenTrading?

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 OpenTrading 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!

What are the goals of OpenTrading (v1.0)?

  • 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

Why do we prefer Java?

  • 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.

What is the tech stack of OpenTrading?

Now .

  • Java
  • Groovy
  • PostgreSQL
  • Docker
  • AWS
  • Amazon S3
  • Terraform

Future +

  • gRPC
  • Redis
  • MongoDB
  • Apache Kafka
  • Kubernetes
  • UI frameworks

Modules

OpenTrading 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 aim to develop the following projects.

Framework

  • Develops the dependencies for trading, backtesting, and administration.

Boot

  • Develops the base application for developing any broker specific algorithmic trading application.

Replay

  • Develops the backtesting process.

Read More!

Head to OpenTrading Wiki to read more.

How can I contribute to OpenTrading?

We strongly believe in collective efforts and OpenTrading would love to have contributors like you.

Join us via any of the following channels.

Let us build this OpenTrading platform, for us, together!

docs's People

Contributors

kbh4r4th avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.