QuantConnect / QuantConnect/Lean

Review margin 'source' base abstraction for buying power models

Open
#6,838 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature refactor
Dominant language
C#
Stars
21.7k
Forks
5.3k
Avg merge
2d 22h
Merged PRs (30d)
34

Description

Expected Behavior
  • Crypto/CryptoFuture/CashBuyingPowerModel use their collateral as source of margin/buying power, versus base BuyingPowerModel whos margin is the whole portfolio value. Believe there's room for a potential shared abstraction, 'pool' of margin. This would add support for the SetHoldings concept against the 'pool' and reduce some duplication
Actual Behavior
  • There's some duplication happening see CryptoFutureMarginModel & I believe CashBuyingPowerModel too
  • SetHoldings is calculated always against the total portfolio value/buying power
Potential Solution
Reproducing the Problem

N/A

System Information

N/A

Checklist
  • I have completely filled out this template
  • I have confirmed that this issue exists on the current master branch
  • I have confirmed that this is not a duplicate issue by searching issues
  • I have provided detailed steps to reproduce the issue

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing CryptoFutureMarginModel and CashBuyingPowerModel with the base BuyingPowerModel, focusing on collateral, margin pools, and SetHoldings calculations. Review PR #6836 and commit ee479c127dbad39636900ad9b71f547bb139f4f1. Done should mean the abstraction direction is agreed and the duplicated behavior is addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.