# Hàm Trung bình Vượt ngưỡng (Mean Excess Plot)


Trong quản trị rủi ro tài chính, Thuyết Giá trị Cực đoan (Extreme Value Theory - EVT) là một công cụ toán học mạnh mẽ để đối phó với hiện tượng [đuôi dày](/posts/math/stats/laplace-ged-student-t-skewed-t/) (fat-tails) - những sự kiện Thiên nga đen tàn khốc. Thay vì cố gắng mô hình hóa toàn bộ thị trường, EVT tập trung ánh nhìn hoàn toàn vào phần đuôi (những ngày lỗ nặng nhất) của phân phối.

Một trong những phương pháp phổ biến nhất của EVT là **Đỉnh vượt ngưỡng (Peak Over Threshold - POT)**. Phương pháp này chỉ lấy những khoản lỗ vượt qua một ranh giới $u$ nào đó để đem đi phân tích chuyên sâu. 

Nhưng câu hỏi tỷ đô ở đây là: **Làm sao để biết nên chọn ngưỡng $u$ ở đâu là tốt nhất?** 
- Nếu chọn $u$ quá thấp (ví dụ 90%), ta sẽ lẫn lộn dữ liệu cực đoan với dữ liệu bình thường, làm hỏng mô hình.
- Nếu chọn $u$ quá cao (ví dụ 99.9%), ta lại chẳng còn đủ dữ liệu (số ngày) để thống kê, khiến ước lượng trở nên bất ổn.

## 1. Đồ thị Mean Excess (Hàm trung bình vượt ngưỡng)
Để giải quyết bài toán chọn ngưỡng một cách trực quan, các nhà toán kê đã phát minh ra **Mean Excess Plot (MEP)**. Ý tưởng của MEP cực kỳ dễ hiểu:

Giả sử ta chọn thử một ngưỡng $u$. Hãy nhặt ra tất cả những ngày mà danh mục bị lỗ nặng hơn $u$. Tính xem trung bình phần lỗ **vượt quá $u$** của những ngày đó là bao nhiêu (gọi là *Mean Excess* hay kỳ vọng phần dư).

Đồ thị Mean Excess được vẽ bằng cách lặp lại quá trình trên cho rất nhiều ngưỡng $u$ thử nghiệm khác nhau (trục hoành là $u$, trục tung là Mean Excess tương ứng). Theo định lý Pickands–Balkema–de Haan của EVT, ngưỡng $u$ tối ưu chính là điểm mà từ đó trở đi, đồ thị Mean Excess bắt đầu có dạng **một đường thẳng hướng lên** (thể hiện tính chất của phân phối Pareto Tổng quát - GPD).

Trong báo cáo đồ án đối với danh mục **FPT, VNM, VCB**, các bạn có thể thấy đồ thị Mean Excess bắt đầu dốc lên thành một đường thẳng khá rõ rệt từ mức phân vị **95%**. Đây chính là cơ sở toán học khách quan nhất để nhóm quyết định dùng mốc 5% tồi tệ nhất cho đuôi GPD.

## 2. Mô phỏng Thuật toán Vẽ đồ thị Từng bước
Để hiểu rõ cách máy tính (như trong code thuật toán EVT) dò tìm ngưỡng, hãy xem đoạn hoạt hình tương tác dưới đây. Thuật toán hoạt động đúng theo các bước sau:

1. Máy tính không biết chọn ngưỡng $u$ ở đâu là tốt nhất (chọn 90%? 95%? hay 98%?).
2. Do đó, nó tạo ra một dải gồm 100 ngưỡng thử nghiệm khác nhau (chạy dọc từ phân vị 50% đến phân vị 98% của tập dữ liệu). Trục hoành (x-axis) của đồ thị MEP chính là các giá trị ngưỡng $u$ này.
3. Tại mỗi một ngưỡng $u$, máy tính nhặt ra tất cả các ngày bị lỗ nặng hơn $u$ (các chấm đỏ), tính xem trung bình phần lỗ vượt quá $u$ của những ngày đó là bao nhiêu (trục tung y-axis), rồi chấm 1 điểm xuống đồ thị dưới.
4. Nó lặp lại việc đó 100 lần để tạo ra 100 điểm, nối lại thành cái đồ thị lượn sóng (Mean Excess Plot).

*(Bấm nút chạy để xem máy tính nhích đường ngưỡng $u$ lên từng chút một và ráp nối thành đồ thị MEP nhé!)*

<div class="interactive-pane">
<div style="margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 8px; background-color: #f9f9f9;">
  
  <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
    <div style="flex: 1; font-size: 0.9em; color: #555;">
      <strong>Data:</strong> Mô phỏng danh mục (FPT, VNM, VCB) - Đuôi tuyến tính bắt đầu từ 95%
    </div>
    <button id="mep-run-btn" style="padding: 10px 15px; background: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;">▶ Chạy Animation Từng Bước</button>
  </div>
  
  <div style="display: flex; flex-direction: column; gap: 10px;">
    <!-- Đồ thị Scatter: Dữ liệu lỗ và đường ngưỡng U -->
    <div id="mep-scatter-plot" style="width: 100%; height: 350px; border: 1px solid #ccc; border-radius: 4px; background: white;"></div>
    
    <!-- Đồ thị Mean Excess -->
    <div id="mep-line-plot" style="width: 100%; height: 350px; border: 1px solid #ccc; border-radius: 4px; background: white;"></div>
  </div>

</div>
<script src="https://cdn.plot.ly/plotly-2.32.0.min.js"></script>
<script src="/js/mean-excess-interactive.js"></script>
</div>

## 3. Cách đọc Đồ thị trong Thực tế
Khi áp dụng vào phân tích (như trong đồ án/báo cáo thực tế):
- **Giai đoạn đầu (u thấp)**: Đồ thị thường lởm chởm hoặc cong xuống, vì ta đang lấy nhầm cả dữ liệu bình thường (nhiễu).
- **Giai đoạn giữa (u tối ưu)**: Đồ thị bắt đầu trở nên tuyến tính (gần giống một đường thẳng dốc lên). Góc của phần đầu đường thẳng này thường được dùng để chọn $u$.
- **Giai đoạn cuối (u cực cao)**: Đồ thị lại trở nên dao động hỗn loạn (zig-zag biên độ lớn) vì lúc này số lượng mẫu quan sát còn lại quá ít (chỉ vài ba ngày trong cả thập kỷ), khiến tính trung bình mất đi sự ổn định thống kê.

