進行策略最佳化
你已經有一個以 SMA 為基礎的股票交易訊號策略。不過,你還不確定該用哪個回看期間(lookback period)來計算 SMA,才能讓策略表現更好。你打算在不同輸入參數上跑多次回測。此外,你也想要能夠評估此策略在不同股票上或不同歷史區間的表現。
已為你匯入 bt 套件。特斯拉(Tesla)的歷史股價資料也已預先載入在 price_data。
本練習屬於課程
Financial Trading in Python
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
def signal_strategy(price_data, period, name):
# Calculate SMA
sma = price_data.____
# Define the signal-based Strategy
bt_strategy = bt.Strategy(name,
[____,
bt.algos.WeighEqually(),
bt.algos.Rebalance()])
# Return the backtest
return ____(bt_strategy, price_data)