ẢO GIÁC TỐI ƯU



Hêlô ae,

Hôm nay tôi lại ngứa nghề, nên nói thêm một chút về một cái bệnh nan y của dân quant, mấy ông thần thiên tài logic tí nhỉ?
Cái bệnh của mấy ông này là:
“Luôn cố tối ưu hóa trong một thế giới không cho phép tối ưu.”
Nói trước là tôi không có định kiến gì với mấy ông đâu nhé, bởi tôi cũng làm quant mà, chỉ là giờ tôi tin vào trực giác và hương khói nhiều hơn thôi, hêhe
Trước khi nói chuyện tối ưu, chúng ta sẽ phải hỏi lại một câu hỏi hơi ngu nhưng quan trọng:
"Thế giới giá cả trong tài chính thuộc kiểu nào?"
Và cái này thì tôi cũng nói chán chê từ lâu, rằng: thế giới thực chất chia làm 2 vùng.
Đầu tiên là Mediocristan:
Ví dụ: chiều cao, cân nặng, điểm thi…
Giá trị của những thứ thuộc vùng này luôn dao động quanh một mức trung bình, outlier ít và không có gì là “quá đáng”.
Ở đây thì mấy cái chỉ số thống kê như mean, variance, standard deviation dùng rất ngon.
Thứ 2 là Extremistan:
Ví dụ: độ giàu nghèo, doanh thu phim, view tiktok, biến động giá…
Ở đây thì các thiên nga đen/xám (outlier) chi phối toàn bộ kết quả.
Một ngày đen đủi có thể bằng 10 năm bình yên.
Thị trường tài chính (từ chứng khoán, forex tới crypto) đều rơi vào Extremistan.
Nói ngắn gọn thì là:
-Lợi nhuận của nó không phân phối theo chuông Gaussian.
-Đuôi phân phối rất dày (fat tails).
-Một cú sập duy nhất có thể “xóa sổ” toàn bộ lịch sử đẹp đẽ trước đó.
Đây chính là chỗ nhiều ae quant dính đạn.
Trong sách dạy thống kê (hay trong chính trực giác) của ae, mọi thứ luôn đẹp như mơ.
Lợi nhuận được coi như random thuần túy, phân phối chuẩn đẹp đẽ.
Cứ gom dữ liệu hết vào rồi ước lượng kỳ vọng (mean), phương sai (variance) ,sau đó dựng ma trận hiệp phương sai,
=>ném vào Markowitz, tối ưu risk/return, sẽ ra được danh mục xịn.
Ngầu y như Tony Stark (Iron man) trong phim Marvel vậy, hêhe
Nhưng thực tế đó mới chính là thứ gây ra vấn đề.
Bởi mọi công thức/thống kê kiểu trên chỉ có ý nghĩa nếu:
-phân phối có chuẩn Gauss hoặc gần Gauss.
-kỳ vọng, phương sai tồn tại và hội tụ.
-Một outlier đơn lẻ không chi phối toàn bộ mẫu.
Nhưng như ae đã biết, thế giới tài chính là Extremistan.
Nó có đuôi béo => nên phương sai có khi chả tồn tại.
Ngay cả khi tồn tại, thì nó cũng sẽ rất khó để hội tụ trong thời gian sống của một con người.
Một cú sốc đơn lẻ duy nhất có thể phá nát 20 năm dữ liệu lịch sử.
Nói thẳng (hơi phũ) ra thì mấy cái mean và variance mà ae đang tính trong thị trường tài chính về mặt toán học là đồ bỏ đi.
Tối ưu hóa dựa trên bọn nó chính là tối ưu hóa trên ảo giác.
Theo sách giáo khoa thì ae cứ lấy đủ mẫu thì sample mean sẽ hội tụ về true mean.
Chuẩn.
Nhưng đó chỉ là trong Mediocristan thôi.
Trong Extremistan, mean không hội tụ.
Ae lấy 100 mẫu trước 2010 => mean ra 0.12
Ae lấy 1000 mẫu trước 2018 => mean ra 0.11
Ae lấy 5000 mẫu trước 2022 => mean ra 0.1
Nhưng ae lấy thêm 1 cú sập LUNA 2022 => mean thành trò hề.
Nó giống như ae hỏi 10 ông trong quán bar:
“Trung bình một thằng trong này tiêu bao nhiêu tiền một đêm?”
Nếu trong phòng có 10 bố làm công ăn lương thì chả vấn đề gì,
số tiền sẽ dao động đẹp đẽ quanh mốc 500-1 triệu gì đó.
Nhưng đột nhiên, một hôm, có 1 thằng quý tử con nhà tỷ phú vào chơi,
thì cái "số tiền trung bình" đó méo thể nào tính nổi.
Với chuẩn Gauss, vài chục đến vài trăm mẫu là tính mean ổn rồi.
Còn với fat tail, ae phải có hàng tỷ/nghìn tỷ quan sát mới biết mean gần chính xác.
Trong khi ae có bao nhiêu data?
10 năm? 100 năm? Nhân lên 365 ngày?
Chỉ có chơi tick level thì mới đủ, nhưng ae lấy đâu ra tick mà chơi?
Cho nên việc ae tính được mean lợi nhuận 10-20 năm chỉ là một… tai nạn thống kê.
Khi ae nhét cái mean ảo đó vào mô hình tối ưu hóa, ae chỉ đang vẽ bản đồ trên sa mạc, rồi dùng nó để lái xe trong rừng.
Variance (phương sai) còn tệ hơn thế.
Trong nhiều phân phối đuôi béo, variance không tồn tại (vô hạn) về mặt toán học.
Hoặc có tồn tại nhưng cực kỳ nhạy với outlier, chỉ một sự kiện điên rồ nào đó cũng làm nó nhảy tung lên.
Trong thị trường thì 364 ngày sẽ là biến động nhẹ, còn 1 ngày flash crash 30%.
Độ lệch chuẩn ae đo được không phải “độ rung bình thường”,
mà là “độ rung bình thường + động đất chết người”.
Volatility không phản ánh được cái độ rung đó.
Variance càng không phản ánh được.
Nhưng ae lại đem chúng đi làm input để tính sharpe ratio, risk parity, kelly....
Điều đó giống như việc ae đo mức độ nguy hiểm của đường đi bằng số lần bị vấp đá,
mà không tính đến chuyện có ngày nguyên con container chạy ngược chiều.
Chưa hết.
Mean là ảo giác, variance là ảo giác, nhưng ae không dừng ở đó,
ae dựng thêm ma trận tương quan (covariance matrix) trên nền ảo giác để "tối ưu danh mục".
Chẳng hạn:
-BTC với ETH chạy giống nhau 0.7
-BTC với vàng chạy giống 0.1
-Stocks với bonds chạy ngược -0.3
Nhưng vấn đề của cái này là: muốn tính được nó thì cần mean chuẩn, variance chuẩn và dữ liệu ổn định/dừng (stationary).
Nhưng mấy cái đó có tồn tại đâu?
Dữ liệu không đủ thì nó sẽ khiến cho quá khứ chạy một kiểu, vào crash lại một kiểu khác.
Chưa kể đến trạng thái (regime) của market nó còn đổi xoành xoạch khi xuất hiện biến số mới.
Vậy cái ma trận mà ae dùng để tối ưu chính xác là cái quái gì?
Câu trả lời:
Nó là một bộ khuếch đại sai số. Không phải thứ làm tăng hiệu quả.
Nếu input đã nhiễu, không hội tụ, không ổn định,...
thì tối ưu hóa không thể giúp hiệu suất tốt lên.
Mà sẽ làm hiệu suất kém đi gấp 10.
Chỉ cần một thay đổi nhỏ trong mẫu (thêm bớt vài năm, đổi cửa sổ mẫu từ 5 lên 7 năm, bỏ đi 1 sự kiện tail...) sẽ làm các hệ số trong ma trận covariance đổi mạnh.
Khi ae chạy mô hình Markowitz (hay các thuật toán tối ưu), nó sẽ tìm những thông số/tài sản có return cao nhất nhất dựa trên dữ liệu quá khứ.
Nhưng trong thực tế, những thứ có chỉ số đẹp nhất trong quá khứ thường là may mắn hoặc sự nhiễu ngẫu nhiên
Điều này làm thuật toán dồn tiền vào những thứ "ảo" nhất.
=> Điều đó biến những "sai lầm/may mắn nhẹ" thành "thảm họa".
Đây là lý do chính khiến ae càng tối ưu cho backtest đẹp, thì live ae càng sml.
Đến đây sẽ có ae bảo:
“Thế sao Jim Simons, Renaissance Technologies, mấy ông quant của quỹ HFT vẫn sống khỏe?
Họ vẫn dùng toán học đó thôi?”
Đúng.
Nhưng điểm mấu chốt ở đây mà nhiều ae không nhận ra là:
Họ hoạt động ở một không-thời gian khác.
Họ sống vì họ hoạt động trong “Mediocristan vi mô” với đầy đủ dữ liệu tick.
Họ trade theo micro giây, đặt server sát sàn.
Giao dịch hàng trăm, hàng nghìn, thậm chí hàng triệu lệnh mỗi ngày.
Ở khung thời gian cực ngắn như vậy thì biến động sẽ nhỏ, tail “mỏng đi”, mean và variance trở nên ổn định do có data đủ lớn để thống kê có ý nghĩa.
Tức là họ đã “chuẩn hóa Gauss thị trường" bằng cách cắt nhỏ thời gian đến mức vi mô,
làm mượt nhiễu bằng tần suất khổng lồ.
Giống như việc băm một cái xương bò thành bột.
Đó là một “Mediocristan nhân tạo” mà ae trader bình thường chúng ta không bao giờ có được.
Toán học của HFT là kiểu toán của vật lý thống kê (nhiều hạt, va chạm liên tục, cân bằng nhiệt động lực học).
Còn toán học của retail chúng ta là toán của lịch sử, của xã hội học và của sự kiện (chiến tranh, Fed họp, thiên nga đen).
Hai môn này khác nhau hoàn toàn về bản chất.
Áp dụng công thức nhiệt động lực học cho lịch sử loài người là sai lầm phạm trù cơ bản.
Kiểu như dùng lý thuyết lượng tử để giải thích lực hấp dẫn (điều mà nhân loại chưa làm nổi).
Đến đây chắc sẽ có nhiều ae sẽ thốt lên:
Vậy nói cho cùng thì chúng ta không được tối ưu hóa? phải đứng im trơ mắt nhìn thị trường? hay là lấy đồng xu để tung mẹ đi? hêhe
Đúng đấy.
Không làm gì hoặc tung đồng xu có khi còn tốt hơn cố gắng tối ưu.
Trên thế giới, từng có một nghiên cứu rất nổi tiếng so sánh giữa mô hình tối ưu danh mục Markowitz phức tạp (cần tính mean, variance, covariance để phân bổ trọng số).
Và một mô hình ngây thơ tính trọng số kiểu 1/N:
Nếu có N tài sản, ae chỉ cần đơn giản là chia đều tiền cho mỗi thằng (ví dụ: 25% Vàng, 25% Stock, 25% Cash, 25% BTC),
không cần tính toán gì cả.
Kết quả thì chắc ae cũng đoán được.
Trong dài hạn, mô hình ngây thơ 1/N thường xuyên đánh bại mô hình tối ưu Markowitz.
Lý do rất dễ hiểu.
Đó là vì mô hình 1/N không có sai số ước lượng (estimation error) để khuếch đại lên.
Nó không cố thông minh hơn thị trường.
Nó dùng sự đơn giản và chấp nhận sự ngu dốt của mình để trở nên robust, còn Markowitz chết vì tin vào những tối ưu rác.
Vậy đó ae,
thị trường tài chính mà chúng ta đang chơi là Extremistan.
Trong đó, mean, variance, covariance nhiều khi không tồn tại.
Tối ưu hóa dựa trên chúng = tối ưu ảo giác.
Quant trader bình thường như chúng ta phải chọn một con đường khác.
Một con đường bỏ đi ảo tưởng tối ưu,
chấp nhận tail, kiểm soát rủi ro,
và kiên nhẫn chơi chiến lược bất đối xứng.
Đừng nghĩ thêm vài dòng code là có thể trở thành thành Jim Simons,
bởi chúng ta đang chơi một trò chơi khác ông ấy.
Hãy thiết kế hệ thống để không chết khi nhiễu và ăn lớn khi đuôi béo xuất hiện.
Sự đơn giản, đôi khi là cách tốt nhất để chiến thắng thị trường.

Comments