explaingit

dikibagast/systematic-trading-framework

Analysis updated 2026-05-18

20PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A Python backtesting framework for Bybit perpetual futures strategies that validates results with walk-forward tests, Monte Carlo simulation, and multi-metric pass or fail checks.

Mindmap

mindmap
  root((systematic-trading-framework))
    What it does
      Fetches Bybit candle data
      Runs vectorized backtests
      Validates strategy robustness
    Tech stack
      Python
      Polars
      Parquet
      Bybit API
    Use cases
      Backtest a trading strategy
      Validate against overfitting
      Generate strategies with AI
    Audience
      Quant traders
      Algo trading hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Backtest a systematic trading strategy against historical Bybit futures data

USE CASE 2

Check whether a strategy's good backtest results hold up on out-of-sample data

USE CASE 3

Run Monte Carlo simulation to see the range of outcomes a strategy's trades could produce

USE CASE 4

Describe a trading idea in plain language and have an AI assistant generate the strategy files

What is it built with?

PythonPolarsParquetBybit API

How does it compare?

dikibagast/systematic-trading-frameworkalex72-py/aria-termuxanime0t4ku/gentleman
Stars202020
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Simulation only, does not connect to an exchange for live trading, requires Python and pip packages installed.

Released under the MIT license, free to use, modify, and redistribute, including for commercial projects.

In plain English

This is an open-source backtesting framework for systematic trading strategies, built in Python and focused exclusively on Bybit perpetual futures contracts. Backtesting means running a set of trading rules over historical price data to estimate how a strategy would have performed, without risking real money. The framework does not connect to any exchange for live trading and is simulation-only. The pipeline follows a fixed sequence. First, historical candle data is fetched from Bybit's public API and stored locally in Parquet files for fast repeated reads. Subsequent fetches are incremental, pulling only new candles. Then you define your entry and exit signals in Python, run a backtest against the stored data, and finally push the results through a validation pipeline designed to catch strategies that look good on paper but would fail in practice. The validation step has four parts. Walk-forward optimization splits the historical data into rolling train and test windows, then checks whether parameter settings that worked on training data also hold up on the separate out-of-sample windows. Island Volume Selection identifies parameter combinations where performance is consistently good across a range of values, rather than at a single peak that may be coincidental. Monte Carlo simulation resamples the actual trade sequence thousands of times to show the range of outcomes the strategy might produce under different orderings of the same trades. A Multi-Metric Standard then applies a pass or fail verdict based on Sharpe ratio, Sortino ratio, drawdown, profit factor, and several other measures. Speed is a priority. Signal generation and backtesting use vectorized operations on Polars DataFrames, meaning entire columns of price data are processed at once rather than looping bar by bar. A strategy covering 50,000 candles completes in milliseconds. The optimization step runs across all available CPU cores in parallel, which the documentation warns can make a computer unresponsive without a CPU limit configured. You can also describe a trading idea in plain language to an AI coding assistant and ask it to generate the required strategy files, since the framework uses a structured file format that AI tools can follow. Installation requires Python and a set of packages via pip. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how walk-forward optimization in this framework checks for overfitting
Prompt 2
Help me write entry and exit signal code for this framework's expected file format
Prompt 3
Walk me through what the Multi-Metric Standard checks before passing a strategy
Prompt 4
Show me how to fetch and store Bybit candle data locally for backtesting

Frequently asked questions

What is systematic-trading-framework?

A Python backtesting framework for Bybit perpetual futures strategies that validates results with walk-forward tests, Monte Carlo simulation, and multi-metric pass or fail checks.

What language is systematic-trading-framework written in?

Mainly Python. The stack also includes Python, Polars, Parquet.

What license does systematic-trading-framework use?

Released under the MIT license, free to use, modify, and redistribute, including for commercial projects.

How hard is systematic-trading-framework to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is systematic-trading-framework for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.