Tối ưu hóa chiến lược
Bạn đang có một chiến lược tín hiệu dựa trên SMA để giao dịch cổ phiếu. Tuy nhiên, bạn chưa chắc nên dùng khoảng thời gian lookback nào để tính SMA nhằm tối ưu hóa hiệu suất chiến lược. Bạn dự định chạy nhiều backtest với các tham số đầu vào khác nhau. Đồng thời, bạn cũng muốn có khả năng đánh giá chiến lược khi giao dịch các cổ phiếu khác nhau hoặc trên các giai đoạn lịch sử khác nhau.
Gói bt đã được nhập sẵn cho bạn. Dữ liệu giá lịch sử của cổ phiếu Tesla cũng đã được nạp vào price_data.
Bài tập này là một phần của khóa học
Giao dịch Tài chính với Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)