Financieel traden in Python
Chelsea Yang
Data Science Instructor
Trendvolgend
Mean reversion
The trend is your friend.
import talib
# Bereken de indicatoren
EMA_short = talib.EMA(price_data['Close'],
timeperiod=10).to_frame()
EMA_long = talib.EMA(price_data['Close'],
timeperiod=40).to_frame()
# Maak de signalen-DataFrame signal = EMA_long.copy() signal[EMA_long.isnull()] = 0# Construeer het signaal signal[EMA_short > EMA_long] = 1signal[EMA_short < EMA_long] = -1
# Plot het signaal, de prijs en de 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'])

# Definieer de strategie bt_strategy = bt.Strategy('EMA_crossover',[bt.algos.WeighTarget(signal), bt.algos.Rebalance()])
# Maak de backtest en voer uit
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
# Plot het backtestresultaat
bt_result.plot(title='Backtest result')

Financieel traden in Python