Spectra
Parcourir la doc

backtester

Modes de sizing

Comment la taille de position est déterminée dans les backtests — fixe, pourcentage d'equity, basé sur ATR.


Le backtester offre trois modes de sizing. Choisissez-en un dans le panneau Strategy ; les scripts peuvent override par appel via buy(qty: ...).

Fixe

qty = constant  // p. ex. buy(qty: 100)

Le plus simple. Utile quand vous testez la logique d'entrée/sortie sans vous soucier du sizing.

Pourcentage d'equity

qty = floor(equity × pct / price)

Compounde gains et pertes. À utiliser pour mesurer comment une stratégie se comporte avec une dynamique réaliste de courbe d'equity. Défaut pct = 5%.

Basé sur ATR (équivalent en risque)

qty = floor(risk_pct × equity / (atr(14) × atr_multiplier))

Dimensionne chaque position pour que le risque en dollars jusqu'à votre stop soit constant. Le mode de référence pour les systèmes trend-following où l'ATR scale avec la volatilité.

let size = atr_position(risk_pct: 1.0, atr: atr(14))
buy(qty: size)

Contraintes maximales

Les trois respectent :

  • Position maximale (Profil → Backtester → Max position).
  • Positions concurrentes maximales (défaut 5).
  • Equity disponible — les ordres qui dépasseraient le buying power sont refusés (ou exécutés partiellement si partial_fill_on_margin = true).

Scale in / out

buy(qty: size, scale: 0.5)   // ajoute la moitié à la position existante
sell(qty: size * 0.5)        // vend la moitié

Les scale-ins compoundent à l'entrée moyenne de la position. Les scale-outs réalisent le P&L proportionnellement.