Backtest template
PYTHON
import pandas as pd
import yfinance as yf
from backtesting import Backtest, Strategy
TICKER = "QQQ"
START = "2000-01-01"
END = "2026-06-05"
INTERVAL = "1d"
CASH = 100_000
COMMISSION = 0
MARGIN = 1.0
GRAPH_FILENAME = "backtest_graph.html"
def get_data():
df = yf.download(
TICKER,
start=START,
end=END,
interval=INTERVAL,
auto_adjust=True,
progress=False,
)
if isinstance(df.columns, pd.MultiIndex):
df.columns = df.columns.get_level_values(0)
df = df[df["Volume"] > 0].dropna()
if df.empty:
raise ValueError("Aucune donnee telechargee.")
return df
class Strategy(Strategy):
def init(self):
pass
def next(self):
pass
if __name__ == "__main__":
data = get_data()
bt = Backtest(
data,
Strategy,
cash=CASH,
commission=COMMISSION,
margin=MARGIN,
hedging=True,
exclusive_orders=False,
trade_on_close=True,
finalize_trades=True,
)
stats = bt.run()
print(stats)
bt.plot(filename=GRAPH_FILENAME, open_browser=True)
print(f"\nGraphique sauvegarde dans : {GRAPH_FILENAME}")
requirements.txt
PYTHON
yfinance
pandas
numpy
backtesting
ACCÈS MEMBRES
Accès à la newsletter et contenus exclusifs.