Commit Graph

18 Commits

Author SHA1 Message Date
Adalyat Nazirov 069d632737 requested changes: extract Crypto.DecomposeCurrencyPair method 2019-06-01 20:27:30 +03:00
Adalyat Nazirov 0fc894de81 decompose the crypto into each currency pair 2019-06-01 20:27:29 +03:00
Martin Molinero 95af5f8877 SecurityHolding has a ref to an ICurrencyConverter
- `SecurityHolding` will now have a reference to a `ICurrencyConverter`
instance, provided as a constructor argument, called by the owning `Security`.
2018-12-04 17:06:56 -03:00
Michael Handschuh 20133d40d1 Add ICurrencyConverter to Security constructors
Security instances will require private access to this value in order to
compute close profit.

NOTE: The extent of these changes for simply adding a constructor argument
insinuates that we're missing an abstraction to manage the construction of
these objects, such as a factor object for Security. This will need some
careful TLC in the near future.
2018-10-10 11:17:12 -04:00
Stefano Raggi 415542fcbc Set CashBuyingPowerModel as default for Crypto/GDAX 2018-02-12 17:38:12 +01:00
Michael Handschuh f08184c0ae Revert class name changes from #1506
This caused several user algorithms to break. Also, its still correct to
call these margin models.
2018-02-04 14:20:38 -05:00
Stefano Raggi baced83ac4 Rename interface ISecurityMarginModel to IBuyingPowerModel
Also renamed all existing margin models to buying power models:
- SecurityMarginModel -> SecurityMarginBuyingPowerModel
- FutureMarginModel -> FutureMarginBuyingPowerModel
- OptionMarginModel -> OptionMarginBuyingPowerModel
2018-01-31 11:47:34 +01:00
Stefano Raggi d4ae8ca202 Set GDAXFeeModel as default fee model for Crypto securities
This prevents getting always zero fees in backtesting when not calling SetBrokerageModel
2018-01-30 18:43:23 +01:00
Michael Handschuh 0cc6a53e9c Set correct time zone for custom data in MarketHoursDatabase
Add MarketHoursDatabase.SetEntry and SetEntryAlwaysOpen. This allows runtime modification of the
market hours database which is necessary for correct custom data time zone handling.

Extracts complicate ternary logic into its own method and make it human readable.
Set the market hours entry for custom data universe subscriptions defaulting to the security's time zone.
2018-01-04 12:36:57 -05:00
Stefano Raggi d5c144cef5 Update Crypto.Price to use last Trade price instead of Quote midprice
This PR is chained to PR #1362.

The slight change in regression statistics is caused by the GDAXFeeModel using security.Price for fee calculation.
2017-12-01 22:32:45 +01:00
Andrew a1ac0214c1 GDAXBrokerageModel now uses LatestFillModel as the default fill model
This ensures that GDAX crypto securities will be filled using the latest data; either Trade or Quote
2017-11-14 11:23:45 -05:00
Andrew fc1d70a8b8 Added tests for LatestFillModel 2017-11-13 18:55:09 -05:00
Andrew 5ae1997afb Added LatestPriceFillModel
This fill model is provided because currently the data sourced for Crypto is limited to one minute snapshots for Quote data. This fill model will ignore the trade/quote distinction and return the latest pricing information in order to determine the correct fill price. This fill model is used for crypto securities in backtesting
2017-11-13 18:54:57 -05:00
jameschch@outlook.com fbcab5cc65 Changes fee model, default leverage and gold as base currency 2017-09-14 08:52:37 +01:00
jameschch@outlook.com 6c06413fe4 Moves existing bitfinex to crypto and updates crypto tests 2017-08-30 13:46:30 +01:00
jameschch@outlook.com ff389b2fe6 Removed repeated forex code 2017-08-29 14:14:36 +01:00
jameschch@outlook.com 578efe843f Further changes for crypto type 2017-08-29 12:19:15 +01:00
12112 83fdf9c386 crypto wip 2017-07-14 16:53:42 +01:00