Random Walk II
ในวิดีโอที่ผ่านมา คุณได้เรียนรู้วิธีสร้าง random walk ของผลตอบแทนโดยการสุ่มตัวอย่างจากผลตอบแทนจริง และวิธีใช้ตัวอย่างที่สุ่มได้นั้นมาสร้างเส้นทางราคาหุ้นแบบสุ่ม
ในแบบฝึกหัดนี้ คุณจะสร้าง random walk โดยใช้ผลตอบแทนย้อนหลังจากราคาหุ้น Facebook นับตั้งแต่ IPO จนถึงสิ้นวันที่ 31 พฤษภาคม 2017 จากนั้นในแบบฝึกหัดถัดไป คุณจะจำลองเส้นทางราคาแบบสุ่มอีกแบบหนึ่ง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูล Time Series ใน Python
คำแนะนำการฝึกหัด
นำเข้า pandas เป็น pd, choice และ seed จาก numpy.random, seaborn เป็น sns และ matplotlib.pyplot เป็น plt ไว้ให้แล้ว รวมถึงนำเข้าชุดข้อมูลราคาหุ้น FB ตั้งแต่ IPO ในเดือนพฤษภาคม 2012 ไว้ในตัวแปร fb ด้วย ตรวจสอบข้อมูลนี้โดยใช้ .head()
- กำหนด seed เป็น 42
- ใช้
.pct_change()เพื่อคำนวณผลตอบแทนรายวันของ Facebook แล้วลบค่าที่หายไปออก และกำหนดผลลัพธ์ให้กับตัวแปรdaily_returns - สร้างตัวแปร
n_obsที่เก็บค่า.count()ของdaily_returnsของ Facebook - ใช้
choice()เพื่อสุ่มเลือกตัวอย่างn_obsรายการจากdaily_returnsแล้วกำหนดให้กับตัวแปรrandom_walk - แปลง
random_walkให้เป็นpd.Seriesแล้วกำหนดค่ากลับให้กับตัวแปรเดิม - ใช้
sns.distplot()เพื่อพล็อตการกระจายของrandom_walk
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set seed here
# Calculate daily_returns here
daily_returns = ____
# Get n_obs
n_obs = ____
# Create random_walk
random_walk = ____
# Convert random_walk to pd.series
random_walk = ____
# Plot random_walk distribution