Bắt đầu ngayBắt đầu miễn phí

Xác định Drift

Ở bài trước, bạn đã mô phỏng giá cổ phiếu đi theo một random walk. Trong bài này, bạn sẽ mở rộng theo hai cách.

  • Bạn sẽ xem random walk có drift. Nhiều chuỗi thời gian, như giá cổ phiếu, là random walk nhưng có xu hướng tăng dần theo thời gian.
  • Ở bài trước, nhiễu trong random walk là cộng: các thay đổi ngẫu nhiên, phân phối chuẩn được cộng vào giá trước đó. Tuy nhiên, khi cộng nhiễu như vậy, về lý thuyết có thể cho ra giá âm. Giờ bạn sẽ chuyển sang nhiễu dạng nhân: bạn cộng thêm một vào thay đổi ngẫu nhiên phân phối chuẩn để ra tổng suất sinh lợi, rồi nhân nó với giá trước đó.

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo 500 "bước" nhân ngẫu nhiên phân phối chuẩn với kỳ vọng 0,1% và độ lệch chuẩn 1% bằng np.random.normal(), đây là suất sinh lợi, rồi cộng thêm một để ra tổng suất sinh lợi.
  • Mô phỏng giá cổ phiếu P:
    • Tính tích lũy dồn bằng phương thức .cumprod() của numpy.
    • Nhân tích lũy dồn của tổng suất sinh lợi với 100 để có giá khởi điểm 100.
  • Vẽ đồ thị random walk có drift đã 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
steps = np.random.normal(loc=___, scale=___, size=___) + ___

# Set first element to 1
steps[0]=1

# Simulate the stock price, P, by taking the cumulative product
P = ___ * np.cumprod(___)

# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk with Drift")
plt.show()
Chỉnh sửa và Chạy Mã