Skip to content

malloryerik/ibex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ibex

Ibexes are superb climbers.

An ibex is a mountain-climbing goat. Another kind of Ibex is Spain's IBEX 35 stock index -- we have no affiliation or connection.

Ibex aims to be an unofficial Elixir wrapper for the Interactive Brokers TWS API.

A focus on excellent concurrency, stability, and ease of use. Current thinking is to value software quality over feature completeness, so start with a small subset of functionality that works to a high standard and is maintainable, documented, polished. Then grow the API.


First step: a tiny subset of the api allowing Elixir apps to

  1. Connect to the TWS API via a TCP connection using a dedicated GenServer. DONE

  2. Subscribe to historical market data. IN PROGRESS

  3. Subscribe to live data. TODO 4. Subscribe to an economic calendar. TODO

    At first, data will mean futures and spot FX data, then stocks, bonds, futures and stock options, etc.

The subsequent step will focus on getting and sending orders and streaming trading account data.

Installation

Ibex will be on Hex.pm once we've finished "first step" goals above.

<!-- {:ibex, "~> 0.1.0"} -->

REFERENCES:

Python -- https://github.com/erdewit/ib_insync/ -- Excellent library, though in Python async / concurrency is a travesty.

TS -- https://github.com/stoqey/ib https://github.com/stoqey/ib/blob/333b7ba3f6851f9fbed02ba06fd55d1315045786/src/core/io/socket.ts#L91

DISCLAIMERS:

  • Unofficial and inchoate.
  • May contain bugs and other errors.
  • No warranty and no guarantee. Test in paper account exhaustively and review the code closely. Use at your own risk.
  • Nothing in this repo constitutes financial advice.
  • Authors accept no responsibility of any kind.

About

Pre-alpha. Elixir wrapper for Interactive Brokers' TWS API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages