เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

รวม DataFrame ของหุ้นและคำนวณผลตอบแทน

ขั้นตอนแรกในการคำนวณพอร์ตโฟลิโอตามทฤษฎีพอร์ตโฟลิโอสมัยใหม่ (MPT) คือการหาผลตอบแทนรายวันและรายเดือน เป้าหมายของเราคือค้นหาพอร์ตโฟลิโอที่ดีที่สุดในแต่ละเดือนโดยอิงจาก Sharpe ratio วิธีที่สะดวกที่สุดคือนำราคาหุ้นทั้งหมดมารวมไว้ใน DataFrame เดียว แล้วจึง resample ให้อยู่ในกรอบเวลารายวันและรายเดือน เราต้องการการเปลี่ยนแปลงราคารายวันเพื่อคำนวณความผันผวน ซึ่งจะใช้เป็นตัวชี้วัดความเสี่ยง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning สำหรับการเงินด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • รวม lng_df, spy_df และ smlv_df เข้าด้วยกันโดยใช้ pd.concat() แล้วเก็บผลลัพธ์ไว้ใน DataFrame ชื่อ full_df
  • Resample full_df ให้อยู่ในความถี่ Business Month Start ('BMS')
  • คำนวณอัตราการเปลี่ยนแปลงรายวันของ full_df ด้วย .pct_change()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Join 3 stock dataframes together
full_df = pd.concat(____, axis=1).dropna()

# Resample the full dataframe to monthly timeframe
monthly_df = full_df.resample(____).first()

# Calculate daily returns of stocks
returns_daily = ____

# Calculate monthly returns of the stocks
returns_monthly = monthly_df.pct_change().dropna()
print(returns_monthly.tail())
แก้ไขและรันโค้ด