50 Commits

Author SHA1 Message Date
Martin-Molinero 852c9cd856 Update IB gateway v10.39.1f (#8923) 2025-08-13 14:51:48 -03:00
JosueNina f29bcbc9ae Clean up ListLiveAlgorithms method parameters (#8912)
* Remove startTime and endTime parameters from ListLiveAlgorithms method

* Solve review comments
2025-08-05 19:12:48 -03:00
Alexandre Catarino d68a41ba73 Allow Receiving Broadcast from Source Project (#8622)
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
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
* Allow Receiving Broadcast from Source Project

* empty
2025-03-11 16:58:17 -03:00
Alexandre Catarino 49265bd773 Adds BroadcastCommand Method (#8617)
Regression Tests / build (push) Has been cancelled
Report Generator 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
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Adds BroadcastCommand Method

Send a command to all live algorithms.

* Addresses Peer-Review

* Minor tweaks

---------

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2025-03-07 17:48:10 -03:00
Ricardo Andrés Marino Rojas a7efcfe9d5 Fix CS1570 and CS1572 warnings (#8187)
* Fix CS1570 and CS1572 warnings

* Address requested changes
2024-07-10 11:16:16 -03:00
Ricardo Andrés Marino Rojas 5a7a162d34 Fix warnings CA1574 (#8186)
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
Python Virtual Environments / build (push) Has been cancelled
2024-07-09 17:52:07 -03:00
Ricardo Andrés Marino Rojas 16a737ee26 Fix most of CA1725 warnings (#8154)
* Fix CA1725 warning

* Address requested changes
2024-07-05 16:19:56 -03:00
Ricardo Andrés Marino Rojas 574eafd00d Add missing endpoint in C# API Client (#8143)
* Add C# API ReadBacktestInsights()

* Address reviews

* Address requested changes
2024-07-05 13:53:27 -03:00
Ricardo Andrés Marino Rojas b147c7ccfd Api Clean up, Documentation and Standarization part five (#8016)
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
Python Virtual Environments / build (push) Has been cancelled
* Update endpoints and add tests

* Remove JsonProperty tags

* Enhance unit tests

* Add live/insights/read/response

* Add missing class

* Remove old insights property

* Improve read live insights unit test

* Nit change

* Fix failing unit tests

* Revert "Fix failing unit tests"

This reverts commit a2b7c1d34ef5b058a0e753853613ddd3f9d7d3dc.

* Add Insights.Ticker back

* Nit change

* Address requested changes
2024-05-13 18:14:40 -03:00
Ricardo Andrés Marino Rojas a1b6277492 Api Clean up, Documentation and Standarization part four (#7989)
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
Python Virtual Environments / build (push) Has been cancelled
* Update C# response classes for optimization endpoints

* fix bugs

* Fix bugs

* Fix bug

* More tests, API response classes and updates

* Partially revert wrong changes

* Missing file

* Improve unit tests and solve bugs

* Improve implementation

* Minor tweak

---------

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2024-05-06 20:33:31 -03:00
Ricardo Andrés Marino Rojas 17ba9f8b5d Api Clean up, Documentation and Standarization part three (#7982)
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
Python Virtual Environments / build (push) Has been cancelled
* Updates to data/prices C# response

* Update data, account and organization API responses

* remove unnecessary changes
2024-04-29 20:35:51 -03:00
Ricardo Andrés Marino Rojas cce8945fe8 Api Clean up, Documentation and Standarization part two (#7964)
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
Python Virtual Environments / build (push) Has been cancelled
* Add improvements

* Add improvments and unit tests

* Add XML comments

* Nit changes

* Add unit tests for OrderJsonConverter

* Improve unit tests

* Address requested changes

* Fix bugs

* Fix bugs

* Fix bugs and self-review

* Fix bugs

* Address requested changes

* Fix unit test bug

* Fix bugs

* Improve unit tests

* Solve bugs
2024-04-26 13:17:34 -03:00
Jhonathan Abreu 9755f8c916 Sourcing remote zipped custom data (#7976)
* Fix: source custom data from remote CSV zipped file

* Fix: Custom data sourcing zip entry names from remote locations

* Address peer review

* Add unit tests

* Minor fix

* Address peer review

* Minor fixes

* Return byte array in IApi.DownloadBytes

* Allow sourcing custom data from specific csv entry in a zipped remote file

* Minor change
2024-04-26 12:15:01 -04:00
Ricardo Andrés Marino Rojas dc02ac7c84 API Clean Up, Documentation, Standardization (#7893)
* First draft of the update

* Add improvements

* Nit changes

* Add improvements

* Add improvements

* Remove unnecessary files

* Improve unit tests

* Add missing file

* Add new unit tests to CI

* Fix bug

* Fix unit tests

* Address changes

* Nit changes

* Nit changes

* Add fix for list backtest response

* Nit change

* Add changes in ListBacktest

* Fix failing unit test

* Improve API.GetObjectStore method

* Improve Api.GetObjectStore()

* Add C# models for object/get and object/properties

* Improve API methods and tests for object store

* Nit changes

* Nit change
2024-04-10 10:53:05 -03:00
Ricardo Andrés Marino Rojas 6259ee1d91 Remove BaseLiveAlgorithmSettings (#7862)
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
Python Virtual Environments / build (push) Has been cancelled
* Remove BaseLiveAlgorithmSettings

* Fix IB unit test

* Add Python unit test

* Add more unit tests
2024-03-25 15:54:06 -03:00
Martin-Molinero 03bc23ed8c Add project id for api notification (#7144)
Regression Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
2023-03-27 15:59:51 -03:00
Alexandre Catarino b1a6aa686c Replace Nodes Endpoint in SDK (#6899)
Python Virtual Environments / 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
Research Regression Tests / build (push) Has been cancelled
* Adds `project/nodes` Endpoint to SDK

* Removes `nodes` Endpoint from SDK

* Fixes Documentation for `ProjectNodesResponse`
2023-02-05 09:35:11 -08:00
Martin-Molinero 826f2cbbf9 Minor refactor messaging handler (#6472)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
2022-07-11 16:24:26 -03:00
Andreas Sundebo e2de241c2b Feature 5090 add api optimization methods (#6108)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Move Optimizer-related DTOs and JSON converters into Common/Optimizer

* Add REST methods for Optimization

* Move OptimizationStatus into Common

* Change optimizationId parameter type to string

* Update Optimization and add lightweight optimization object

* Rename lightweight optimization to BaseOptimization and remove unneccessary properties

* Remove snapshotId from Optimization, add ParameterSet to Backtest

* Add missing IApi.cs method signatures

* Move ParameterSet into Common

* Replace Backtest with OptimizationBacktest

* Update UpdateOptimization to not include null or empty name and layout params in the request

* Change Objective targetTemplate regex pattern from ['(.+)'] to (.+) to prevent escaping target strings without whitespace

* Return Estimate object when calling EstimateOptimization

* Use DefaultNamingStrategy when serializing constraint operators

* Revert "Change Objective targetTemplate regex pattern from ['(.+)'] to (.+) to prevent escaping target strings without whitespace"

This reverts commit fbe7de0fd77dccc62e8c52c42a4ec9c18347acb2.

* Update Api method signatures

* Add unit tests

* Fix XML comment referring to the old class name

* Fix XML summary for OptimizationResponseWrapper

* Address review feedback
- Remove unused testOrganizationId
- Change NodeType from string to NodeType enum
- Clarify unit types for Estimate time and balance
- Simplify JsonConverter classes

* Add accessors to Common/Api classes

* Define performance metrics names in PerformanceMetrics class

* Remove unnecessary branching logic from GetSeriesValues method

* Add crefs and examples to XML comments in the Api class

* Revert "Change NodeType from string to NodeType enum"

* Remove layout param from UpdateOptimization method

* Backtest property ParameterSet should be of type ParameterSet

* Add asserts for deserialization in OptimizationBacktestJsonConverterTests

* Replace the three target-related properties with Criterion

* Add serialization and deserialization tests for Optimization

* Remove Optimization Serialization test

* Add EstimateDeserialization test

* Add asserts for integration tests

* Address self review

* Revert test case

* Update Nodes.cs

* Update Nodes.cs

* Set Aborted status when Optimization fails to start

* Add ParameterSetJsonConverter and ParameterSetJsonConverterTests

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-12-22 13:14:56 -03:00
Colton Sellers ab6027723f Refactor Api (#5251)
Build & Test Lean / build (push) Has been cancelled
* Use lean data key as param for request

* key -> filePath rename and some cleanup

* Refactor

* Add Organizations Endpoints

* Add some organization api wrapper objects

* Address namespace issue

* Reorganize Api Test into seperate files using one ApiTestBase

* Add Organization tests

* Use capitalized "API" test namespace to reduce amount of file changes

* Add License to test base

* Update /data endpoint functions and response objects

* Update ApiDataProvider Logic

* Handle deserialization of organization products

* Simplify converter

* Only throw for equity requests when not subscribed to map/factor files

* Add missing header

* Make arguement exception

* Api adjustments

* Add Zip factor and map file providers

- Common project will now reference Compression project and not the other way
  round.
- Adding Zip FactorFile and MapFile providers

* Refactor FactorFileProvider to use DataProvider to fetch files

* Use resulting MinimumDate in construction of FactorFile

* Nit FactorFile comments and arrangement

* Refactor MapFileProviders to use DataProvider for fetching files

* Refactor ZipFileProvider

* Clean up

* Refactor Backtesting Future/Option chain providers to use dataprovider

* Fixes for data/ endpoints and test adjustments

* Response objects adjustments/cleanups

* ApiDateProvider fixes and testing

* Add LocalZipFactorFileTests

* Update ApiDataProvider download test to verify stream is not null

* Implement posting of agreement summary and signed time

* Mark all Api related tests as explicit and document details on running

* Clarify default token on ApiTestBase

* Adjust summary

* Update Api responses for QCC, except org products which are sold in USD

* Implement cache expiration for zip MapFile and FactorFiles. Adding unit tests

* Fix multiple markets for ZipFactorFile provider

* Use Symbol as cache key

* Api.cs review

* Dispose of factorFileStream after reading

* Use zip.EntryFileNames

* Address a few reviews

* Few more fixes

* Address Api Review

* Add Job Org id to config

* Minor tweaks

* Compare with invariant culture

* Fixes Option Universe selection

* ZipEntryNameSubscriptionDataSourceReader will use IDataProvider

* Fix research

* Fix null reference exception

* Make duplicate log debug

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-06-07 11:37:44 -03:00
Martin-Molinero 649aafc952 Adding Api.ReadBacktest optional getCharts (#5054)
* Adding Api.ReadBacktest optional getCharts

- Optionally allow users not to fetch backtest charts when reading a
  backtest, it can be slow

* Fix null reference for deleted/cancelled backtests

* Get Leaky bucket config settings once
2020-12-18 14:17:40 -03:00
Colton Sellers e05a6bffd0 Bug 4835 api tests failing (#4838)
* Remove F# Project, Splits, and Dividends Tests

* Separate tests that require external accounts; read from config

* Removal of non supported "prices" endpoint test

* Removal of unsupported API functions

* Address review

* NOP GetLastPrice for removal of Prices endpoint

* Post rebase fix

* Rebase fix 2

* remove /r/n from eof for api tests

* Reflect similar refactors to NodeTests

* Fix for live algorithm API testing

* Address Review
2020-10-15 13:31:53 -03:00
Michael Handschuh cc83f19528 Rename QuantConnect.API to QuantConnect.Api (#4830)
Also renames API folders to Api
2020-10-08 19:35:57 -03:00
Jared 66c66abb12 Implement API download for QCALgorithm (#3215)
* Implementing download proxy for LEAN

* Remove accidentally added files

* Remove accidentally added files

* Tidy up
2019-05-20 18:34:19 -07:00
Stefano Raggi 57d50c69c4 Fix XML documentation compiler warnings
- Fixed all warnings except for missing XML comments (CS1591)
2018-11-09 11:44:03 +01:00
Michael Handschuh a6640c0886 Adds API support for /splits and /dividends endpoints 2018-08-15 13:45:12 -04:00
Martin Molinero b253668b1d Adding new API endpoint prices 2018-08-04 10:57:41 -03:00
Martin-Molinero 4dccb7020d removing obsolete ApiWebSocketConnection 2018-03-15 17:18:56 -07:00
Martin-Molinero 259a0ab8ff Fix exception thrown login vs plugin 2018-03-14 17:28:55 -07:00
Andrew de2fba28fd Store Api methods removed 2017-08-08 12:52:12 -04:00
Stefano Raggi 2f9f0b77f5 Remove userId parameter from Api.GetAlgorithmStatus 2017-06-15 00:08:29 +02:00
Andrew Hart b24a360500 Log location on disc displayed for local backtests
Api implements a new method, StoreLogs, that returns the location of logs on disc.  Removed unnecessary cloud log processing from BacktestingResultsHandler
2017-01-04 15:05:58 -05:00
Jared f1143e424a Merge pull request #620 from andrewhart098/websocket
ApiDataQueueHandler
2016-11-30 10:51:49 -05:00
Andrew Hart d4177fd5f5 Renamed IApi live websocket methods 2016-11-07 18:39:51 -05:00
Andrew Hart fc03df6f35 WebSocketConnection.cs manages web socket connection to live data server 2016-11-07 09:25:30 -05:00
Andrew Hart a1c231321f Implemented api methods for new file api endpoints 2016-11-02 13:12:01 -04:00
Andrew Hart 9bb33183f7 Added new ProjectFile methods to IApi 2016-11-01 16:21:53 -04:00
jaredbroad bf6330d99f Added project id to the API for logging request 2016-10-12 11:18:34 -04:00
Andrew f494653ec2 Live Algorithm Management with QC Api v2 (#577)
* Recommitted. Fixed missing code

* Renamed tests for Api to ApiTests

* Renamed Live to LiveAlgorithm

* Add LiveAlgorithm configuration classes for supported brokerages

The QuantConnect api v2 enables users to launch live algorithms with one of the supported brokerages. The LiveAlgorithmSettings class adds brokerage specific configuration classes that will allow algorithms to be configured to run live on a specific brokerage.

* Projects can now be updated via the Api v2

* Projects can be created via the Api with LiveAlgorithmSettings class

* Renamed CreateLive to CreateLiveAlgorithm in IApi

* Added tests for luanching live algorithms via api V2 for brokerages

* Created ProjectUpdateResponse to represent api response when project is updated

The new class ProjectUpdateResponse derives from RestReponse and adds a field, Files, that represents the project files associated with a project.   This new class is now what the Api method returns.  A new test, Update_ProjectFiles_Successfully, tests updating the files for a project via the Api

* Refactored ApiTests and expanded ApiTest docs

* Renamed brokerage specific classes that derive from BaseLiveAlgorithmSettings

* Refactored Oanda and Tradier LiveAlgorithm settings

Tradier and Oanda do not required certain parameters like password and username to trade live, however, they are required for the QC Api v2.  A new constructor was added to BaseLiveAlgorithmSettings that does not take in these parameters and sets the unneeded parameters to blank strings.  Tradier and Oanda LiveAlgorithmSettings  implement this new constructor.

* Minor tweaks to OandaLiveAlgorithmSettings

* Brokerage Api tests now use appropriate algorithms

Some brokerage tests were using algorithms that traded securities that did not pertain to the brokerage.  This has been corrected.

* Refactored naming of certain Api methods to be more consistent

* Added extra parameters to Api method ListLiveAlgorithms

* Added class that represents chart data from "live/read" api endpoint

* Minor change to LiveAlgorithmResults

* Version is now an optional parameter for LiveAlgorithmApiSettingsWrapper

* Minor formatting changes to long method signatures in Api.cs

* IApi now accepts versionId for CreateLiveAlgorithm

* Removed BrokerageName from LiveAlgorithmSettings.

* Fixed spelling mistake

* Added custom JsonConverter for LiveAlgorithmResults

In order to properly deserialize the results of an algorithm from the api endpoint "live/read", a custom deserializer is added to deal with null ChartPoints.  In order to deserialize ChartPoints that are null, ChartPoint has been changed from a struct to a class.

* Fixed type-o in ApiTests

* Add Ignore NUnit attribute to ApiTests

* Removed ApiAlgorithmStatus

In order to better align with the rest of the project, ApiAlgorithmStatus has been replaced by the existing AlgorithmStatus enum.  Only certain values of AlgorithmStatus can be used with the Api.  Unsuported values throw an ArgumentException error.

* Changed Resolution field in LiveAlgorithmResults from string to enum

* BrokerageEnvironment enum added to represent live/paper trading

* Environment set based on user in InteractiveBrokersLiveAlgorithmSettings

* Minor tweaks to BaseLiveAlgorithmSettings constructor

* Environment is hard coded for TradierLiveAlgorithmSettings

* Updated ApiTests to reflect changes to LiveAlgorithmSettings

* ApiConnection uses OrderJsonConverter to deserialize orders

* AlgorithmStatus is now nullable for ListLiveAlgorithms

* Tweaked account variable for InteractiveBrokersLiveAlgorithmSettings

* Replaced null comparisons with call to HasValue for LiveAlgo status
2016-10-03 15:03:37 -04:00
Andrew Hart 4585ffe62d Live Logs can now be filtered by date. 2016-09-20 09:17:55 -04:00
Andrew Hart 93d2273c9a Minor changes to URI construction and API Initialization.
In order to better handle future scenerios, a new URI is constructed from the data download link returned from the API.  The URI host, scheme and query+path is used to reconstruct the link to download the data.

In addition, the API Initialize() method now takes the dataFolder as a parameter and saves it as a private variable  so as to not read the data folder from the config every time.
2016-09-19 17:47:54 -04:00
Andrew Hart 6b57e6609e Added methods to get logs of a live algorithm
Expanded the IApi interface to include a method for getting the logs of a live running algorithm.  Implemented this method in the implementation of the IApi interface. A new class was added that is used to hold the logs returned from the API.
2016-09-19 16:43:45 -04:00
Andrew Hart 4e62aaee35 Expanded IApi to include methods to download data purchased on QuantConnect
Initially, methods to download the data purchased on QuantConnect were added to the implementation of IApi and not to IApi itself.  The methods that enable users to download data purchased on QuantConnect are now part of the Api interface.
2016-09-19 15:47:16 -04:00
jaredbroad 7080916b16 Extended the api to support listing active and past algorithms 2016-07-14 15:00:17 -04:00
jaredbroad 355d375afa Removed unused variable, made initialize setup the api class 2016-07-11 15:50:10 -04:00
jaredbroad d6b1c65b76 Rename to more english readable method names for API 2016-07-11 15:50:10 -04:00
jaredbroad d374494418 Backtest API methods and tests 2016-07-11 15:50:10 -04:00
Michael Handschuh 3e434709ea Change IApi.MarketToday to IEnumerable<MarketHoursSegment> 2016-01-29 18:50:09 -05:00
Michael Handschuh 4eed7e02fd Change IApi.MarketToday to accept a symbol 2016-01-29 18:27:45 -05:00
snugs 5d4aadbb9c Removes QuantConnect.Interfaces
This project was collapsed into QuantConnect.csproj.
This will allow code in the common project to use the interfaces abstractions
2015-11-04 13:18:59 -05:00