Giới thiệu về biến động thực hiện
An Introduction to Realized Volatility
Chào mừng các bạn đến với chuỗi bài học chuyên sâu về một trong những khái niệm hấp dẫn nhất của kinh tế lượng tài chính hiện đại: Biến động Thực hiện (Realized Volatility). Trong quản lý rủi ro, định giá tài sản và xây dựng danh mục đầu tư, biến động là một yếu tố then chốt. Tuy nhiên, có một sự thật thú vị: không giống như giá cả hay lợi suất, chúng ta không thể quan sát trực tiếp “biến động” tại một thời điểm bất kỳ. Nó là một đại lượng ẩn, và trong nhiều thập kỷ, các nhà kinh tế lượng đã phải dựa vào các mô hình tham số như ARCH hay GARCH để ước tính nó từ dữ liệu tần suất thấp (ví dụ: hàng ngày).
Sự bùng nổ của dữ liệu tài chính tần suất cao (high-frequency data) – dữ liệu giao dịch được ghi nhận từng phút, thậm chí từng giây – đã mở ra một cuộc cách mạng. Khái niệm Biến động Thực hiện ra đời, cho phép chúng ta đo lường biến động đã xảy ra (ex-post) một cách phi tham số và với độ chính xác rất cao. Ý tưởng cốt lõi rất trực quan: bằng cách cộng tổng bình phương của các lợi suất trong những khoảng thời gian rất nhỏ (ví dụ: 5 phút) trong một ngày, chúng ta có thể thu được một thước đo chính xác về tổng biến động của ngày hôm đó. Chuỗi bài học này sẽ dẫn dắt các bạn đi từ những ý tưởng đầu tiên, khám phá nền tảng lý thuyết vững chắc đằng sau nó, và giải quyết các thách thức thực tiễn khi làm việc với dữ liệu trong thế giới thực.
CẤU TRÚC CHUỖI BÀI HỌC
- Nền tảng về biến động thực hiệnHiểu rõ tại sao chúng ta có thể đo lường biến động một cách chính xác với dữ liệu tần suất cao, trong khi lợi suất kỳ vọng thì không thể.
- Biến thiên bậc hai và phương sai tích hợpKhám phá nền tảng lý thuyết toán học kết nối Biến động Thực hiện (RV) với Biến thiên Bậc hai (QV) và Phương sai Tích hợp (IV).
- Xử lý bước nhảy giá với biến thiên lưỡng lũy thừaHọc cách phân biệt giữa biến động từ các chuyển động liên tục và các cú sốc đột ngột (bước nhảy) bằng công cụ Bipower Variation.
- Nhiễu vi cấu trúc và các vấn đề thực tiễnTìm hiểu về những thách thức khi làm việc với dữ liệu tần suất siêu cao và các kỹ thuật để giảm thiểu sai lệch trong đo lường.
- Hướng dẫn thực hành StataÁp dụng toàn bộ lý thuyết đã học để tính toán, phân tích và trực quan hóa Biến động Thực hiện từ dữ liệu mô phỏng.
- Hệ thống hóa và ứng dụngTổng kết toàn bộ kiến thức, thảo luận các ứng dụng trong dự báo, quản lý rủi ro và các hướng nghiên cứu nâng cao.
MỤC TIÊU HỌC TẬP
Sau khi hoàn thành chuỗi bài học này, các bạn sẽ có khả năng:
- Nắm vững lý thuyết về Biến động Thực hiện, Biến thiên Bậc hai, và các khái niệm liên quan như bước nhảy giá và nhiễu vi cấu trúc.
- Vận dụng thành thạo Stata để tính toán các thước đo biến động từ dữ liệu tần suất cao, bao gồm RV và Bipower Variation.
- Diễn giải và phân tích kết quả một cách chuyên nghiệp, hiểu được các ưu và nhược điểm của phương pháp trong các bối cảnh khác nhau.
TÀI LIỆU THAM KHẢO
- Nguồn chính: Andersen, T. G., & Benzoni, L. (2009). Realized Volatility. In Handbook of Financial Time Series (pp. 555-575). Springer, Berlin, Heidelberg.
- Andersen, T. G., Bollerslev, T., Diebold, F. X., & Labys, P. (2003). Modeling and forecasting realized volatility. Econometrica, 71(2), 579-625.
- Barndorff-Nielsen, O. E., & Shephard, N. (2002). Econometric analysis of realized volatility and its use in estimating stochastic volatility models. Journal of the Royal Statistical Society: Series B, 64(2), 253-280.
PHỤ LỤC: DỮ LIỆU MÔ PHỎNG CHO SERIES
Để phục vụ cho việc học và thực hành, chúng ta sẽ tự tạo ra một bộ dữ liệu giá tài sản mô phỏng theo quá trình GARCH(1,1). Quá trình này tạo ra hiệu ứng “gom cụm biến động” (volatility clustering) thường thấy trên thị trường tài chính, rất lý tưởng để phân tích bằng Biến động Thực hiện. Dưới đây là mã Stata để tạo dữ liệu. Các bạn hãy chạy đoạn mã này để có file rv_data.dta và sử dụng nó trong suốt chuỗi bài học.
* ==================================================
* MỤC ĐÍCH: Tạo dữ liệu giá tài sản mô phỏng
* MÔ HÌNH: GARCH(1,1) để tạo hiệu ứng gom cụm biến động
* SỐ LIỆU: 252 ngày giao dịch, mỗi ngày 78 obs 5 phút (tổng 19,656 obs)
* ==================================================
clear all
set seed 12345
* --- Thiết lập các tham số cho 252 ngày giao dịch ---
local num_days = 252
local obs_per_day = 78 // 6.5 giờ * 12 (obs 5 phút) = 78
local total_obs = `num_days' * `obs_per_day'
set obs `total_obs'
gen time = _n
* --- Tạo chuỗi lợi suất theo GARCH(1,1) ---
* Các tham số GARCH
local mu = 0.0001
local omega = 0.00001
local alpha = 0.09
local beta = 0.90
gen double h = `omega' / (1 - `alpha' - `beta') // Phương sai không điều kiện ban đầu
gen double returns = `mu' + sqrt(h[_n-1]) * rnormal() if _n > 1
replace h = `omega' + `alpha' * returns[_n-1]^2 + `beta' * h[_n-1] if _n > 1
* --- Tạo chuỗi giá logarit từ lợi suất ---
gen double log_price = 100 // Giá khởi điểm
replace log_price = log_price[_n-1] + returns if _n > 1
* --- Tạo biến ngày và thời gian trong ngày ---
gen day = ceil(_n / `obs_per_day')
gen intraday_period = mod(_n-1, `obs_per_day') + 1
* --- Đặt tên và mô tả biến ---
label var time "Chỉ số thời gian tổng thể"
label var returns "Lợi suất logarit 5 phút"
label var h "Phương sai có điều kiện (GARCH)"
label var log_price "Giá logarit của tài sản"
label var day "Ngày giao dịch"
label var intraday_period "Phiên 5 phút trong ngày"
* --- Lưu dữ liệu để sử dụng ---
compress
save "rv_data.dta", replace
describe
summarize
📚 Bài tiếp theo: Nền tảng của biến động thực hiện
💡 Lưu ý: Hãy đảm bảo đã đọc kỹ tổng quan và mục tiêu của chuỗi bài học. Việc chạy mã Stata để tạo dữ liệu trước sẽ giúp bạn sẵn sàng cho các phần thực hành sau này.