Skip to content
This repository has been archived by the owner on Jan 3, 2025. It is now read-only.

IEX Project Refactoring and Enhancement #1

Merged
merged 45 commits into from
Jan 31, 2024

Conversation

Romazes
Copy link
Collaborator

@Romazes Romazes commented Jan 29, 2024

Description

The pull request concentrates on refining and enhancing the IEX project. Major changes involve integrating IEX Cloud into an independent project with a clear structure, removing unused code, significantly reducing unnecessary code using modern programming principles, and enhancing tests for the DataQueueHandler process. Other noteworthy improvements include optimizing subscription processes, introducing a two-channel data feed, and updating dependencies. The primary objective is to enhance code structure, improve functionality, and streamline the project for better maintainability.

Related Issue

N/A

Related PR

Lean PR
Lean-cli PR

Motivation and Context

The primary motivation behind this pull request is to carry out a comprehensive refactoring and enhancement of the IEX project. The changes aim to improve code structure, readability, and functionality. The move from Lean to a new independent repository is also part of this effort.

Requires Documentation Change

Yes, this pull request requires documentation updates to reflect the changes made to the IEX project.

How Has This Been Tested?

The changes have been thoroughly tested to ensure the stability and correctness of the IEX project. This includes testing for each of the features, refactored code sections, and newly added functionalities. Additionally, the workflow file has been prepared to automate and streamline the testing process.

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>

feat: use DRY principle
change: input param from typeOf to Enum
feat: create reuseable method
feat: subscribe on 2 different channel (Last Trade & Top of Book)
feat: new Entities for channels
refactor: logic of handle of update from Channels
remove: not used tests
feat: process of creation new client
feat: sync context
test: data feed more clearly
test.fix: name class in Downloader
feat: update DataQueueHandler UTest
feat: add description to variable
test: rewrite long running test
…ketHours

remove: Validation for resolutions less than a second; the current implementation also supports tick resolution
refactor: Enhance logging messages
feat: Add validation for incorrect date range (start >= end)
fix: Change assertion to a more appropriate exception type
fix: Resolution minute can return more than 30 days in GetHistory
feat: add UTests
refactor: Get IEXPricePlan amount
commits: #2c672799454ee82223968d0df997db45748f1fc1 && #9a48d4f8a14753bf68184340772e602540123aec
refactor: test with subs a lot of symbols
fix: skip unnecessary date in GetHistory()
feat: add test to GetHistory long period data
Copy link
Member

@Martin-Molinero Martin-Molinero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you 👍

@Martin-Molinero Martin-Molinero merged commit 80eae4e into QuantConnect:master Jan 31, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants