Professional desktop backtesting platform for percentage change trading strategies.
- Free historical data via Yahoo Finance (yfinance) — no API key required
- High-performance engine using NumPy vectorization and Numba JIT compilation
- Multiple simultaneous trades with independent TP/SL management
- Luxury financial terminal GUI built with PySide6 (Qt)
- Comprehensive analytics — Sharpe, Sortino, drawdown, profit factor, and more
- Professional reports — CSV, Excel, and PDF export with charts
- SQLite persistence — save and reopen previous backtest runs
- Modular architecture — pluggable data providers for future expansion
cd ACHRAFMALIKNOVELTY-BACKTESTING
pip install -r requirements.txt
python main.pyPress F5 to run a backtest, or use the Run Backtest button on the Dashboard.
ACHRAFMALIKNOVELTY-BACKTESTING/
├── main.py # Application entry point
├── gui/ # PySide6 user interface
├── engine/ # Backtesting engine & strategy
├── api/ # Data provider interfaces
├── database/ # SQLite persistence
├── reports/ # CSV, Excel, PDF generators
├── charts/ # Equity & drawdown charts
├── config/ # JSON configuration
├── tests/ # Unit tests
└── docs/ # Documentation
For each candle, calculate percentage change between current and previous close:
((Close[current] - Close[previous]) / Close[previous]) × 100
- BUY when change ≥ entry threshold (default 5%)
- SELL when change ≤ -entry threshold
Each trade runs independently with configurable TP/SL until closed.
- Python 3.10+
- Windows / macOS / Linux
Proprietary — ACHRAFMALIKNOVELTY