Skip to content
Tất cả hướng dẫn quyền chọn
Đo lường volatility lịch sửĐọc trong 10 phút

Ước lượng volatility từ OHLC: so sánh Parkinson, Garman–Klass, Rogers–Satchell và Yang–Zhang

So sánh công thức ước lượng variance từ OHLC, giả định về drift và gap qua đêm, cùng một ví dụ tính toán giả định trên ba phiên

Trong hướng dẫn nàyOHLC estimator đo điều gì

Tóm tắt ngắn

Các estimator OHLC dùng giá cao nhất, thấp nhất, mở cửa và đóng cửa để đo variance lịch sử trong một phiên. Parkinson, Garman–Klass, Rogers–Satchell và Yang–Zhang dựa trên các giả định khác nhau; đây là phép đo giá đã quan sát, không phải dự báo hướng đi hay volatility tương lai

OHLC estimator đo điều gì

OHLC là open, high, low và close của cùng một bar. Khi ranh giới phiên được định nghĩa nhất quán, giá cao nhất và thấp nhất bổ sung thông tin về đường đi của giá mà chỉ hai mức đóng cửa liên tiếp không cho thấy

Các công thức dưới đây ước lượng variance của log return trên mỗi bar hoặc mỗi phiên. Lấy căn bậc hai của variance để có độ lệch chuẩn cho kỳ đó. Muốn annualize thì cần chọn số kỳ phù hợp và nêu giả định của quá trình; annualize không biến phép đo quá khứ thành forecast. Xem cách tính realized volatility để đối chiếu với cách close-to-close

Đồng nhất dữ liệu và ranh giới phiên trước

Với bar i, gọi giá mở cửa là Oᵢ, cao nhất là Hᵢ, thấp nhất là Lᵢ và đóng cửa là Cᵢ. Cả bốn giá phải thuộc cùng một phiên và cùng định nghĩa chuỗi giá; thông thường Hᵢ ≥ max(Oᵢ,Cᵢ) và Lᵢ ≤ min(Oᵢ,Cᵢ)

Hãy cố định múi giờ, giờ giao dịch, tần suất bar, nguồn giá, cách điều chỉnh split và cổ tức, cũng như quy tắc xử lý giao dịch lỗi hay dữ liệu thiếu. Nếu các nhà cung cấp đặt ranh giới bar hằng ngày khác nhau, high và low sẽ bao phủ những khoảng thời gian khác nhau

Các công thức dùng log tự nhiên của tỷ lệ giá dương. Ghép close đã điều chỉnh với high và low chưa điều chỉnh có thể tạo biến động giả; một giao dịch lỗi cũng có thể làm range rộng bất thường

Ba cây nến không nhãn có thân và râu cao-thấp khác nhau, cạnh các dấu phạm vi mờ
Hình khái niệm về thân nến nằm trong khoảng cao-thấp; các hình không phải dữ liệu thị trường

Ba estimator dùng đường đi bên trong phiên

Trong các công thức sau, mean là trung bình trên n bar. Parkinson chỉ dùng high và low:

σ²P = mean[(ln(Hᵢ/Lᵢ))²] ÷ (4 ln 2)

Estimator này dựa trên mô hình đường giá liên tục với drift bằng không. Nó không cộng riêng gap từ close trước đó đến open hiện tại. Xem [bài nghiên cứu của Parkinson]({source:parkinson1980ExtremeValueVariance})

Garman–Klass dùng high, low, open và close trong phiên:

σ²GK = mean[0.5(ln(Hᵢ/Lᵢ))² − (2 ln 2 − 1)(ln(Cᵢ/Oᵢ))²]

Phần hiệu chỉnh open-to-close bổ sung thông tin trong phiên nhưng không khiến công thức luôn tốt hơn. Hiệu quả tùy thuộc mô hình giá và chất lượng bar; công thức không có hạng riêng cho return từ close hôm trước đến open hôm nay. Mô hình gốc cũng giả định đường giá liên tục và drift bằng không. Xem [bài của Garman và Klass]({source:garmanKlass1980OhlcVolatility})

Rogers–Satchell cũng dùng cả bốn mức giá:

σ²RS = mean[ln(Hᵢ/Oᵢ)ln(Hᵢ/Cᵢ) + ln(Lᵢ/Oᵢ)ln(Lᵢ/Cᵢ)]

Theo giả định mô hình riêng, estimator này không yêu cầu đặt drift bằng không. Dù vậy, nó vẫn đo phần bên trong phiên và không đưa chuyển động từ close trước đó đến open thành một hạng riêng. Xem [bài của Rogers và Satchell]({source:rogersSatchell1991VarianceEstimator})

Yang–Zhang thêm gap qua đêm

Trước tiên tính return qua gap uᵢ = ln(Oᵢ/Cᵢ₋₁) và return trong phiên cᵢ = ln(Cᵢ/Oᵢ). Yang–Zhang kết hợp sample variance của hai chuỗi này với mean của thành phần RS:

σ²YZ = s²overnight + k s²open-close + (1 − k) mean(RS)

Trong đó s²overnight là sample variance của uᵢ, s²open-close là sample variance của cᵢ và mean(RS) là trung bình các hạng Rogers–Satchell. Với n quan sát, hệ số trong cách viết này là k = 0.34 ÷ [1.34 + (n + 1)/(n − 1)]

Trong thị trường giao dịch 24/7, “overnight return” là biến động từ close của bar trước đến open của bar hiện tại theo ranh giới bar đã chọn, chứ không hàm ý thị trường đóng cửa qua đêm. Hãy định nghĩa ranh giới bar nhất quán.

Khác với ba công thức chỉ đo trong phiên ở trên, Yang–Zhang có tính chuyển động từ close trước đó đến open hiện tại. Điều đó vẫn đòi hỏi ranh giới thời gian nhất quán và dữ liệu đáng tin; công thức không sửa được dữ liệu thiếu hoặc quote sai. Xem [bài của Yang và Zhang]({source:yangZhang2000DriftIndependentOhlcVolatility})

Ví dụ giả định trên ba phiên

Giả sử close trước đó là 100 và ba bar ngày liên tiếp tiếp theo có (O,H,L,C) = (100,104,98,103), (105,108,102,103) và (101,106,99,105). Các mức giá đều là giả định để minh họa phép tính, không phải dữ liệu thị trường

Thay ba bar vào công thức rồi lấy trung bình sẽ cho các ước lượng variance và độ lệch chuẩn gần đúng trên mỗi phiên:

EstimatorVariance mỗi phiênĐộ lệch chuẩn hằng ngày
Parkinson0.00137853.71%
Garman–Klass0.00155663.95%
Rogers–Satchell0.00154583.93%
Yang–Zhang0.00186464.32%

Với Yang–Zhang, n = 3 và k ≈ 0.1018. Return giữa các phiên lần lượt xấp xỉ 0, ln(105/103) = 0.01923 và ln(101/103) = −0.01961, có sample variance với mẫu số n−1 khoảng 0.0003771. Return open-to-close là 0.02956, −0.01923 và 0.03884, có sample variance với cùng mẫu số n−1 là 0.0009731; mean RS bằng 0.0015458. Thay các thành phần này vào công thức cho variance Yang–Zhang 0.0018646 và độ lệch chuẩn hằng ngày 4.32%. Mẫu nhỏ và giả định không chứng minh estimator nào chính xác hơn

Kết quả khác nhau không tạo thành bảng xếp hạng

Các con số khác nhau vì công thức dùng thông tin khác nhau và xử lý drift cùng gap theo cách khác nhau. Ước lượng cao hơn không có nghĩa là đã tìm thấy volatility “thật”; ước lượng thấp hơn cũng không chứng minh thị trường yên ắng hơn. Chỉ so sánh khi chuỗi giá, bar, phiên và quy ước variance khớp nhau

Để annualize variance theo kỳ, thông thường nhân với số kỳ trong năm rồi lấy căn bậc hai. Số kỳ, tính ổn định của quá trình, autocorrelation và giờ giao dịch được đưa vào đều ảnh hưởng cách đọc kết quả. Bài về volatility clustering và GARCH nói về một câu hỏi khác: conditional variance tương lai theo mô hình

Khi range có thể gây hiểu nhầm

Bar OHLC hằng ngày che mất thứ tự sự kiện bên trong phiên; high và low nhạy với giao dịch lỗi hoặc thưa. Ranh giới phiên khác nhau có thể xếp cùng một cú nhảy thị trường vào những bar khác nhau. Không công thức nào trong bốn công thức cho biết hướng giá hoặc tự nó là tín hiệu giao dịch

Hãy lưu định nghĩa phiên, tần suất bar, quy tắc điều chỉnh, độ dài window, cách annualize và dữ liệu bị thiếu cùng kết quả. Sau đó kiểm tra mô hình giá và giả định có phù hợp với công cụ và câu hỏi không; variance lịch sử không đảm bảo range giá tương lai

Câu hỏi thường gặp

Q1Công thức OHLC volatility nào chính xác nhất?

Không có một công thức tốt nhất cho mọi trường hợp. Parkinson, Garman–Klass, Rogers–Satchell và Yang–Zhang dựa trên giả định khác nhau về mô hình giá và overnight gap; hãy đối chiếu giả định với dữ liệu

Q2Yang–Zhang có tính biến động qua đêm không?

Có. Công thức dùng sample variance của log return từ close trước đó đến open hiện tại, cùng với các thành phần trong phiên

Q3OHLC estimator có dự báo volatility tương lai không?

Không. Chúng ước lượng variance của giá đã quan sát. Volatility tương lai chưa biết và cần một mô hình dự báo riêng được kiểm định

Nguồn và tài liệu đọc thêm

Báo lỗi

Chúng tôi sẽ soạn email kèm liên kết bài viết này. Mark chỉ nhận được báo cáo sau khi bạn gửi email

Kiểm tra nhanh

Đọc xong hướng dẫn? Hãy kiểm tra với 3 câu hỏi

Câu hỏi 1 / 3

Câu hỏi 01

Estimator Parkinson dùng những mức giá nào?

Chọn một đáp án để xem giải thích

Bảng thuật ngữ quyền chọn