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

cor()relation

สังเกตเห็นความสัมพันธ์ระหว่างหุ้นสองตัวนี้ไหม? ดูเหมือนว่าเมื่อราคาหุ้น Apple ขยับขึ้น ราคาหุ้น Microsoft ก็มักจะขยับขึ้นตามด้วย วิธีหนึ่งที่ใช้วัดความสัมพันธ์แบบนี้คือการหาค่า correlation (สหสัมพันธ์) ระหว่างหุ้นทั้งสองตัว Correlation คือค่าที่บอกถึงความสัมพันธ์ระหว่างสองสิ่ง ในที่นี้คือราคาหุ้น โดยมีค่าอยู่ในช่วง -1 ถึง 1 ค่า 1 หมายถึงความสัมพันธ์เชิงบวกสมบูรณ์ ค่า -1 หมายถึงความสัมพันธ์เชิงลบสมบูรณ์ และค่า 0 หมายถึงหุ้นทั้งสองเคลื่อนไหวอย่างอิสระจากกัน Correlation เป็นตัวชี้วัดที่ใช้กันทั่วไปในด้านการเงิน และการรู้วิธีคำนวณใน R จะเป็นประโยชน์มาก

ฟังก์ชัน cor() ใช้คำนวณค่า correlation ระหว่างเวกเตอร์สองตัว หรือจะสร้าง correlation matrix เมื่อรับ matrix เป็น input ก็ได้

cor(apple, micr)
[1] 0.9477011

cor(apple_micr_matrix)

          apple      micr
apple 1.0000000 0.9477011
micr  0.9477011 1.0000000

cor(apple, micr) คืนค่า correlation ระหว่างหุ้นสองตัวโดยตรง ค่า correlation ที่สูงถึง .9477 บ่งบอกว่าราคาหุ้น Apple และ Microsoft เคลื่อนไหวใกล้เคียงกันมาก ส่วน cor(apple_micr_matrix) คืนค่าเป็น matrix ที่แสดง correlation ทุกคู่ที่เป็นไปได้ ค่า 1 ที่มุมบนซ้ายคือค่า correlation ของ Apple กับตัวเอง ซึ่งสมเหตุสมผลอย่างยิ่ง!

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

R เบื้องต้นสำหรับการเงิน

ดูคอร์ส

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

  • เวกเตอร์ราคาหุ้นของ apple, micr และ ibm ถูกโหลดไว้ใน workspace แล้ว
  • คำนวณค่า correlation ระหว่าง apple กับ ibm
  • สร้าง matrix จาก apple, micr และ ibm ตามลำดับนี้ โดยตั้งชื่อตัวแปรว่า stocks โดยใช้ cbind()
  • ลองรันโค้ดเพื่อคำนวณค่า correlation ของหุ้นทั้งสามตัว สังเกตว่าโค้ดจะเกิดข้อผิดพลาดเมื่อใส่เวกเตอร์มากกว่า 2 ตัว!
  • เขียนโค้ดส่วนที่เกิดข้อผิดพลาดใหม่โดยใช้ stocks matrix แทน Correlation matrix มีประโยชน์มากเมื่อต้องจัดการกับหุ้นหลายตัวพร้อมกัน!

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

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

# Correlation of Apple and IBM


# stock matrix
stocks <- 

# cor() of all three
cor(apple, micr, ibm)
แก้ไขและรันโค้ด