Python Strategy Backtesting Tool
A Python-based GUI backtesting tool that lets users write and test trading strategies on historical OHLCV data, then analyse performance through detailed returns, risk, trade, time, and distribution metrics.
Overview
The Python Strategy Backtesting Tool is a desktop application built to test trading strategies on historical market data.
The basic workflow is simple:
Load Data โ Write Strategy โ Run Backtest โ Analyse Results
Users can load historical OHLCV data and write their own strategy in Python using libraries such as Pandas and NumPy. The tool then runs the strategy against the historical data and generates detailed performance results.
Key Features
- Load historical OHLCV data from CSV files
- Write custom trading strategies in Python
- Generate BUY and SELL signals
- Run historical backtests
- Track portfolio value and individual trades
- Analyse total returns and P&L
- Measure win rate, profit factor, Sharpe ratio and drawdown
- View the equity curve
- Analyse trades by time and performance
- Export detailed trade data
- Generate sample OHLCV data for testing
Why I Built It
I wanted a simple environment where I could take a trading idea, convert it into code, and test it on historical data without having to build a new backtesting script every time.
The project is focused on the research process:
Turn an idea into a strategy โ test it โ study the results.
Technology
Built using:
- Python
- Tkinter
- Pandas
- NumPy
- Matplotlib
- Seaborn
Current Scope
The current version is mainly designed for research and experimentation with historical stock data. It focuses on long-only BUY/SELL strategies and is not intended for live trading or broker execution.
Disclaimer
This project is for educational and research purposes only. Backtested results do not guarantee future performance.
Repository
https://github.com/yash-sarawgi/Py-Strategy-Backtesting-Tool