Trendindicator: MAs

Financieel traden in Python

Chelsea Yang

Data Science Instructor

Wat zijn technische indicatoren?

  • Wiskundige berekeningen op historische marktdata
  • Gaan uit van een efficiënte markt: de prijs verwerkt alle publieke info
  • Helpen traders inzicht te krijgen in eerdere prijs­patronen
Financieel traden in Python

Soorten indicatoren

  • Trendindicatoren: meten richting of sterkte van een trend
    • Voorbeeld: Moving averages (MA), Average Directional Movement Index (ADX)
  • Momentumindicatoren: meten de snelheid van prijsbeweging
    • Voorbeeld: Relative Strength Index (RSI)
  • Volatiliteitsindicatoren: meten de omvang van prijsafwijkingen
    • Voorbeeld: Bollinger Bands
Financieel traden in Python

De TA-Lib-package

TA-Lib: Technical Analysis Library

  • Bevat 150+ implementaties van technische indicatoren
import talib
Financieel traden in Python

Moving-average-indicatoren

  • SMA: Simple Moving Average
  • EMA: Exponential Moving Average

 

  • Kenmerken:
    • Bewegen mee met de prijs
    • Vlakken data af om de richting beter te tonen
Financieel traden in 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

Financieel traden in Python

SMA plotten

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()

SMA-grafiek

Financieel traden in 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
Financieel traden in Python

EMA plotten

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()

EMA-grafiek

Financieel traden in Python

SMA vs. EMA

EMA reageert sterker op de meest recente prijsbeweging

Een grafiek met SMA vs. EMA met hetzelfde terugkijkvenster

Financieel traden in Python

Laten we oefenen!

Financieel traden in Python

Preparing Video For Download...