Thực hiện benchmarking cho chiến lược
Bạn tự hỏi: thay vì tốn công sức giao dịch chủ động một mã cổ phiếu, điều gì xảy ra nếu bạn chỉ mua rồi nắm giữ cổ phiếu trong một khoảng thời gian? Chiến lược giao dịch chủ động của bạn có tạo ra lợi nhuận tốt hơn so với chiến lược thụ động mua-và-giữ không? Để trả lời câu hỏi này, bạn dự định thực hiện một bài kiểm tra benchmarking.
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 nạp sẵn trong price_data.
Ngoài ra, ba backtest chiến lược sma10, sma30, sma50 từ bài trước đã được nạp sẵn và có thể dùng trực tiếp.
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 buy_and_hold(price_data, name):
# Define the benchmark strategy
bt_strategy = bt.Strategy(name,
[____,
bt.algos.SelectAll(),
bt.algos.WeighEqually(),
bt.algos.Rebalance()])
# Return the backtest
return ____(bt_strategy, price_data)