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

ลักษณะเฉพาะของอนุกรมเวลาทางการเงิน

ผลตอบแทนรายวันของสินทรัพย์ทางการเงินมักมีลักษณะร่วมกันหลายประการ ผลตอบแทนในแต่ละวันมักมีค่าน้อย และค่าเฉลี่ยอยู่ใกล้ศูนย์ ในขณะเดียวกัน ความแปรปรวนและส่วนเบี่ยงเบนมาตรฐานอาจมีค่าค่อนข้างสูง ในช่วงเวลาหลายปี มักพบผลตอบแทนที่มีขนาดใหญ่มากในบางวันเป็นครั้งคราว แม้จะเกิดขึ้นเพียงไม่กี่วัน แต่วันเหล่านั้นคือช่วงที่ราคาสินทรัพย์เคลื่อนไหวมากที่สุด เนื่องจากผลตอบแทนที่สุดขั้วเหล่านี้ การกระจายของผลตอบแทนรายวันจึงไม่เป็นแบบปกติ (normal) แต่มีหางหนัก (heavy-tailed) และบางครั้งก็เบ้ (skewed) โดยทั่วไป ผลตอบแทนของหุ้นรายตัวมักมีความผันผวนและค่าสุดขั้วมากกว่าผลตอบแทนของดัชนี

ในแบบฝึกหัดนี้ จะใช้ชุดข้อมูล eu_percentreturns ซึ่งเป็นผลตอบแทนเป็นเปอร์เซ็นต์ที่คำนวณจากข้อมูล eu_stocks สำหรับดัชนีทั้งสี่ในชุดข้อมูล จะคำนวณค่าเฉลี่ยตัวอย่าง ความแปรปรวน และส่วนเบี่ยงเบนมาตรฐาน

สังเกตว่าค่าเฉลี่ยผลตอบแทนรายวันอยู่ที่ประมาณ 0 ในขณะที่ส่วนเบี่ยงเบนมาตรฐานอยู่ที่ประมาณ 1 เปอร์เซ็นต์ นอกจากนี้ ให้ใช้ฟังก์ชัน hist() และ qqnorm() เพื่อสร้างฮิสโตแกรมและกราฟ normal quantile plot ตามลำดับ สำหรับแต่ละดัชนี

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

การวิเคราะห์อนุกรมเวลาใน R

ดูคอร์ส

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

  • ใช้ colMeans() เพื่อคำนวณค่าเฉลี่ยตัวอย่างของแต่ละคอลัมน์ในข้อมูล eu_percentreturns
  • ใช้ apply() เพื่อคำนวณความแปรปรวนตัวอย่างของแต่ละดัชนี โดยกำหนดอาร์กิวเมนต์ MARGIN เป็น 2 และตั้งค่าอาร์กิวเมนต์ FUN เป็น var
  • เรียกใช้ apply() อีกครั้งเพื่อคำนวณส่วนเบี่ยงเบนมาตรฐานของแต่ละดัชนี คงค่า MARGIN ไว้ที่ 2 แต่เปลี่ยนอาร์กิวเมนต์ FUN เป็น sd
  • รันโค้ดที่เหลือเพื่อแสดงฮิสโตแกรมและกราฟ normal quantile plot ของผลตอบแทนเป็นเปอร์เซ็นต์สำหรับแต่ละดัชนี

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

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

# Generate means from eu_percentreturns
colMeans(___)

# Use apply to calculate sample variance from eu_percentreturns
apply(___, MARGIN = 2, FUN = ___)

# Use apply to calculate standard deviation from eu_percentreturns


# Display histogram and normal quantile plots
par(mfrow = c(2,2))
apply(eu_percentreturns, MARGIN = 2, FUN = hist, main = "", xlab = "Percentage Return")

par(mfrow = c(2,2))
apply(eu_percentreturns, MARGIN = 2, FUN = qqnorm, main = "")
qqline(eu_percentreturns)
แก้ไขและรันโค้ด