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

กลยุทธ์ยอดนิยมที่ใช้ Autocorrelation

ความผิดปกติที่น่าสงสัยอย่างหนึ่งของตลาดหุ้นคือ นักลงทุนมักมีปฏิกิริยาตอบสนองต่อข่าวสารมากเกินไป หลังจากที่ราคาหุ้นพุ่งขึ้นหรือดิ่งลงอย่างรุนแรง ราคามักจะวกกลับมาในทิศทางตรงกันข้าม ปรากฏการณ์นี้เรียกว่า mean reversion ในราคาหุ้น กล่าวคือ ราคามักจะดีดกลับเข้าสู่ระดับก่อนหน้าหลังจากเคลื่อนไหวอย่างรุนแรง ซึ่งสังเกตได้ในช่วงเวลาประมาณหนึ่งสัปดาห์ ในเชิงคณิตศาสตร์ mean reversion อธิบายได้ว่าผลตอบแทนของหุ้นมี autocorrelation เป็นลบ

แนวคิดง่าย ๆ นี้ถือเป็นรากฐานของกลยุทธ์ยอดนิยมในกองทุน hedge fund หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับกลยุทธ์นี้ (แม้ไม่จำเป็นสำหรับเนื้อหาในบทถัดไป) สามารถดูได้ ที่นี่

ในแบบฝึกหัดนี้ จะวิเคราะห์ autocorrelation ของผลตอบแทนรายสัปดาห์ของหุ้น MSFT ตั้งแต่ปี 2012 ถึง 2017 โดยเริ่มจาก DataFrame MSFT ที่เก็บราคารายวัน จากนั้นใช้เมธอด .resample() เพื่อแปลงเป็นราคารายสัปดาห์ แล้วคำนวณผลตอบแทนจากราคา ใช้เมธอด .autocorr() ของ pandas เพื่อหาค่า autocorrelation และแสดงให้เห็นว่าค่าดังกล่าวเป็นลบ โปรดทราบว่าเมธอด .autocorr() ใช้ได้กับ Series เท่านั้น ไม่ใช่ DataFrame (แม้จะมีเพียงคอลัมน์เดียว) ดังนั้นจึงต้องเลือกคอลัมน์จาก DataFrame ก่อน

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

การวิเคราะห์อนุกรมเวลาด้วย Python

ดูคอร์ส

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

  • ใช้เมธอด .resample() โดยกำหนด rule='W' ตามด้วยฟังก์ชัน .last() เพื่อแปลงข้อมูลรายวันเป็นรายสัปดาห์
  • สร้าง DataFrame ใหม่ชื่อ returns ที่เก็บการเปลี่ยนแปลงของราคารายสัปดาห์ในรูปเปอร์เซ็นต์ โดยใช้เมธอด .pct_change()
  • คำนวณ autocorrelation โดยใช้เมธอด .autocorr() กับ series ของราคาหุ้นปิด ซึ่งคือคอลัมน์ 'Adj Close' ใน DataFrame returns

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

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

# Convert the daily data to weekly data
MSFT = MSFT.resample(___).___

# Compute the percentage change of prices
returns = MSFT.___

# Compute and print the autocorrelation of returns
autocorrelation = returns[___].___
print("The autocorrelation of weekly returns is %4.2f" %(autocorrelation))
แก้ไขและรันโค้ด