Commit Graph

11 Commits

Author SHA1 Message Date
Martin Molinero 7f12cbb901 Addressing reviews 2019-05-15 18:56:08 -03:00
Martin Molinero f976ffa099 Removing BacktestingTransactionHandler thread
- For backtesting the algorithm thread will sequentially process pending
order requests
   - Adding new non blocking `BusyCollection`
- Updating `UpdateOrderRegressionAlgorithm` that suffered of a race
condition: it supposed `OnOrderEvent` would be called after the call to
`Transactions.AddOrder()` was finished
2019-05-10 16:15:24 -03:00
quant1729 2dce74e26d - Extended Option security and Option holding classes
- Updated IB fee model to support option exercise
- Added support for splits for options. Not tested on real data yet.
- Added option exercise functionality for long positions. Unit Tests. Not tested on real data yet.
- Added option assignment functionality for short positions. Assignment event. Unit Tests.
- Added basic option assignment simulator for backtesting brokerage. Simulates assignments for deep ITM short positions close to expiration. Unit Tests.
2016-08-31 18:00:00 +02:00
snugs 4de2ec4070 Make Engine an instance
Updated all interfaces to accept dependencies via Initialize methods
2015-06-18 13:50:11 -04:00
snugs fd3d5b2953 Load transaction handlers via MEF configuration 2015-06-17 22:34:02 -04:00
snugs 72a5fabc9a Brokerage cash sync every morning
Adds ProcessAsynchronousEvents in BrokerageTransactionHandler
2015-05-21 16:36:58 -04:00
Jared Broad d4c8c10f02 Rework to move synchronous events into transaction hander and result handler plugins so the events could be controlled on a plugin level. e.g. This allowed removing 1 thread context switch from primary algo loop and enabling live trading result handler to trigger its own updates every second independent of algorithm event timing 2015-02-06 12:50:55 -03:00
snugs 191b82c2cb Consolidates transaction handlers to use the IBrokerage interface
This is a fairly large change. We now have a BacktestingBrokerage (and PaperTradingBrokerage) which is consumed by the transaction handlers. We've also tested the BrokerageTransactionHandler. The IBrokerage interface has been through through and implemented. We've also added a spacial BacktestingTransactionHandler to delegate order filling to the BacktestingBrokerage implementation via the BacktestingBrokerage.Scan method.  Much of this is a code shuffle to bring live trading and backtesting transaction handling into a similar pattern.
2015-01-25 17:12:10 -03:00
snugs 57f272cf80 Creates new IBrokerage interface with new BrokerageTransactionHandler
IBBrokerage now implements new IBrokerage interface
Adds IBBrokerage tests
Created IBGatewayRunner to manage the IB gateway/TWS start/stop
Cleaned up ITransactionHandler interface, removed some duplication
2015-01-24 17:50:14 -03:00
snugs a289fe6b1c Renamed the Paper brokerage to PaperBrokerage 2015-01-23 18:27:06 -03:00
Jared Broad b3de520915 Initial commit 2015-01-12 12:03:33 -03:00