開始使用免費開始

進行策略最佳化

你已經有一個以 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)
編輯並執行程式碼