Стратегії слідування за трендом

Фінансовий трейдинг у Python

Chelsea Yang

Data Science Instructor

Два типи торгових стратегій

Слідування за трендом

  • Ставка на те, що ціна й далі рухатиметься в тому ж напрямку
  • Використовуйте індикатори тренду, як-от ковзні середні, ADX тощо, щоб будувати торгові сигнали

Середнє повернення

  • Ставка на те, що ціна схильна повертатися до середнього значення
  • Використовуйте індикатори, як-от RSI, смуги Боллінджера тощо, щоб будувати торгові сигнали
Фінансовий трейдинг у Python

Стратегія перетину MA

Тренд — ваш друг.

 

  • Перетин двох EMA:
    • Довгий сигнал: коротка EMA перетинає зверху довгу EMA
    • Короткий сигнал: коротка EMA перетинає знизу довгу EMA
Фінансовий трейдинг у Python

Обчисліть індикатори

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()
Фінансовий трейдинг у Python

Побудуйте сигнал

# 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
Фінансовий трейдинг у Python

Відобразіть сигнал

# 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'])

Графік сигналу перетину EMA

Фінансовий трейдинг у Python

Визначте стратегію з використанням сигналу

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

[bt.algos.WeighTarget(signal), bt.algos.Rebalance()])
Фінансовий трейдинг у Python

Бектестинг стратегії на основі сигналу

# Create the backtest and run it
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
Фінансовий трейдинг у Python

Відобразіть результати бектестингу

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

Результат бектестингу перетину MA

Фінансовий трейдинг у Python

Давайте потренуємось!

Фінансовий трейдинг у Python

Preparing Video For Download...