การฟิต t distribution กับข้อมูล
โดยทั่วไปแล้ว Student t distribution จะสอดคล้องกับผลตอบแทนรายวัน รายสัปดาห์ และรายเดือนได้ดีกว่า normal distribution มาก
สร้าง Student t distribution ได้โดยใช้ฟังก์ชัน fit.st() ในแพ็กเกจ QRM โมเดลที่ฟิตแล้วจะมีคอมโพเนนต์การประมาณค่าพารามิเตอร์ชื่อ par.ests ซึ่งสามารถกำหนดให้กับลิสต์ tpars เพื่อเก็บค่า nu, mu, และ sigma ไว้ใช้ในภายหลัง:
> tfit <- fit.st(ftse)
> tpars <- tfit$par.ests
> tpars
nu mu sigma
2.949514e+00 4.429863e-05 1.216422e-02
ในแบบฝึกหัดนี้ จะฟิต Student t distribution กับ log-return รายวันของดัชนี Dow Jones ในช่วงปี 2008-2011 ที่เก็บอยู่ใน djx จากนั้นจะพล็อตฮิสโทแกรมของข้อมูลและวางเส้นสีแดงทับเพื่อแสดง t density ที่ฟิตแล้ว ข้อมูล djx และแพ็กเกจ QRM ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Quantitative Risk Management in R
คำแนะนำการฝึกหัด
- ใช้
fit.st()เพื่อฟิต Student t distribution กับข้อมูลในdjxและกำหนดผลลัพธ์ให้กับtfit - กำหนดคอมโพเนนต์
par.estsของโมเดลที่ฟิตแล้วให้กับtparsและกำหนดองค์ประกอบของtparsให้กับnu,mu, และsigmaตามลำดับ - เติมโค้ดใน
hist()เพื่อพล็อตฮิสโทแกรมของdjx - เติมโค้ดใน
dt()เพื่อคำนวณ t density ที่ฟิตแล้วที่ค่าdjxและกำหนดให้กับyvalsโดยอ้างอิงสมการจากวิดีโอ - เติมโค้ดใน
lines()เพื่อเพิ่มเส้นสีแดงลงในฮิสโทแกรมของdjxเพื่อแสดง t density ที่ฟิตแล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fit a Student t distribution to djx
tfit <- ___(___)
# Define tpars, nu, mu, and sigma
tpars <- ___
nu <- ___
mu <- ___
sigma <- ___
# Plot a histogram of djx
hist(___, nclass = 20, probability = TRUE, ylim = range(0, 40))
# Compute the fitted t density at the values djx
yvals <- dt((___ - ___)/___, df = ___)/___
# Superimpose a red line to show the fitted t density
lines(___, yvals, col = "red")