Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ib portfolio #196

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open

Conversation

ryankennedyio
Copy link
Contributor

@ryankennedyio ryankennedyio commented Apr 5, 2017

This was forked from #186 which basically requires fixing Travis before being ready to merge.

The IBPortfolio should act like normal Portfolio, except for initialization:

Upon connection to IB, the positions held in the account should be streamed to QSTrader, and the IBPortfolio creates the necessary positions. A call to the PriceHandler is also made, which will subscribe to the current positions so we can update portfolio value correctly.

Note that handling of position changes (buying & selling) should not be handled directly by the IBPortfolio - that should be the responsibility of the IBExecutionHandler. The ExecutionHandler should subscribe to all OrderStatus() events from IB (i.e. fills, cancels), and convert them to the relevant QSTrader event, which are then given to the Portfolio to adjust positions.

I've also started some code to keep track of accounting information, which is stored as a big ugly multi-level map that comes from IB.

There also isn't much testing done in here yet.

…ather than guessing how to create IB Contracts based on symbols+user's config
…we'd exit backtest iteration one event too early
… -- need a full integration test to run locally
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant