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
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)