Get startedGet started for free

Conduct a strategy optimization

You have an SMA-based signal strategy to trade stocks. However, you are not sure what lookback period to use for calculating the SMA that can optimize the strategy performance. You plan to run multiple backtests on different input parameters. Also, you want the capability to assess the strategy on trading different stocks or based on different historical periods.

The bt package has been imported for you. Also, the historical price data of the Tesla stock has been preloaded in price_data.

This exercise is part of the course

Financial Trading in Python

View Course

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

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)
Edit and Run Code