forked from vnpy/vnpy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
868d68f
commit 25e19e0
Showing
1 changed file
with
51 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# 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/](http://interactivebrokers.github.io/) |