LucraQuant is a fully custom-built backtesting engine that lets you simulate, evaluate, and refine your trading strategies using real market data — all in a Python-based Jupyter Notebook environment.
Strategy Development
Performance Analysis
Data Visualization
Develop and test Python-based trading strategies using historical market data
Analyze your strategy with key metrics like Sharpe ratio and maximum drawdown
Work in a familiar notebook environment with interactive visualizations
Easily extend and customize the engine to fit your specific trading needs
LucraQuant is a modular Python backtesting engine for simulating, evaluating, and visualizing custom trading strategies. This manual will guide you through installation, project structure, usage, and customization.
requirements.txt
):pandas
numpy
matplotlib
jupyter
unzip lucraquant_full_project_with_requirements.zip
cd lucraquant_full_project
(optional but recommended)
python3 -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
lucraquant_full_project/
├── strategies/
│ └── my_strategy.py ← Define your trading logic here
├── engine/
│ ├── backtest_engine.py ← Core backtest loop & orchestration
│ ├── portfolio.py ← Cash/position management
│ └── metrics.py ← Performance metric calculations
├── data/
│ └── AAPL.csv ← Drop your CSV here (must have a 'Close' column)
├── notebooks/
│ └── run_backtest.ipynb ← User-facing Jupyter notebook
├── utils/
│ └── visualizations.py ← Plotting helper (equity curve, trades)
├── README.md ← User manual (this file)
└── requirements.txt ← Python dependencies
Close
column (and date index) into data/
.AAPL.csv
or update its path in the notebook.strategies/my_strategy.py
.def strategy(data):
# data: pd.DataFrame of past prices
# return: 'buy', 'sell', or None
jupyter notebook
notebooks/run_backtest.ipynb
.BacktestEngine
and runimport pandas as pd
from engine.backtest_engine import BacktestEngine
from strategies.my_strategy import strategy
# Load data
data = pd.read_csv("data/AAPL.csv", index_col=0, parse_dates=True)
# Backtest
bt = BacktestEngine(data)
results = bt.run(strategy)
# Plot & metrics
bt.plot()
metrics = bt.get_metrics()
print(metrics)
Metrics are computed in engine/metrics.py
and returned as a dict.
Generated by utils/visualizations.py
.
BacktestEngine
init (fee
parameter).Metrics.calculate()
.utils/visualizations.py
.strategies/
files and import in your own scripts or notebooks.Close
column and properly parsed datetime index.pip install -r requirements.txt
.This project is released under the MIT License.
For questions or contributions, please open an issue on the GitHub repo or email me at [email protected].
Enjoy building and testing your quant strategies with LucraQuant!