Giới thiệu mô hình biến động ngẫu nhiên và giá trị cực đoan
Introduction to Stochastic Volatility Models and Extreme Values
TÓM TẮT CHỦ ĐỀ
Chào các bạn sinh viên, chào mừng đến với chuỗi bài học mới đầy thú vị trong lĩnh vực kinh tế lượng tài chính. Trong thực tế, chúng ta thường quan sát thấy rằng biến động của giá tài sản tài chính không phải là một hằng số. Có những giai đoạn thị trường rất bình lặng, nhưng cũng có những lúc biến động tăng vọt một cách đột ngột, tạo ra những sự kiện mà chúng ta gọi là “cực đoan”. Một câu hỏi lớn đặt ra cho các nhà kinh tế lượng là: làm thế nào để mô hình hóa và dự báo những biến động này? Hai trong số những công cụ mạnh mẽ nhất cho nhiệm vụ này là mô hình GARCH và mô hình Biến động Ngẫu nhiên (Stochastic Volatility – SV). Trong khi mô hình GARCH giả định biến động là một hàm số xác định của các cú sốc trong quá khứ, mô hình SV lại cho rằng biến động tự nó là một quá trình ngẫu nhiên, không thể quan sát trực tiếp. Sự khác biệt tinh tế này dẫn đến những hệ quả rất lớn khi chúng ta phân tích các sự kiện hiếm, hay còn gọi là các giá trị cực đoan. Chuỗi bài học này sẽ đưa chúng ta vào một hành trình khám phá Lý thuyết Giá trị Cực đoan (Extreme Value Theory – EVT) và ứng dụng nó để hiểu sâu sắc về hành vi của các mô hình SV. Chúng ta sẽ cùng nhau tìm hiểu tại sao các cú sốc lớn trong mô hình SV thường xuất hiện một cách độc lập, trái ngược hoàn toàn với mô hình GARCH nơi các cú sốc lớn có xu hướng đi thành từng cụm. Việc nắm vững kiến thức này không chỉ quan trọng về mặt lý thuyết mà còn có ý nghĩa thực tiễn to lớn trong quản trị rủi ro và đầu tư tài chính.
CẤU TRÚC CHUỖI BÀI HỌC
- Nền tảng mô hình biến động ngẫu nhiênBạn sẽ học cách định nghĩa mô hình SV, phân biệt hai trường hợp nhiễu đuôi nhẹ và đuôi nặng, và hiểu hành vi phân phối của chúng.
- Nhập môn lý thuyết giá trị cực đoanChúng ta sẽ khám phá các khái niệm cốt lõi của EVT và cách áp dụng chúng để phân tích các giá trị lớn nhất trong mô hình SV.
- Thực hành phân tích SV trong StataBạn sẽ được hướng dẫn từng bước để mô phỏng một quá trình SV, xác định các sự kiện cực đoan và phân tích chúng bằng Stata.
- Tổng hợp và so sánh SV với GARCHBài viết này sẽ hệ thống hóa toàn bộ kiến thức, so sánh trực diện hành vi cực đoan của SV và GARCH, và định hướng nghiên cứu.
MỤC TIÊU HỌC TẬP
- Hiểu rõ định nghĩa và cấu trúc của mô hình Biến động Ngẫu nhiên (SV).
- Nắm được các khái niệm cơ bản của Lý thuyết Giá trị Cực đoan (EVT).
- Phân biệt được hành vi của các giá trị cực đoan trong mô hình SV và GARCH.
- Vận dụng Stata để mô phỏng và phân tích cơ bản một quá trình SV.
- Diễn giải được ý nghĩa của việc không có cụm cực đoan trong mô hình SV đối với quản trị rủi ro.
TÀI LIỆU THAM KHẢO
- Davis, R. A., & Mikosch, T. (2009). Extremes of Stochastic Volatility Models. In Handbook of Financial Time Series. Springer. (Tài liệu gốc của chuỗi bài viết).
- Hamilton, J. D. (1994). Time Series Analysis. Princeton University Press. (Kinh điển về phân tích chuỗi thời gian).
- Wooldridge, J. M. (2019). Introductory Econometrics: A Modern Approach. Cengage Learning. (Nền tảng về kinh tế lượng ứng dụng).
PHỤ LỤC: DỮ LIỆU MÔ PHỎNG CHO SERIES
Để giúp các bạn dễ dàng theo dõi và thực hành, chúng ta sẽ sử dụng một bộ dữ liệu mô phỏng cho một quá trình SV đơn giản trong suốt chuỗi bài học. Dưới đây là mã Stata để tạo ra bộ dữ liệu này. Các bạn hãy chạy đoạn mã này để có file sv_simulation.dta và sv_simulation.csv sẵn sàng cho các bài học tiếp theo.
* ==================================================
* MỤC ĐÍCH: Mô phỏng một quá trình biến động ngẫu nhiên (SV) đơn giản
* MÔ HÌNH:
* 1. Phương trình quan sát: x_t = sigma_t * z_t
* 2. Phương trình biến động: log(sigma_t^2) = phi * log(sigma_{t-1}^2) + eta_t
* GIẢ ĐỊNH: z_t ~ N(0,1), eta_t ~ N(0, var_eta)
* ==================================================
clear all
set obs 2000
set seed 12345
* --- Thiết lập tham số cho mô hình ---
scalar phi = 0.98 // Hệ số tự hồi quy của log-volatility (gần 1, có tính bền bỉ)
scalar var_eta = 0.02 // Phương sai của cú sốc trong quá trình biến động
* --- Tạo các chuỗi thời gian ---
gen time = _n
gen z_t = rnormal(0, 1) // Nhiễu z_t (đuôi nhẹ)
gen eta_t = rnormal(0, sqrt(var_eta)) // Cú sốc cho quá trình biến động
* --- Mô phỏng quá trình log-volatility (log sigma_t^2) ---
gen log_vol_sq = 0
replace log_vol_sq = phi * log_vol_sq[_n-1] + eta_t in 2/l
* --- Tính toán sigma_t và chuỗi lợi suất x_t ---
gen sigma_t = sqrt(exp(log_vol_sq)) // Biến động ngẫu nhiên sigma_t
gen x_t = sigma_t * z_t // Chuỗi lợi suất quan sát được
* --- Loại bỏ 500 quan sát đầu để chuỗi hội tụ ---
drop in 1/500
drop time
gen time = _n
* --- Mô tả dữ liệu đã tạo ---
describe
summarize x_t sigma_t
* --- Lưu dữ liệu để sử dụng cho các bài sau ---
save "sv_simulation.dta", replace
export delimited using "sv_simulation.csv", replace
* --- Vẽ đồ thị để trực quan hóa ---
tsset time
tsline x_t, title("Chuỗi lợi suất mô phỏng (x_t)")
tsline sigma_t, title("Quá trình biến động ngẫu nhiên (sigma_t)")
Mô tả các biến trong dữ liệu:
time: Biến thời gian, từ 1 đến 1500.z_t: Nhiễu chuẩn hóa, tuân theo phân phối chuẩn N(0,1).eta_t: Cú sốc của quá trình biến động.log_vol_sq: Logarit của phương sai, là một quá trình AR(1) tiềm ẩn.sigma_t: Độ lệch chuẩn có điều kiện (biến động) tại thời điểm t. Đây là biến ngẫu nhiên.x_t: Chuỗi lợi suất quan sát được, là sản phẩm của biến động và nhiễu.
📚 Bài tiếp theo: Nền tảng mô hình biến động ngẫu nhiên
💡 Lưu ý: Hãy đảm bảo bạn đã chạy đoạn code Stata trên và có sẵn bộ dữ liệu cho bài học tiếp theo.