อัตราดอกเบี้ยมี Autocorrelation หรือไม่?
เมื่อดูการเปลี่ยนแปลงรายวันของอัตราดอกเบี้ย จะพบว่า autocorrelation มีค่าใกล้เคียงศูนย์ แต่หากทำการ resample ข้อมูลแล้วดูการเปลี่ยนแปลงรายปี จะพบว่า autocorrelation มีค่าเป็นลบ ซึ่งหมายความว่าการเปลี่ยนแปลงของอัตราดอกเบี้ยในระยะสั้นอาจไม่มีความสัมพันธ์กัน แต่การเปลี่ยนแปลงในระยะยาวกลับมี autocorrelation เชิงลบ การเคลื่อนไหวของอัตราดอกเบี้ยในแต่ละวันแทบไม่บอกอะไรเกี่ยวกับอัตราดอกเบี้ยวันถัดไป แต่การเปลี่ยนแปลงในช่วงหนึ่งปีสามารถบ่งชี้ทิศทางของอัตราดอกเบี้ยในปีถัดไปได้ ซึ่งสอดคล้องกับหลักเศรษฐศาสตร์: ในระยะยาว เมื่ออัตราดอกเบี้ยสูงขึ้น เศรษฐกิจมักชะลอตัว และส่งผลให้อัตราดอกเบี้ยปรับลดลงในที่สุด และในทางกลับกันด้วย
DataFrame daily_rates มีข้อมูลอัตราดอกเบี้ยระยะ 10 ปีรายวัน ตั้งแต่ปี 1962 ถึง 2017
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาด้วย Python
คำแนะนำการฝึกหัด
- สร้าง DataFrame ใหม่ชื่อ
daily_diffเพื่อเก็บการเปลี่ยนแปลงของอัตรารายวัน โดยใช้เมธอด.diff() - คำนวณ autocorrelation ของคอลัมน์
'US10Y'ในdaily_diffโดยใช้เมธอด.autocorr() - ใช้เมธอด
.resample()โดยระบุอาร์กิวเมนต์rule='A'ตามด้วยฟังก์ชัน.last()เพื่อแปลงข้อมูลให้อยู่ในความถี่รายปี - สร้าง DataFrame ใหม่ชื่อ
yearly_diffเพื่อเก็บการเปลี่ยนแปลงของอัตรารายปี แล้วคำนวณ autocorrelation ในลักษณะเดียวกับข้างต้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute the daily change in interest rates
daily_diff = daily_rates.___
# Compute and print the autocorrelation of daily changes
autocorrelation_daily = daily_diff[___].___
print("The autocorrelation of daily interest rate changes is %4.2f" %(autocorrelation_daily))
# Convert the daily data to annual data
yearly_rates = daily_rates.resample(___).___
# Repeat above for annual data
yearly_diff = yearly_rates.___
autocorrelation_yearly = yearly_diff[___].___
print("The autocorrelation of annual interest rate changes is %4.2f" %(autocorrelation_yearly))