Comment calculer automatiquement la taille d’une position (avec / sans stop loss)

Bonjour à tous,

 

Je me permets de mettre en ligne cet article, afin de répondre à une question qui m’est souvent posée : comment calculer automatiquement la taille d’une position à l’aide de lignes de code ?
Ceci est en effet indispensable dans le cas de la réalisation d’un backtest.

 

Pour cela, il nous faut distinguer 2 cas :

  • stratégie n’utilisation pas de stop loss
  • stratégie utilisant un stop loss

 

 

STRATEGIE N’UTILISANT PAS DE STOP LOSS

Prenons un exemple. vous utilisez une stratégie sur le CAC40, et comptez sur son comportement oscillatoire. Votre stratégie n’utilise pas de stop loss.

Admettons que vous ayez calculé la taille de vos positions afin que le drawdown n’excède pas 15% : la taille des mini contrats est définie à n = 3, soit 3 € le point de CAC40 par tranche de 10.000 € de capital.

 

En ce cas, le code pour calculer le nombre « n » de mini contrats à acheter (avec réinvestissement des gains / pertes) est :

capital = 10000 + strategyprofit  // remarque : il s'agit du capital initial, auquel  s'ajoute les profits / pertes en cours de la stratégie. Il s'agit donc de la balance

n = round ( (capital / 10000) * 3)  // "round" désigne la valeur arrondie

 

Si vous souhaitez un test sans réinvestissement des gains, cela donne tout simplement, pour 10.000  € de capital :

n = 3

 

D’où la formule que vous me voyez souvent utiliser :

 

REINV = 1    // 1 = réinvestissement des gains
LEVIER = 3   // il ne s'agit pas d'un vrai levier, mais du nombre de contrats de base
CAPITALinit = 10000  // capital initial


IF REINV = 1 THEN
CAPITAL = CAPITALinit + strategyprofit
n = (CAPITAL / CAPITALinit) * LEVIER
n = round(n)

ELSE
n = 1 // valeur minimale

ENDIF

 

Vous pouvez rajouter, si n est inférieur à 1 :

IF n < 1 THEN
n = 1
ENDIF

 

 

STRATEGIE UTILISANT UN STOP LOSS

C’est un cas différent, car ici il sera possible de :

  • définir clairement le pourcentage de capital engagé
  • définir clairement le montant de la perte en cas de stop loss touché

 

En ce cas, le code est différent.
Voici le code que j’ai mis au point.
A noter que vous retrouverez ce code sous de nombreuses autres formes, mais c’est le même principe. Vous pouvez bien entendu simplifier la formule de façon à ce que tout tienne en 3 lignes.

 

 

 

// PARAMETRES, à adapter selon les besoins
CAPITALinit = 10000        // capital initial
RisquePourc = 2       // risque en %
dSL = 50              // distance au stop loss, en pips

// TAILLE DES POSITIONS

Capital = CAPITALinit + strategyprofit
RisqueParTrade = round (Capital * RisquePourc * 0.01)
RisqueParAction = RisqueParTrade / abs(close-dSL*pipsize)

N = round (RisqueTrade / RisqueParAction)

IF n < 1 THEN
n = 1
ENDIF

 

On aurait très bien pu écrire, tout en une ligne, ainsi :

N = round (( CAPITALinit + strategyprofit) * RisquePourc * 0.01) /  (abs(close - dSL * pipsize ))

 

 

BIEN ENTENDU…

Pour votre TRADING MANUEL, il sera plus simple d’utiliser un simple calculateur Excel, tel que j’en propose pour la Bourse et le Forex, au niveau de la page « Téléchargements » du site clubforex1.fr

 

 

 

A l’origine, j’avais publié une vidéo… la voici :

 

 

 

Share Button