Trendföljande strategier

Finansiell handel i Python

Chelsea Yang

Data Science Instructor

Två typer av handelsstrategier

Trendföljande

  • Satsar på att pristrenden fortsätter i samma riktning
  • Använder trendindikatorer som rörliga medelvarden, ADX m.fl. för att konstruera handelssignaler

Medelvärdesåtergång

  • Satsar på att priset tenderar att återgå mot medelvärdet
  • Använder indikatorer som RSI, Bollinger Bands m.fl. för att konstruera handelssignaler
Finansiell handel i Python

MA-korsningsstrategi

Trenden är din vän.

 

  • Två EMA-korsning:
    • Köpsignal: det kortsiktiga EMA korsar över det långsiktiga EMA
    • Säljsignal: det kortsiktiga EMA korsar under det långsiktiga EMA
Finansiell handel i Python

Beräkna indikatorerna

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()
Finansiell handel i Python

Konstruera signalen

# 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
Finansiell handel i Python

Rita signalen

# 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 över EMA-korsningssignal

Finansiell handel i Python

Definiera strategin med signalen

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

[bt.algos.WeighTarget(signal), bt.algos.Rebalance()])
Finansiell handel i Python

Backtesta den signalbaserade strategin

# Create the backtest and run it
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
Finansiell handel i Python

Rita backtestresultaten

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

Backtestresultat för MA-korsning

Finansiell handel i Python

Nu kör vi en övning!

Finansiell handel i Python

Preparing Video For Download...