backtrader

Par mkurman · zorai

Framework Python de backtesting pour stratégies de trading. Flux de données, brokers, analyseurs et support du trading en direct. Développement de stratégies avec modèles de commission, slippage et exécution basée sur des signaux.

npx skills add https://github.com/mkurman/zorai --skill backtrader

Overview

Backtrader est un framework Python de backtesting pour les stratégies de trading. Supporte plusieurs sources de données, le trading en direct, les modèles de commission/slippage, les analyseurs personnalisés et la visualisation. Bien adapté pour le développement de stratégies sur actions, futures et crypto.

Installation

uv pip install backtrader

SMA Crossover

import backtrader as bt

class SmaCross(bt.Strategy):
    params = dict(short=10, long=30)

    def __init__(self):
        sma_short = bt.ind.SMA(self.data.close, period=self.params.short)
        sma_long = bt.ind.SMA(self.data.close, period=self.params.long)
        self.crossover = bt.ind.CrossOver(sma_short, sma_long)

    def next(self):
        if self.crossover > 0:
            self.buy()
        elif self.crossover < 0:
            self.sell()

cerebro = bt.Cerebro()
data = bt.feeds.YahooFinanceData(dataname="AAPL", fromdate="2022-01-01", todate="2023-01-01")
cerebro.adddata(data)
cerebro.addstrategy(SmaCross)
cerebro.broker.setcash(10000.0)
print(f"Final value: ${cerebro.run()[0]:.2f}")
cerebro.plot()

References

Skills similaires