riskkit
A framework-agnostic risk-management toolkit for systematic traders.
Most open-source trading tools focus on the fun part — signals, indicators, backtesting engines. They leave the part that decides whether you survive thin: how big a position to take, where stops live, when to cut size, and when to stop trading altogether. That's what blows up retail algo traders, not a bad entry signal.
riskkit is that missing layer. Every component is pure Python with no dependency on any exchange, data provider, or backtesting framework. You feed it numbers; it hands back auditable decisions you can drop into backtesting.py, vectorbt, freqtrade, or your own loop.
Not financial advice
riskkit helps you implement a risk policy you have chosen. It cannot make a losing strategy profitable. Test everything on paper first.
Install
# Until the PyPI release lands, install from GitHub:
pip install "git+https://github.com/HasibDaddy/riskkit.git"
# with dynamic correlation (adds pandas):
pip install "riskkit[pandas] @ git+https://github.com/HasibDaddy/riskkit.git"
The six components
| Component | What it does |
|---|---|
PositionSizer |
Volatility-adjusted sizing with a half-Kelly ceiling and a reduction ladder. |
DrawdownManager |
Drawdown tier ladder: cut size → raise the bar → halt, with a recovery ramp. |
StopEngine |
Composable per-position stop stack; tightest stop wins, stops only tighten. |
CorrelationGuard |
One open position per correlation group (static + dynamic). |
SessionManager |
Daily caps, cooldowns, and tilt detection. |
PreTradeValidator |
The composable final gate that vetoes a trade if any rule fails. |
Want all six working together? The RiskManager façade wires them from one
config and turns a single TradeIntent into a sized, validated decision — see
Quickstart.