สร้าง Random Walk
ในขณะที่ ผลตอบแทน ของหุ้นมักถูกจำลองด้วย white noise แต่ ราคา หุ้นกลับเป็นไปตาม random walk อย่างใกล้ชิด กล่าวคือ ราคาวันนี้เท่ากับราคาเมื่อวานบวกกับค่าสุ่มบางส่วน
ในแบบฝึกหัดนี้ จะจำลองราคาหุ้นตามช่วงเวลา โดยเริ่มต้นที่ราคา 100 และในแต่ละวันราคาจะขึ้นหรือลงแบบสุ่ม จากนั้นพล็อตกราฟราคาหุ้นที่จำลองได้ หากกดปุ่ม "รันโค้ด" หลายครั้ง จะเห็นผลลัพธ์ที่แตกต่างกันในแต่ละครั้ง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาด้วย Python
คำแนะนำการฝึกหัด
- สร้าง "ขั้น" สุ่มแบบการแจกแจงปกติ 500 ค่า โดยมีค่าเฉลี่ย (mean) = 0 และส่วนเบี่ยงเบนมาตรฐาน (standard deviation) = 1 ด้วย
np.random.normal()โดยอาร์กิวเมนต์สำหรับค่าเฉลี่ยคือlocและอาร์กิวเมนต์สำหรับส่วนเบี่ยงเบนมาตรฐานคือscale - จำลองราคาหุ้น
P:- สะสมค่าสุ่ม
stepsด้วยเมธอด.cumsum()ของ numpy - บวก 100 เข้ากับ
Pเพื่อให้ราคาหุ้นเริ่มต้นที่ 100
- สะสมค่าสุ่ม
- พล็อตกราฟ random walk ที่จำลองได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()