PortfolioMarginUsageAnalysis
QuantConnect.Lean.Engine.Results.Analysis.Analyses.PortfolioMarginUsageAnalysis
Bases: BaseResultsAnalysis
Detects periods where the portfolio under-utilises available margin (3-day SMA of margin usage drops below 50 %).
is_state_based
is_state_based: bool
This analysis reads the current margin chart instead of scanning the order event and log streams, so its in-run findings are replaced on every run.
issue
issue: str
Gets the description of the detected margin under-utilisation issue.
weight
weight: int
Gets the severity weight for this margin usage analysis.
runs_in_run
runs_in_run: bool
Whether this analysis can also run while the backtest is still in progress, against a snapshot of the intermediate results. Most analyses read only the result snapshot, so this defaults to true. Analyses that need the completed run (runtime errors, equity curves, final statistics, completion logs) or that read algorithm state that is not safe to access while it runs override this to leave them to the final analysis only.
run
run(
parameters: ResultsAnalysisRunParameters,
) -> Sequence[Analysis]
Signature descriptions:
-
Runs the portfolio margin usage analysis against the provided backtest parameters.
-
Reads the "Portfolio Margin" chart from the backtest result and counts trading days where the 3-day SMA of total margin usage drops below 50%.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
backtest_result
|
Optional[Result]
|
The backtest result whose charts are inspected. |
None
|
Returns:
| Type | Description |
|---|---|
Sequence[Analysis]
|
Analysis results when any such days are detected. |
single_response
single_response(
sample: Any, solutions: Sequence[str] = None
) -> Sequence[Analysis]
single_response(
sample: Any,
count: Optional[int],
solutions: Sequence[str] = None,
) -> Sequence[Analysis]
Wraps a single QuantConnect.Analysis in a one-element read-only list.
create_aggregated_response
Filters responses to those with solutions, prefixes the class name, and returns a flat list.
This Class is protected.
format_code
format_code(code: str, language: Language) -> str
Formats the specified code string according to the conventions of the given programming language.
This Class is protected.