IB-Ruby aims to provide a ready-to-go solution for everyday aspects of serious trading of stocks and derivates through Interactive Brokers. Additional tools are covered in this documentation as well as best practice examples.

Setup describes how to setup the environment, to install IB-Ruby locally and start a project that has access to the TWS.

Console assists through first experiments with the software.

Modular Approach

The IB-Ruby-Project consists of several ruby-gems. Its modular architecture provides a flexible and resource-minimized setup.

  • ib-api provides a low-level interface to the tws- or gateway-api. Basically the user sends messages to the tws and subscribes to expected responses. ib-api provides them as ruby objects.

  • ib-symbols offers shortcuts to most used contracts and provides a file based management of watchlists.

  • ib-extensions is a collection of useful tools

    • verify queries the TWS and validates the input for contracts

    • market-price manages the query for most recent market-data,
      eod fetches historical (end of day) data.

    • order-prototypes ease the process of trading contracts

    • spread-prototypes offer a user friendly way to engage most common spreads

    • option-chains fetch at- in- and out-of-the-money options with just one command

    • gateway provides a simple management of accounts for financial advisors

  • ib-orientdb connects OrientDB, a Multi-Model NOSQL DBMS, to the IB-Ruby ecosystem.

  • ib-technical-analysis calculates moving averages and momentum indicators.

  • ib-trading-system is a framework to create and manage automatic trading systems..

  • simple monitor is a simple web trader suitable to be used in a terminal-browser.

  • ib-container builds a lxc-container including a running TWS/Gateway in an isolated environment.

Status

The components are ready to be used in production.

(Last update: Jul 26, 2021)