Strategie sledování trendu

Finanční obchodování v Pythonu

Chelsea Yang

Data Science Instructor

Dva typy obchodních strategií

Sledování trendu

  • Sází na pokračování cenového trendu ve stejném směru
  • K tvorbě obchodních signálů využívá indikátory trendu, jako jsou klouzavé průměry, ADX apod.

Návrat k průměru

  • Sází na tendenci ceny vracet se zpět k průměru
  • K tvorbě obchodních signálů využívá indikátory jako RSI, Bollingerova pásma apod.
Finanční obchodování v Pythonu

Strategie křížení MA

Trend je váš přítel.

 

  • Křížení dvou EMA:
    • Dlouhý signál: krátkodobá EMA překříží dlouhodobou EMA zdola
    • Krátký signál: krátkodobá EMA překříží dlouhodobou EMA shora
Finanční obchodování v Pythonu

Výpočet indikátorů

import talib
# Calculate the indicators
EMA_short = talib.EMA(price_data['Close'],
                      timeperiod=10).to_frame()
EMA_long = talib.EMA(price_data['Close'], 
                     timeperiod=40).to_frame()
Finanční obchodování v Pythonu

Sestavení signálu

# Create the signal DataFrame
signal = EMA_long.copy()
signal[EMA_long.isnull()] = 0

# Construct the signal signal[EMA_short > EMA_long] = 1
signal[EMA_short < EMA_long] = -1
Finanční obchodování v Pythonu

Vizualizace signálu

# Plot the signal, price and MAs
combined_df = bt.merge(signal, price_data, EMA_short, EMA_long)
combined_df.columns = ['Signal', 'Price', 'EMA_short', 'EMA_long']

combined_df.plot(secondary_y=['Signal'])

Graf signálu EMA crossover

Finanční obchodování v Pythonu

Definování strategie se signálem

# Define the strategy
bt_strategy = bt.Strategy('EMA_crossover',

[bt.algos.WeighTarget(signal), bt.algos.Rebalance()])
Finanční obchodování v Pythonu

Backtesting strategie na základě signálu

# Create the backtest and run it
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
Finanční obchodování v Pythonu

Vizualizace výsledků backtestu

# Plot the backtest result
bt_result.plot(title='Backtest result')

Výsledek backtestu MA crossover

Finanční obchodování v Pythonu

Lass uns üben!

Finanční obchodování v Pythonu

Preparing Video For Download...