-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Problem
qs.stats.calmar() currently computes Calmar as:
calmar = CAGR(compounded=True) / max_drawdownThis assumes the input series represents daily compounded returns.
However, many users — especially intraday traders and systematic/prop-style workflows — use quantstats on:
intraday return series
per-trade PnL streams
arithmetic (non-compounded) returns
capital-constrained strategies
In these cases, geometric CAGR is not the correct numerator, and the resulting Calmar can become misleadingly high.
For non-compounded strategies, a more appropriate definition is:
qs.stats.cagr(series, compounded=False) / qs.stats.max_drawdown(series)Without an option to switch the compounded behavior inside qs.stats.calmar(), users working with intraday or non-compounded return streams must manually compute this value, and may otherwise misinterpret performance.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels