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

Feat: Brokerage Cross Position Order #8051

Merged

Conversation

Romazes
Copy link
Collaborator

@Romazes Romazes commented May 23, 2024

Description

This pull request introduces a new feature that supports the creation of cross position orders in our brokerage module. The main components of this feature include utility methods and helper functions that encapsulate the brokerage-specific logic required for cross positions. This enhancement aims to streamline the process and improve the efficiency of handling cross position orders.

Related Issue

N/A

Motivation and Context

Cross position orders are essential in scenarios where clients have multiple positions and want to execute a single order across them. This feature addresses the need for a seamless mechanism to facilitate such orders within our brokerage platform. By automating the cross position order process, we enhance user experience and increase operational efficiency.

Changes Included
  • New Utility Methods: Added several helper functions within the brokerage/utils module to handle cross position orders.
  • Brokerage Base Logic: Implemented core logic that determines the need for a cross position and processes it accordingly.
  • Unit Tests: Added comprehensive unit tests to ensure the correctness and reliability of the new methods.

Requires Documentation Change

N/A

How Has This Been Tested?

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 force-pushed the feature-brokerage-crossing-helper branch from 42df918 to 62a4756 Compare June 19, 2024 12:31
feat: helper methods to CrossPosition
rename: TryCrossPositionOrder -> TryCrossZeroPositionOrder
feat: handle event of CrossZeroOrder
feat: new prop in CrossZeroOrderRequest
test:feat: write working test imitate of CrossZeroOrdering and assert different params
feat: helper method for CrossZeroCollection
refactor: CrossZeroOrders tests
… place

feat: message property in CrossZeroOrderResponse
refactor: CrossBrokerageTest a little bit
refactor: change action scenario for Filled FirstPart of CrossZeroOrder
…sZero order completely

fix: crossZeroOrder test put orderStatus internally
@Romazes Romazes force-pushed the feature-brokerage-crossing-helper branch from 62a4756 to 82380fd Compare June 24, 2024 19:06
@Romazes Romazes marked this pull request as ready for review June 24, 2024 19:08
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.

Looks good! shared minor requests

@Martin-Molinero Martin-Molinero merged commit a8b106a into QuantConnect:master Jun 26, 2024
6 of 7 checks passed
@Romazes Romazes deleted the feature-brokerage-crossing-helper branch September 17, 2024 17:30
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