Skip to content

PortfolioValueIsNotPositiveAnalysis

QuantConnect.Lean.Engine.Results.Analysis.Analyses.PortfolioValueIsNotPositiveAnalysis

Bases: BaseResultsAnalysis

Flags backtests whose ending equity is zero or negative.

is_state_based

is_state_based: bool

This analysis reads the current portfolio statistics 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 non-positive portfolio equity issue.

weight

weight: int

Gets the severity weight for this portfolio value 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]
run(result: Result) -> Sequence[Analysis]

Signature descriptions:

  • Runs the portfolio value positivity analysis against the provided backtest parameters.

  • Checks whether the backtest's ending equity is positive.

Parameters:

Name Type Description Default
result Optional[Result]

The backtest result containing portfolio statistics.

None

Returns:

Type Description
Sequence[Analysis]

Analysis results flagging the issue when ending equity is zero or negative.

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

create_aggregated_response(
    responses: List[Analysis],
) -> Sequence[Analysis]

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.