Handelssignalen

Financieel traden in Python

Chelsea Yang

Data Science Instructor

Wat zijn handelssignalen?

  • Triggert long- of shortposities op basis van vooraf gedefinieerde criteria
  • Kan worden opgebouwd met:

    • Eén technische indicator
    • Meerdere technische indicatoren
    • Combinatie van marktdata en indicatoren
  • Veelgebruikt in algoritmische handel

Financieel traden in Python

Voorbeeldsignaal

  • Signaal: Prijs > SMA (long als de prijs boven de SMA komt)

Een grafiek van een signaal dat trade‑instappen suggereert.

Financieel traden in Python

Signalen implementeren in bt

  1. Haal data op en bereken indicatoren
  2. Definieer de signaalstrategie
    • bt.algos.SelectWhere()
    • bt.algos.WeighTarget()
  3. Maak en voer een backtest uit
  4. Bekijk het backtestresultaat
Financieel traden in Python

Construeer het signaal

# Haal prijsdata op via de ticker
price_data = bt.get('aapl', start='2019-11-1', end='2020-12-1')
# Bereken SMA
sma = price_data.rolling(20).mean()

Of gebruik talib om de indicator te berekenen:

# Bereken SMA
import talib
sma =  talib.SMA(price_data['Close'], timeperiod=20)
Financieel traden in Python

Definieer een signaalstrategie

# Definieer de signaalstrategie
bt_strategy = bt.Strategy('AboveEMA',
                          [bt.algos.SelectWhere(price_data > sma),
                           bt.algos.WeighEqually(),
                           bt.algos.Rebalance()])
  • Voor de eenvoud nemen we aan:
    • Handel één asset tegelijk
    • Geen slippage of commissies
      • Slippage: het verschil tussen de verwachte prijs en de uitvoeringsprijs
      • Commissie: kosten die brokers rekenen bij uitvoering
Financieel traden in Python

Backtest de signaalstrategie

# Maak de backtest en voer uit
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
Financieel traden in Python

Plot het backtestresultaat

# Plot het backtestresultaat
bt_result.plot(title='Backtest result')

Plot van het backtestresultaat

Financieel traden in Python

Laten we oefenen!

Financieel traden in Python

Preparing Video For Download...