1647 Commits

Author SHA1 Message Date
JosueNina 9b89c166ff Market-hours aware intraday consolidation (#9516)
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
* Add market-hours aware intraday consolidation to MarketHourAwareConsolidator

* Minor fix

* Address review comments

* Assert consolidated bar size in regression algorithms

* Move MarketHourAwareConsolidator to Data.Consolidators namespace

* Remove accidentally committed log file

* Keep MarketHourAwareConsolidator in Data.Common namespace
2026-06-11 10:02:26 -03:00
JosueNina a2537513bd Fix ScheduledUniverse emitting triggers past end time (#9490)
Benchmarks / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix ScheduledUniverse emitting triggers past end time

* Minor fix
2026-05-19 13:12:35 -05:00
JosueNina 9046162f77 Fix OnWarmupFinished algorithm time alignment (#9445)
* Align OnWarmupFinished time to StartDate when ScheduledUniverse skips midnight

* Align algorithm time to StartDate before OnWarmupFinished fires

* Apply warmup time alignment fix to LiveSynchronizer

* Minor fix

* Skip warmup pulse if algorithm not locked

* Fix OnWarmupFinished timing in live trading
2026-05-15 10:08:49 -03:00
JosueNina 0df0e67cd1 Add deterministic counter to universe symbol ticker for stable sort order (#9487)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
2026-05-14 09:35:01 -03:00
Jhonathan Abreu 3806e81388 Add Count property to MemoizingEnumerable (#9468)
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
* Add Count property to MemoizingEnumerable

* Update Pythonnet version to 2.0.54
2026-05-08 16:10:58 -04:00
JosueNina 421d3c3448 Fix RollingWindow element order corruption on resize (#9449)
Benchmarks / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
* Fix RollingWindow resize

* Fix MarketImpactSlippageModel

* Reorder RollingWindow list in place
2026-05-07 10:41:05 -03:00
JosueNina 7602c5bde0 Fix DataManager creating invalid data type subscriptions (#9379)
API Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix DataManager skipping invalid data type subscriptions

* Update regression algorithms

* Use effective resolution when looking up subscription data types
2026-04-14 10:32:47 -05:00
Roman Yavnikov 9b2a793709 fix: support BNFCR alternative collateral in CryptoFutureMarginModel for Binance (#9373)
* fix: support BNFCR alternative collateral in CryptoFutureMarginModel for Binance (#9339)

* refactor: use classic switch in BinanceFuturesBrokerageModel.GetBuyingPowerModel

* fix: CryptoFutureMarginModel in BinanceCoinFuturesBrokerageModel

* refactor: simplify BinanceCryptoFutureMarginModel collateral conversion

* fix: restore IsCryptoCoinFuture guard in BinanceCryptoFutureMarginModel

* refactor: simplify BinanceCryptoFutureMarginModel to direct BNFCR lookup

Replace IsStableCoinWithoutPair foreach loop with a single TryGetValue
check for BNFCR. BNFCR is EU/EEA-only (MiCA Credits Trading Mode) so
the lookup is a no-op for all other users. Amount reflects availableBalance
from the Binance API — the total cross-margin pool already aggregated by
Binance — making the > 0 guard correct and avoiding CashBook iteration.

* feat: add regression algorithm for BNFCR as sole collateral on Binance USDⓈ-M futures

Asserts end-to-end that EU/MiCA accounts with zero USDT and BNFCR as
the only collateral can open ADAUSDT positions. Verifies buying power,
holdings AbsoluteHoldingsCost, TotalSaleVolume, TotalMarginUsed,
maintenance margin consistency and TotalUnrealizedProfit accuracy.

* refactor: BNFCR presence gate with CashBook iteration for supplementary collateral

Replace IsStableCoinWithoutPair and hardcoded asset list with CashBook
iteration gated by BNFCR presence. Binance controls which assets are in
the account — all with non-zero walletBalance are valid collateral.
Add tests for BNFCR zero balance and BTC collateral conversion.

* refactor: aggregate all collateral without reference equality check

* fix: shared collateral deduction across quote currencies for EU/MiCA BNFCR mode

- Extract virtual SharesCollateral in CryptoFutureMarginModel
- Override in BinanceCryptoFutureMarginModel: BNFCR present → all USDⓈ-M share pool
- Add BNFCRCurrency const
- Add SharedCollateralDeductsMaintenanceMarginAcrossQuoteCurrencies unit test
- Refactor regression algorithm to assert shared collateral across ADAUSDT/ETHUSDC

* refactor: remove dead IsCryptoCoinFuture guard from BinanceCryptoFutureMarginModel

- Remove IsCryptoCoinFuture() check (coin futures use BinanceCoinFuturesBrokerageModel, not this model)
- Call base.GetTotalCollateralAmount() instead of duplicating primaryCollateral.Amount
- Remove CoinFutureDoesNotIncludeBnfcrAsCollateral test (tested wrong margin model)

* refactor: make GetCollateralCash private in CryptoFutureMarginModel

- No longer accessed by subclasses after removing direct collateral checks from BinanceCryptoFutureMarginModel
2026-04-13 23:24:40 +03:00
JosueNina 9ccdbec8ee Add ContractMultiplier setter to Cfd via CfdSymbolProperties (#9328)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add ContractMultiplier setter to Cfd via CfdSymbolProperties

* Fix regression tests

* Solve review comments

* Address new review comments

* Fix regression tests

* Use ContractSymbolProperties as base class

* Minor fix

* Address review comment
2026-04-08 10:47:47 -03:00
Jhonathan Abreu cefa6341f4 Source option price model data from securities instead of slice (#9315)
API Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Source option price model data from securities instead of slice

* Remove symbols caching and cleanup

* Cleanup
2026-03-04 10:25:14 -04:00
Jhonathan Abreu 04993e2e2a Add securities when trading non added securities (#9312)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add securities when trading non added securities

* Minor tests fixes

* Minor test fix

* Minor test fixes

* Minor fixes

* Minor test fix

* Minor fix
2026-03-03 17:09:21 -04:00
Jhonathan Abreu 9573eea52e Use universe settings when adding derivatives (#9309)
* Use universe settings when adding derivatives

Use resolution, fill forward and extended market hours settings from universe settings when adding derivative securities (options, index options, futures and future options)

* Minor python syntax check fix

* Minor change

* Default resolution from universe settings for common lean types securities

* Minor test fix

* Cleanup
2026-03-03 12:18:10 -04:00
Jhonathan Abreu 150dac5086 Update Pythonnet version to 2.0.53 (#9303)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Update Pythonnet version to 2.0.53

* Minor python syntax fix
2026-02-23 11:24:04 -04:00
JosueNina 7333dd3505 Ensure AdvanceTime() runs only after full algorithm initialization (#9284)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Initial solution

* Add regression algorithm

* Solve review comments

* Fix failing unit tests

* Improve comments

* Solve review comments

* Update regression algo

* Minor fix
2026-02-20 16:12:03 -03:00
Jhonathan Abreu e68ee853db Implement indicator-based option price model (#9237)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* Implement indicator-based option price model

This model uses IV and Greeks indicators to implement Lean's own option pricing model

* Minor fixes

* Address peer review

* Minor tests fixes

* Make the indicator based price model the default for options

* Address peer review

* Cleanup and minor changes

* Support indicators configuration for new pricing model

* Some cleanup

* Add QL option price model example algorithm

* Return lean models from static helpers

* Minor tests fixes

* Minor test fixes

* Address peer review

* Cleanup

* Fix unit tests

* Move QL models to OptionPriceModels.QuantLib.*

* Add forward tree helper method
2026-02-19 15:15:25 -04:00
JosueNina a25e041793 Follow up: Fix weights calculation in VBaseSignalExport (#9281)
* Fix weights calculation in VBaseSignalExport

* fix empty portfolio handling

* Refactored signal export to compute and export weights for all portfolio positions, not just update targets.

* Update BuildCsv XML doc to clarify CSV output details

* Clarify comments on portfolio value and empty weights

* Stamp targets as is; we expect that users send all the weights they want to stamp. Extended the demo algorithm to use two positions to better demonstrate the intended usage of the VBaseSignalExport class.

* Minor changes to address PR review comments.

* Minor fix

---------

Co-authored-by: vb-vlb <volodymyr@vbase.com>
Co-authored-by: Volodymyr <vb-vlb@users.noreply.github.com>
2026-02-12 09:42:45 -03:00
JosueNina 63209a3fd3 Add Python overload for OptionPriceModelResult (#9277)
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Add python overload for OptionPriceModelResult constructor

* Solve review comments

* Update regression algorithms
2026-02-10 16:48:57 -03:00
JosueNina 76e01bbc42 Adds support for custom option pricing models (#9270)
* Initial solution

* Made Greeks a non-abstract class

* Add regression algorithms

* Solve review comments

* Minor fix

* Minor fix

* Remove unnecessary imports

* Fix issues with regression algorithms

* Solve review comments
2026-02-09 12:46:15 -03:00
Martin-Molinero 2d64537711 Minor regression algorithm fix (#9265) 2026-02-03 17:59:20 -03:00
JosueNina 2504ddbb87 Add one time warning for daily consolidation (#9254)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add warning for DailyConsolidationUseExtendedMarketHours mismatch

* Solve review comments
2026-02-03 14:56:58 -03:00
Martin-Molinero c6c4c1edec Fix fundamental security direct access timestamp (#9255)
Report Generator Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
- Fix the date used by fundamental data accessed directly through security.
  Updating regression algorithm asserting behavior
2026-01-30 11:41:24 -03:00
Jhonathan Abreu 7f17838ad0 Fix crypto future margin model to reflect margin used (#9235)
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix crypto future margin model to reflect margin used

* Minor tests fixes

* Cleanup

* Cleanup
2026-01-27 13:40:36 -04:00
Martin-Molinero 552511ef58 Fix dydx holdings value (#9243)
Benchmarks / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
- dYdX crypto futures holdings value behaves like normal positions qtty
  * price
2026-01-26 16:29:19 -03:00
JosueNina 0854ab82da Default option filter now includes weeklies to prevent empty chains (#9162)
* Return weekly contracts if no standard contracts exist

* Fix unit and regression tests

* Centralize default expiration type flags

* Add ExcludeWeeklys() method

* Mark IncludeWeeklys() as obsolete since weeklies are now default
2025-12-31 10:11:46 -03:00
Martin-Molinero 10902f95dd net10 fix: Update clr-loader (#9166)
Benchmarks / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
2025-12-29 19:07:35 -03:00
Martin-Molinero 2e67b9ad4f Feature net10 update (#9161)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Feature update to net10

* Update to net10

* Update pythonnet to 2.0.51

* Remove dotnet config

* Remove net9

* Minor cleanup
2025-12-29 09:53:37 -03:00
Martin-Molinero 5842f50b03 Trigger initial selection for a yearly schedule (#9149)
- Trigger initial selection for a yearly scheduled universe. Adding
  regression algorithm.
2025-12-19 16:45:37 -03:00
Martin-Molinero 14427129c7 Minor fix to handle all tick security updates (#9117) 2025-12-08 17:41:28 -03:00
Jhonathan Abreu 683bfe007a Avoid emitting overlapping fill forwarded data (#9107)
Syntax Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
* Avoid emitting overlapping fill forward data

* Cleanup
2025-12-05 10:05:40 -04:00
Jhonathan Abreu 9acd30c355 Make DataDictionary ordered by key (symbol) (#9105)
* Make DataDictionary ordered by key (symbol)

* Cache DataDictionary sorted items

* Minor tests fixes

* Minor changes

* Minor changes
2025-12-01 12:44:22 -04:00
Jhonathan Abreu 16fdf61903 Track securities addition and removal notifications (#9097)
* Track security addition and removal sent notifications

* Minor regression algorithm fixes

* Fix regression algorithms data points count

* Add description to new regression algorithms

* Simplify tracking removal notifications

* Cleanup
2025-11-28 10:37:31 -04:00
Martin-Molinero 95739b8a58 Increase option strike digits precision to 6 (#9086)
Regression Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
* Increase option strike digits precision to 6

- Increase option strike digits precision to 6. Adding unit test

* test:fix: couple of build tests

* fix:test: Asset CUSIP and OrderListHash in Regression Algorithms

* test:fix: several regression algos

* test:fix: old Symbol CUSIPs to new ones

---------

Co-authored-by: Romazes <romazes20@gmail.com>
2025-11-18 16:23:29 -03:00
Jhonathan Abreu c81f5d7d1a Seed securities by default (#9045)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Add SeedInitialPrices algorithm setting

This is true by default and indicates that the engine will seed initial prices right after the security is added or selected

* Update regression algorithms

* Update regression algorithms

* Update regression algorithms

* Refactor default securities seeding

* Minor fix

* Minro fixes

* Cleanup

* Updated and add regression algorithms

* Address peer review

* Centralize logic to get last known data for multiple securities

* Some cleanup

* Minor build fix

* Minor fixes

* More logic centralization

* Some more cleanup

* Cleanup

* Update regression algorithms and minor fixes

* Update regression algorithms

* Minor fix

* More minor fixes

* Update regression algorithms

* Cleanup

* Minor test fix

* Address peer review

* Minor fix and performance improvement

* Fix to seed open interest data

* Minor test fixes

* Address peer review

* Minor change

* Minor revert

* Minor fixes and improvements

* Disable initial seeding by default

* Minor fixes

* Cleanup

* Cleanup

* Minor fix
2025-11-18 13:05:56 -04:00
Martin-Molinero 4961844f82 Refactor user define universe handling (#9088)
* Refactor user define universe handling

- Normalize user define universe additions and removals to behave like
  other subscriptions without requiting special handling

* Minor fixes
2025-11-18 12:29:05 -03:00
Jhonathan Abreu f4bab98b00 Update Pythonnet version to 2.0.50 (#9070)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
2025-10-31 16:38:26 -04:00
Martin-Molinero 2faf921731 FixComposer Assembly Resolution (#9066)
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
2025-10-28 09:26:12 -03:00
Martin-Molinero 89f3968eef Fix performance degradation on expirying assets (#9065)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix performance degradation on expirying assets

- Options would expire and get removed, when the universe removed the
  security it would never be reseted on universe selection, causing
  leaks
- Minor improvement for composer assembly loading
- Minor improvement for loading exception interepreters, so it uses
  composer

* Minor regression test fix

* Add new benchmark algorithm
2025-10-27 18:17:53 -03:00
Martin-Molinero 6916636e8e Remove Future expiry date from data & use Bank Holidays For Expirations (#8580)
Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Use Futures Bank Holidays For Expirations

* Minor improvements

- Futures will be stored by their contract month, not expiry

* Delete dairy future products

* Minor test fixes
2025-10-24 17:18:20 -03:00
Martin-Molinero 9ab9fe5f2b Python performance improvement (#9052)
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
* Minor tweak to cache liquidation fees

* Result handler cleanup

* Update pythonnet version to 2.0.49
2025-10-21 12:34:52 -03:00
Martin-Molinero 6c95372d27 Disable OHLC session tracking by default (#9046)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Disable OHLC session tracking by default

* Minor test fix
2025-10-17 15:59:50 -03:00
JosueNina ff1638f653 Support CustomData in SecurityCache.GetData(PyObject type) method (#9036)
* Initial Solution

* Add regression algorithms

* Solve review comments

* Update CustomDataSecurityCacheGetDataRegressionAlgorithm.py

---------

Co-authored-by: Martin-Molinero <martin.molinero1@gmail.com>
2025-10-16 10:37:00 -03:00
Martin-Molinero 81b2d45440 Add Consolidator Optional Start time (#9034)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
- Add consolidators optional start time. Adding tests
2025-10-14 11:04:21 -03:00
JosueNina fda4859b5a Support Future Options for Continuous Futures (#9022)
Research Regression Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Support Future Options for continuous futures

* Solve review comments

* Resolve review comments

* Improve regression algorithms

* Use canonical symbols in OptionChains lookups

* Solve review comments
2025-10-13 18:20:12 -03:00
Martin-Molinero 9fa2630dc8 Add implicit security to symbol (#9032)
- Add implicit conversion from security to symbol. Adding regression
  algorithms
2025-10-13 17:58:57 -03:00
Ryan Crowley b27e9e67dd ProcessSplitSymbols crashes during live/paper trading warmup with InvalidOperationException #9029 (#9030)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix ProcessSplitSymbols crash during live mode warmup

Fixes InvalidOperationException when CancelOpenOrders is called during warmup in live/paper trading mode.

When historical splits are replayed during live mode warmup, ProcessSplitSymbols attempts to cancel open orders for option contracts, but CancelOpenOrders throws an exception during warmup.

The fix adds an early return when algorithm.LiveMode && algorithm.IsWarmingUp. This is safe because in live/paper trading, current positions already reflect historical splits.

Includes unit tests validating the fix.

* Some improvements and more tests

- Ignore splits during warmup for backtesting and live trading. Adding a
  regression algorithm reproducing issue

* Minor fix

---------

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2025-10-13 13:21:09 -03:00
Martin-Molinero afa7cce46a Add ShortMarginInterestRateModel (#9028)
* Add ShortMarginInterestRateModel

- Add new ShortMarginInterestRateModel, and regression algorithms
  asserting the behavior

* Minor syntax check fix
2025-10-13 12:35:03 -03:00
Jhonathan Abreu 633833e3c7 Fix data normalization mode requirement for adding FOP contracts (#9002)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Fix data normalization mode requirement for adding fop contracts

* Minor change

* Minor fix

* Minor fix
2025-09-30 14:54:04 -04:00
Jhonathan Abreu 8447137a3f Add algorithm as parameter to IExecutionModel.OnOrderEvent (#8996)
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
2025-09-26 17:01:00 -04:00
Jhonathan Abreu f08ac5bcce Add OnOrderEvent method to IExecutionModel (#8987)
* Add OnOrderEvent to IExecutionModel

Feed order events to execution models

* Minor Python fix
2025-09-26 11:52:28 -04:00
vb-vlb 4cc1dec80b Add VBaseSignalExport (#8954)
Python Virtual Environments / build (push) Has been cancelled
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Add VBaseSignalExport

* Add a VBaseSignalExport feature that allows signals to be stamped with the help of the ValidityBase REST API.

* Addressing review comments

* Create DefaultApiBaseUrl  const in VBaseSignalExport

* Add vbase signal export demonstration algorithm

* Set initial parameters for VBaseSignalExportDemonstrationAlgorithm

* Refactor VBaseSignalExport and demonstration algorithm: update symbol list, extend end date, and improve API base URL handling

* Initialize allowed security types in VBaseSignalExport and fix symbol reference in CSV generation

* Adjust rate limiter for vBase signal export to allow 6 requests per hour for better performance

* Minor tweaks

---------

Co-authored-by: Volodymyr Bobko <volodymyr.bobko@un.org>
Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2025-09-24 12:47:32 -03:00