ความสัมพันธ์และโคแวเรียนซ์

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Pearson correlation

ตัวอย่างความสัมพันธ์ระหว่างตัวแปรสุ่มสองตัวในรูปแบบต่าง ๆ:

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Pearson correlation

Heatmap ของเมทริกซ์สหสัมพันธ์:

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

เมทริกซ์สหสัมพันธ์ใน Python

สมมติว่า StockReturns คือ pandas DataFrame ของผลตอบแทนหุ้น สามารถคำนวณเมทริกซ์สหสัมพันธ์ได้ดังนี้:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

ส่วนเบี่ยงเบนมาตรฐานของพอร์ต

ส่วนเบี่ยงเบนมาตรฐานของพอร์ตสองสินทรัพย์:

$$ \sigma_p = \sqrt{ w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 \rho_{1, 2} \sigma_1 \sigma_2 }$$

  • $\sigma_p$: ส่วนเบี่ยงเบนมาตรฐานของพอร์ต
  • w: น้ำหนักสินทรัพย์
  • $\sigma$: ความผันผวนของสินทรัพย์
  • $\rho_{1, 2}$: สหสัมพันธ์ระหว่างสินทรัพย์ 1 และ 2
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

เมทริกซ์โคแวเรียนซ์

การคำนวณเมทริกซ์โคแวเรียนซ์ ($ \Sigma $) ของผลตอบแทน X:

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

เมทริกซ์โคแวเรียนซ์ใน Python

สมมติว่า StockReturns คือ pandas DataFrame ของผลตอบแทนหุ้น สามารถคำนวณเมทริกซ์โคแวเรียนซ์ได้ดังนี้:

cov_mat = StockReturns.cov()
cov_mat

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การแปลงเมทริกซ์โคแวเรียนซ์เป็นรายปี

การแปลงเมทริกซ์โคแวเรียนซ์เป็นรายปี:

cov_mat_annual = cov_mat * 252
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

ส่วนเบี่ยงเบนมาตรฐานของพอร์ตโดยใช้โคแวเรียนซ์

สูตรความผันผวนของพอร์ต:

$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$

  • $ \sigma_{Portfolio} $: ความผันผวนของพอร์ต
  • $ \Sigma $: เมทริกซ์โคแวเรียนซ์ของผลตอบแทน
  • w: น้ำหนักพอร์ต ($ w_T $ คือน้ำหนักที่ถ่ายโอนแล้ว)
  • $ \cdot $ ตัวดำเนินการคูณแบบ dot
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การสลับเมทริกซ์

ตัวอย่างการดำเนินการ สลับเมทริกซ์ (matrix transpose):

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Dot product

การดำเนินการ dot product ของเวกเตอร์ a และ b:

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

ส่วนเบี่ยงเบนมาตรฐานของพอร์ตใน Python

การคำนวณความผันผวนของพอร์ต โดยกำหนดอาร์เรย์น้ำหนักและเมทริกซ์โคแวเรียนซ์:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

มาฝึกกันเถอะ!

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Preparing Video For Download...