มาพยากรณ์อัตราดอกเบี้ยกัน
ในแบบฝึกหัดนี้ จะนำเทคนิคการพยากรณ์ที่เรียนไปในแบบฝึกหัดก่อนหน้ามาใช้กับข้อมูลจริง โดยจะกลับมาใช้ชุดข้อมูลจากบทแรกอีกครั้ง ซึ่งเป็นข้อมูลรายปีของอัตราดอกเบี้ยระยะ 10 ปี ย้อนหลัง 56 ปี เก็บอยู่ใน Series ชื่อ interest_rate_data ความสามารถในการพยากรณ์อัตราดอกเบี้ยมีความสำคัญอย่างมาก ไม่เพียงแต่สำหรับนักลงทุนตราสารหนี้เท่านั้น แต่ยังสำคัญสำหรับบุคคลทั่วไป เช่น เจ้าของบ้านใหม่ที่ต้องตัดสินใจเลือกระหว่างสินเชื่อดอกเบี้ยคงที่และดอกเบี้ยลอยตัว
ในบทแรก เห็นได้ว่าอัตราดอกเบี้ยมีแนวโน้มกลับสู่ค่าเฉลี่ยในระยะยาว กล่าวคือ เมื่ออัตราดอกเบี้ยสูง มักจะปรับลดลงตามเวลา และเมื่ออัตราดอกเบี้ยต่ำ มักจะปรับสูงขึ้น ปัจจุบันอัตราดอกเบี้ยอยู่ต่ำกว่าระดับระยะยาว จึงคาดว่าจะปรับตัวสูงขึ้น ซึ่งโมเดล AR จะช่วยวัดปริมาณการเพิ่มขึ้นที่คาดไว้ได้
คลาส ARIMA และฟังก์ชัน plot_predict ได้ถูก import มาให้เรียบร้อยแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาด้วย Python
คำแนะนำการฝึกหัด
- สร้าง instance ของคลาส
ARIMAชื่อmodโดยใช้ข้อมูลอัตราดอกเบี้ยรายปี และกำหนดorderสำหรับโมเดล AR(1) - Fit โมเดล
modด้วย method.fit()แล้วบันทึกผลลัพธ์ไว้ในออบเจกต์ชื่อres - พล็อตข้อมูลพร้อมกับการพยากรณ์ทั้ง in-sample และ out-of-sample โดยใช้ฟังก์ชัน
.plot_predict()- argument แรกของ
plot_predict()ควรเป็นโมเดลที่ fit แล้ว - ส่ง argument
start=0เพื่อเริ่มการพยากรณ์ in-sample จากจุดเริ่มต้น และกำหนดendเป็น '2027' เพื่อพยากรณ์ไปอีกหลายปีข้างหน้า - โปรดสังเกตว่า argument
endที่เป็น 2027 ต้องอยู่ในเครื่องหมายคำพูด เนื่องจากแทนวันที่ ไม่ใช่ตำแหน่งจำนวนเต็ม
- argument แรกของ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Forecast interst rates using an AR(1) model
mod = ARIMA(interest_rate_data, order=___)
res = mod.fit()
# Plot the data and the forecast
fig, ax = plt.subplots()
interest_rate_data.plot(ax=ax)
plot_predict(___, start=___, end=___, alpha=None, ax=ax)
plt.show()