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

Implement Download Project in Lean #7975

Merged

Conversation

Romazes
Copy link
Collaborator

@Romazes Romazes commented Apr 24, 2024

Description

This Pull Request introduces a new feature to Lean, allowing users to download various data types from multiple data sources. The feature enables users to fetch Trade, Quote, and Open Interest data based on the capabilities of the selected data source. Additionally, users can download data for different security types such as Equity, Option, Crypto, etc. The data can be filtered by start and end dates and is stored locally on the disk. The aim is to improve the download speed from data sources by creating an independent download project and implementing a local algorithm for trading.

Related Issue

Related Pull Request

Motivation and Context

Downloading historical and real-time data is a crucial part of algorithmic trading strategies. With this feature, users can seamlessly download data from popular data sources like Interactive Brokers, Oanda, Bitfinex, Coinbase Advanced Trade, Binance, Kraken, IQFeed, Polygon, FactSet, IEX, AlphaVantage, CoinApi, ThetaData, QuantConnect, Local, Terminal Link, Bybit, and more. By providing flexibility in downloading Trade, Quote, and Open Interest data, users can tailor their data acquisition to suit their trading strategies.

The feature is designed to be highly customizable, allowing users to specify the data source, data type, tickers, security type, market, resolution, and date range. This flexibility ensures that users can retrieve the exact data they need for their trading algorithms.

Requires Documentation Change

N/A

How Has This Been Tested?

  • End-to-end tests using sample data from various data sources to validate the complete flow of data download.
  • Manual testing with different combinations of arguments to ensure all features work as expected.
  • Testing through docker and lean-cli

Example of running DownloaderDataProvider

F5 --data-downloader Oanda --data-type Trade --tickers AAPL,TSLA --security-type Equity --market USA --resolution Minute --start-date 20240101 --end-date 20240404

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Refactor (non-breaking change which improves implementation)
  • Performance (non-breaking change which improves performance. Please add associated performance test and results)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Non-functional change (xml comments/documentation/etc)

Checklist:

  • My code follows the code style of this project.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

@Romazes Romazes changed the title Feature new download project Implement Download Project in Lean Apr 24, 2024
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.

2 participants