{"repo":"FinBlobs/kissbt","free":true,"listed":false,"github":"https://github.com/FinBlobs/kissbt","clone":"git clone https://github.com/FinBlobs/kissbt.git","description":"The \"keep it simple\" backtesting framework","language":"Python","stars":13,"topics":["algorithmic-trading","backtesting","quantitative-finance","systematic-trading"],"license":"Apache-2.0","category":"trading","readme_excerpt":"kissbt kissbt (\"keep it simple backtesting\") is a small Python backtesting framework for people who want clear execution semantics, a compact API, and deterministic CLI output. It is built for pandas-based strategy research, scripted backtest runs, and machine-friendly result handling without the weight of a large framework. It stays comfortable for simple single-asset ideas, but is also flexible enough for multi-asset and whole-universe workflows. Why kissbt? - Small public API: Strategy , Broker , Engine , Analyzer - Clear next-bar execution model with explicit OPEN , CLOSE , and LIMIT behavior - Works directly with pandas DataFrame input using (\"timestamp\", \"ticker\") MultiIndex data - Flexible enough for single-asset, multi-asset, and whole-universe strategies - Supports long-only and long/short workflows - Structured backtest results for Python code and deterministic JSON output for shell/CI/agents - Fails fast on invalid inputs instead of silently guessing Installation Install with pip : Install with parquet support: Install with uv : Or with conda : Supported Python versions: 3.12 to 3.14 . Quickstart This example is intentionally small enough to verify by inspection. Expected output: Why those numbers: - The order is placed on 2024-01-01 - It executes on the next bar at the 2024-01-02 open price of 101.0 - Engine.run(...) liquidates the remaining position on the final bar at the same day's close price of 102.0 - With the default 0.1% fee on entry and exit, final portfo","default_branch":null,"files":null,"tree":[],"storefront":"/r/FinBlobs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/FinBlobs/kissbt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}