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.

TỪ KHÓA CHÍNH CẦN NẮM

  • Biến động Thực hiện (Realized Volatility – RV): Một ước lượng phi tham số về biến động của tài sản, được tính bằng tổng bình phương các lợi suất tần suất cao trong một khoảng thời gian nhất định.
  • Biến thiên Bậc hai (Quadratic Variation – QV): Một khái niệm lý thuyết từ toán học tài chính, đại diện cho tổng biến động thực tế của một quá trình giá tài sản. RV chính là một ước lượng thực nghiệm của QV.
  • Dữ liệu Tần suất cao (High-Frequency Data): Dữ liệu giá hoặc giao dịch được ghi nhận tại các khoảng thời gian rất ngắn, chẳng hạn như mỗi 5 phút, 1 phút, hoặc thậm chí từng giao dịch (tick-by-tick).

CẤU TRÚC CHUỖI BÀI HỌC

  1. Nền tảng về biến động thực hiện
    Hiể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ể.
  2. Biến thiên bậc hai và phương sai tích hợp
    Khá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).
  3. Xử lý bước nhảy giá với biến thiên lưỡng lũy thừa
    Họ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.
  4. Nhiễu vi cấu trúc và các vấn đề thực tiễn
    Tì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.
  5. 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.
  6. Hệ thống hóa và ứng dụng
    Tổ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.

KIẾN THỨC TIÊN QUYẾT

  • Kinh tế lượng cơ bản: Hiểu về hồi quy OLS, tính nhất quán (consistency) và không chệch (unbiasedness) của một ước lượng.
  • Thống kê căn bản: Nắm vững các khái niệm về kỳ vọng, phương sai, phân phối chuẩn và luật số lớn.
  • Chuỗi thời gian nhập môn: Có kiến thức nền về các mô hình như ARCH/GARCH sẽ là một lợi thế để thấy được sự đột phá của RV.
  • Stata cơ bản: Biết cách nhập dữ liệu, tạo biến mới, và thực hiện các lệnh thống kê mô tả cơ bản.

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.

Stata
* ==================================================
* 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.

Back to top button