Skip to content

trading.optimizer.analysis.calculators.trades

trading.optimizer.analysis.calculators.trades

get_trade_metrics

get_trade_metrics(context: AnalysisContext) -> TradeMetrics

Returns the TradeMetrics for the given context.

Parameters:

Name Type Description Default
context AnalysisContext

The AnalysisContext object to derive data from.

required

Returns:

Type Description
TradeMetrics

A TradeMetrics object with all the metrics relating to trades.

Source code in src\contango\trading\optimizer\analysis\calculators\trades.py
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
def get_trade_metrics(context: AnalysisContext) -> TradeMetrics:
    """
    Returns the `TradeMetrics` for the given context.

    Args:
        context: The `AnalysisContext` object to derive data from.

    Returns:
        A `TradeMetrics` object with all the metrics relating to trades.
    """
    trade_count = _get_trade_count(context.trades)
    win_rate = _get_win_rate(context.trades)
    profit_factor = _get_profit_factor(context.trades)
    expectancy = _get_expectancy(context.trades)
    average_win = _get_average_win(context.trades)
    average_loss = _get_average_loss(context.trades)
    average_holding_period = _get_average_holding_period(context.trades)
    return TradeMetrics(
        trade_count=trade_count,
        win_rate=win_rate,
        profit_factor=profit_factor,
        expectancy=expectancy,
        average_win=average_win,
        average_loss=average_loss,
        average_holding_period=average_holding_period
    )