vnpy/vn.ib
2017-01-21 17:06:07 +00:00
..
build 完成vn.ib接口的linux封装,并增加到了vn.trader中 2016-11-20 14:42:29 +08:00
ibapi 完成vn.ib接口的linux封装,并增加到了vn.trader中 2016-11-20 14:42:29 +08:00
test 完成vn.ib接口的linux封装,并增加到了vn.trader中 2016-11-20 14:42:29 +08:00
vnib 完成vn.ib接口的linux封装,并增加到了vn.trader中 2016-11-20 14:42:29 +08:00
build.sh
CMakeLists.txt 更新vn.ib接口中linux相关的代码 2016-11-13 12:08:32 +08:00
README_en.md 增加vn.ib英文简介 2017-01-21 17:06:07 +00:00
README.md 完成vn.ib接口的linux封装,并增加到了vn.trader中 2016-11-20 14:42:29 +08:00

vn.ib

vn.ib is still under developing, encapsulation is partially done, further contributions are warmly welcome : )

Introduction

vn.ib is a Python encapsulation of IB POSIX C++ API with full functionality of the original C++ API. The name of functions and classes is consistent with original C++ API.

Difference between vn.py and IbPy

  1. vn.ib is a Python encapsulation of POSIX C++ API based on Boost.Python, which provides higher efficiency than IbPy.
  2. vn.ib integrates exception handling function inside the encapsulation, which avoids the disconnection to the IB server when exception is triggered.
  3. vn.ib needs to be compiled before calling (by default, .pyd file is compiled under Windows 7 32bit environment), while IbPy is a pure Python library.
  4. vn.ib is based on 9.72 beta API, while IbPy is based on old 9.70 stable API.

Changes from original API

Object comparison functions are added into shared_ptr.h and SoftDollerTier.h in order to automaticall encapsulate vector object to Python.

Linux version

Currently, revision is needed to deploy vn.ib in Linux environment:

  1. Object comparison functions are added into shared_ptr.h and SoftDollerTier.h in order to automaticall encapsulate vector object to Python.
  2. EReader.cpp: EReader::bufferedRead, change min to std::min (No revision needed in Windows environment)
  3. EClient.cpp: Add EncodeField<const char*> in order to partially characterize EncodeField<T> (If you use GCC to compile, you need to do this, otherwise you will get underfined symbol error. MSVC is free from the error).

We suspect that IB development team is developing and testing the API under Windows environment, here is the compiling process:

  1. cd vn.ib/ibapi/linux, run bash build.sh to generate twsapi.so
  2. cd vn.ib/, run bash build.sh to generate vnib.so

API version

Version: IB API for Windows beta 9.72.18

Date: 2016-09-14

Link: http://interactivebrokers.github.io/