Moyennes mobiles indicatrices de tendance

Trading financier en Python

Chelsea Yang

Data Science Instructor

Qu'est-ce qu'un indicateur technique ?

  • Calculs mathématiques basés sur des données de marché historiques
  • Supposent un marché efficient où le prix intègre toute l'information publique
  • Aident à analyser les schémas de prix passés
Trading financier en Python

Types d'indicateurs

  • Indicateurs de tendance : mesurent la direction ou la force d'une tendance
    • Exemple : moyennes mobiles (MA), Average Directional Movement Index (ADX)
  • Indicateurs de momentum : mesurent la vitesse du mouvement des prix
    • Exemple : Relative Strength Index (RSI)
  • Indicateurs de volatilité : mesurent l'ampleur des écarts de prix
    • Exemple : Bandes de Bollinger
Trading financier en Python

Le package TA-Lib

TA-Lib : Technical Analysis Library

  • Contient plus de 150 implémentations d'indicateurs techniques
import talib
Trading financier en Python

Indicateurs de moyennes mobiles

  • SMA : Simple Moving Average (moyenne mobile simple)
  • EMA : Exponential Moving Average (moyenne mobile exponentielle)

 

  • Caractéristiques :
    • Évoluent avec le prix
    • Lissent les données pour mieux indiquer la direction du prix
Trading financier en Python

Simple Moving Average (SMA)

$ SMA = (P_1+P_2+...+P_n)/n $

# Calculate two SMAs
stock_data['SMA_short'] = talib.SMA(stock_data['Close'], timeperiod=10)
stock_data['SMA_long'] = talib.SMA(stock_data['Close'], timeperiod=50)

# Print the last five rows print(stock_data.tail())
             Close  SMA_short  SMA_long
Date                                   
2020-11-24 1768.88    1758.77   1594.74
2020-11-25 1771.43    1760.65   1599.75
2020-11-27 1793.19    1764.98   1605.70
2020-11-30 1760.74    1763.35   1611.71
2020-12-01 1798.10    1765.02   1619.05

Trading financier en Python

Tracer la SMA

import matplotlib.pyplot as plt

# Plot SMA with the price
plt.plot(stock_data['SMA_short'], 
         label='SMA_short')
plt.plot(stock_data['SMA_long'], 
         label='SMA_long')
plt.plot(stock_data['Close'], 
         label='Close')

# Customize and show the plot
plt.legend()
plt.title('SMAs')
plt.show()

Graphique des SMA

Trading financier en Python

Exponential Moving Average (EMA)

$EMA_n = P_n \times multiplier + \text{previous EMA} \times (1-multiplier)$

$multiplier = 2 / (n + 1)$

# Calculate two EMAs
stock_data['EMA_short'] = talib.EMA(stock_data['Close'], timeperiod=10)
stock_data['EMA_long'] = talib.EMA(stock_data['Close'], timeperiod=50)
# Print the last five rows
print(stock_data.tail())
             Close  EMA_short  EMA_long
Date                                   
2020-11-24 1768.88    1748.65   1640.98
2020-11-25 1771.43    1752.79   1646.09
2020-11-27 1793.19    1760.13   1651.86
2020-11-30 1760.74    1760.24   1656.13
2020-12-01 1798.10    1767.13   1661.70
Trading financier en Python

Tracer l'EMA

import matplotlib.pyplot as plt
# Plot EMA with the price
plt.plot(stock_data['EMA_short'], 
         label='EMA_short')
plt.plot(stock_data['EMA_long'], 
         label='EMA_long')
plt.plot(stock_data['Close'], 
         label='Close')

# Customize and show the plot
plt.legend()
plt.title('EMAs')
plt.show()

Graphique des EMA

Trading financier en Python

SMA vs EMA

L'EMA est plus sensible aux mouvements de prix récents

Graphique comparant SMA et EMA avec la même fenêtre de calcul

Trading financier en Python

Passons à la pratique !

Trading financier en Python

Preparing Video For Download...