Tạo một Random Walk
Trong khi lợi nhuận cổ phiếu thường được mô hình hóa như nhiễu trắng (white noise), thì giá cổ phiếu lại bám sát một random walk. Nói cách khác, giá hôm nay bằng giá hôm qua cộng thêm một chút nhiễu ngẫu nhiên.
Bạn sẽ mô phỏng giá của một cổ phiếu theo thời gian với giá khởi điểm là 100 và mỗi ngày tăng hoặc giảm một lượng ngẫu nhiên. Sau đó, vẽ biểu đồ giá cổ phiếu đã mô phỏng. Nếu bạn bấm nút "Chạy mã" nhiều lần, bạn sẽ thấy nhiều lần mô phỏng khác nhau.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian với Python
Hướng dẫn bài tập
- Tạo 500 "bước" phân phối chuẩn với mean=0 và standard deviation=1 bằng
np.random.normal(), trong đó tham số mean làlocvà tham số độ lệch chuẩn làscale. - Mô phỏng giá cổ phiếu
P:- Tính tổng tích lũy các
stepsngẫu nhiên bằng phương thức numpy.cumsum() - Cộng 100 vào
Pđể có giá khởi điểm là 100.
- Tính tổng tích lũy các
- Vẽ biểu đồ random walk đã mô phỏng
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.
# Generate 500 random steps with mean=0 and standard deviation=1
steps = np.random.normal(loc=___, scale=___, size=___)
# Set first element to 0 so that the first price will be the starting stock price
steps[0]=0
# Simulate stock prices, P with a starting price of 100
P = ___ + np.cumsum(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk")
plt.show()