Skip to content

contango.trading.metrics.calculate

contango.trading.metrics.calculate

calculate_metrics

calculate_metrics(data: ExecutionData) -> Metrics

Calculates readable metrics for backtest data.

Parameters:

Name Type Description Default
data ExecutionData

The backtest data to derive metrics from.

required

Returns:

Name Type Description
Metrics Metrics

A metrics object representing returns, drawdown, risks, and trade information about the strategy.

Source code in src\contango\trading\metrics\calculate.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def calculate_metrics(data: ExecutionData) -> Metrics:
    """
    Calculates readable metrics for backtest data.

    Args:
        data: The backtest data to derive metrics from.

    Returns:
        Metrics: A metrics object representing returns, drawdown, risks, and trade information about the strategy.
    """
    analysis_context = build_context(data)
    return_metrics = get_return_metrics(analysis_context)
    drawdown_metrics = get_drawdown_metrics(analysis_context)
    risk_metrics = get_risk_metrics(analysis_context, return_metrics.monthly_returns, drawdown_metrics.max_drawdown)
    trade_metrics = get_trade_metrics(analysis_context)
    return Metrics(
        returns=return_metrics,
        risk=risk_metrics,
        drawdowns=drawdown_metrics,
        trades=trade_metrics
    )