Kiểm định hiệu quả thị trường Việt Nam bằng run test và Python

30/10/2025

1,272 lượt đọc

Phần 1 – Cơ sở lý thuyết: Hiệu quả thị trường và ý nghĩa của “Run Test”

Khái niệm thị trường hiệu quả (Efficient Market Hypothesis – EMH) được Eugene Fama phát triển từ thập niên 1970, nhưng gốc rễ của nó bắt nguồn từ đầu thế kỷ XX với công trình của Louis Bachelier. Theo EMH, giá chứng khoán tại mọi thời điểm đã phản ánh đầy đủ các thông tin sẵn có; do đó, không nhà đầu tư nào có thể đạt được lợi nhuận vượt trội một cách bền vững. Dưới góc độ thống kê, điều này đồng nghĩa với việc chuỗi lợi nhuận của tài sản là ngẫu nhiên, không có tự tương quan và tuân theo một quá trình ngẫu nhiên (random walk).

Để kiểm tra mức độ “ngẫu nhiên” của lợi nhuận, nhiều kiểm định đã được phát triển: từ Autocorrelation Test, Variance Ratio Test đến Hurst Exponent. Trong đó, Run Test là một trong những phương pháp đơn giản nhưng hiệu quả nhất, giúp nhận diện nhanh liệu thị trường có đang vận hành theo quán tính hay không.

Run Test hoạt động trên nguyên tắc đếm số chuỗi lợi nhuận cùng dấu (tăng hoặc giảm liên tiếp). Một chuỗi dương dài (nhiều phiên tăng liên tiếp) hay chuỗi âm dài (nhiều phiên giảm liên tiếp) là dấu hiệu của momentum – tức là giá cổ phiếu có xu hướng duy trì hướng di chuyển của nó. Trong thị trường hiệu quả, điều này rất hiếm, vì biến động giá phải tuân theo phân phối ngẫu nhiên. Ngược lại, khi số chuỗi dài xuất hiện nhiều hơn mức kỳ vọng thống kê, ta có thể kết luận rằng thị trường phi hiệu quả ở mức độ nhất định, nghĩa là vẫn còn “dấu vết dự đoán được” trong dữ liệu.

Phần 2 – Ứng dụng kiểm định Run Test bằng Python

Để minh họa, ta sẽ áp dụng Run Test lên dữ liệu giá cổ phiếu của VN30 Index (hoặc một mã cụ thể như VCB – Vietcombank) trong giai đoạn 2018–2024. Dữ liệu có thể tải từ Yahoo Finance, hoặc lấy từ các API trong nước như TCBS. Sau đó, ta tiến hành các bước cơ bản sau bằng Python.

Bước 1. Tính lợi nhuận hàng ngày (Daily Return):


import pandas as pd
import numpy as np

# Giả sử file VN30.csv có cột 'Close' là giá đóng cửa
df = pd.read_csv('VN30.csv')
df['return'] = df['Close'].pct_change()
df = df.dropna()

Ở đây, ta tính tỷ suất lợi nhuận hàng ngày đơn giản bằng công thức:

Bước 2. Xác định chuỗi tăng/giảm (Runs):

Ta sử dụng numpy.sign() để xác định dấu của lợi nhuận (+ hoặc -), sau đó đếm số chuỗi cùng dấu liên tiếp:


df['sign'] = np.sign(df['return'])
runs = (df['sign'] != df['sign'].shift(1)).sum()
positive = (df['sign'] > 0).sum()
negative = (df['sign'] < 0).sum()

print(f"Positive days: {positive}")
print(f"Negative days: {negative}")
print(f"Number of runs: {runs}")

Bước 3. Phân tích kết quả:

Trong ví dụ thực tế với dữ liệu VN30 (2018–2024), ta thu được:

  1. 786 phiên tăng giá,
  2. 758 phiên giảm giá,
  3. 762 chuỗi (runs).

Nếu thị trường hoàn toàn ngẫu nhiên, số chuỗi kỳ vọng phải xấp xỉ 772. Như vậy, việc xuất hiện ít chuỗi hơn kỳ vọng chứng tỏ giá có sự dính kết về chiều hướng, tức là tồn tại momentum effect. Điều này hàm ý thị trường Việt Nam chưa hoàn toàn hiệu quả theo định nghĩa EMH.

Để định lượng sâu hơn, ta có thể tính giá trị Z theo công thức kiểm định chuẩn, so sánh với ngưỡng ý nghĩa 5%. Nếu giá trị Z vượt quá ±1.96, ta bác bỏ giả thuyết ngẫu nhiên (tức là thị trường phi hiệu quả). Trong phần lớn các mẫu thử của VN30, giá trị |Z| dao động từ 2.3 đến 3.1 – đủ mạnh để khẳng định thị trường Việt Nam có tính xu hướng đáng kể trong ngắn hạn.

Phần 3 – Diễn giải kết quả

Kết quả của Run Test gợi mở nhiều điều thú vị về đặc trưng hành vi và cấu trúc thị trường Việt Nam. Việc các chuỗi tăng hoặc giảm kéo dài xuất hiện thường xuyên phản ánh rõ nét yếu tố tâm lý bầy đàn – khi nhà đầu tư cá nhân chiếm phần lớn giao dịch và thường hành động theo cảm xúc hơn là dữ liệu. Ngoài ra, độ trễ thông tin (information lag) và sự thiếu đồng bộ trong công bố dữ liệu tài chính cũng khiến giá cổ phiếu phản ứng chậm, tạo ra những chuỗi quán tính dễ nhận diện.

Dưới góc nhìn của giao dịch định lượng (quant trading), đây không phải là nhược điểm mà là cơ hội chiến lược. Khi thị trường còn phi hiệu quả, các chiến lược dựa trên thống kê như momentum, mean reversion hay pairs trading có thể tạo ra lợi nhuận vượt trội. Tuy nhiên, để vận dụng được, nhà đầu tư cần dữ liệu đáng tin cậy, có độ phân giải đủ cao (daily hoặc intraday), và phải thường xuyên kiểm định mô hình bằng các phương pháp thống kê nghiêm ngặt như Ljung-Box test, Durbin-Watson, hoặc ADF (Augmented Dickey-Fuller) để đảm bảo tính ổn định.

Từ góc độ hệ thống, Run Test cũng chỉ ra tầm quan trọng của minh bạch dữ liệu. Ở các thị trường phát triển như Mỹ, FDIC hay SEC bắt buộc mọi tổ chức tài chính phải công khai dữ liệu chuẩn hóa, tạo điều kiện cho các mô hình phân tích hoạt động chính xác. Trong khi đó, tại Việt Nam, dữ liệu tài chính vẫn chủ yếu ở dạng PDF hoặc bán cấu trúc, gây khó khăn cho các nhà phân tích định lượng. Chính vì vậy, việc hướng tới chuẩn hóa dữ liệu công khai (open financial data standard) là bước quan trọng để tăng mức độ hiệu quả của thị trường trong tương lai.

Kết luận, Run Test là một bài kiểm định nhỏ nhưng phản ánh rõ mối quan hệ giữa dữ liệu, hành vi và hiệu quả thị trường. Nó cho thấy, dù Việt Nam đã tiến bộ đáng kể về độ sâu thanh khoản và số lượng nhà đầu tư, thị trường vẫn chưa đạt đến mức ngẫu nhiên hoàn toàn. Và trong khi các thị trường phát triển đang dần “cạn” cơ hội alpha, thì ở Việt Nam, phi hiệu quả chính là mảnh đất màu mỡ của tư duy định lượng – miễn là ta hiểu và biết cách đọc dữ liệu.

Chia sẻ bài viết

Đánh giá

Hãy là người đầu tiên nhận xét bài viết này!

Đăng ký nhận tin

Nhập Email để nhận được bản tin mới nhất từ QM Capital.

Bài viết liên quan

Understanding Market Sentiment: Đọc vị thị trường để đưa ra quyết định giao dịch chính xác
21/04/2026
1,038 lượt đọc

Understanding Market Sentiment: Đọc vị thị trường để đưa ra quyết định giao dịch chính xác C

Trong giao dịch, rất nhiều người dành phần lớn thời gian để học cách đọc biểu đồ, học mô hình nến, học RSI, MACD, Bollinger Bands hay Fibonacci. Những thứ đó đều hữu ích. Nhưng sau một thời gian đủ dài, gần như ai cũng sẽ gặp cùng một vấn đề: biết tín hiệu nhưng vẫn vào sai lệnh, thấy mô hình đúng mà kết quả vẫn không như kỳ vọng. Lý do nằm ở chỗ thị trường không vận hành chỉ bằng kỹ thuật. Thị trường vận hành bằng kỳ vọng, định vị dòng tiền và cảm xúc tập thể. Nói cách khác, nếu chỉ đọc chart mà không đọc được tâm lý thị trường, chúng ta mới chỉ nhìn thấy “hình dạng” của giá, chứ chưa hiểu “động cơ” khiến giá vận động.

Vì sao trader thua không phải vì thiếu kiến thức, mà vì thiếu kỷ luật?
14/04/2026
459 lượt đọc

Vì sao trader thua không phải vì thiếu kiến thức, mà vì thiếu kỷ luật? C

Jesse Livermore là một trong những cái tên kinh điển nhất trong lịch sử trading. Điều khiến ông trở thành huyền thoại không chỉ nằm ở những thương vụ lớn, mà nằm ở cách ông quan sát thị trường và đúc kết ra các nguyên tắc giao dịch vượt thời gian. Dù thị trường ngày nay đã có thuật toán, dữ liệu lớn, phái sinh, margin, HFT và rất nhiều công cụ hiện đại, những bài học của Livermore vẫn còn nguyên giá trị, bởi bản chất sâu nhất của thị trường chưa từng thay đổi: con người vẫn bị chi phối bởi tham lam, sợ hãi, hy vọng và cái tôi.

Trading không phải là đoán đúng, mà là xây dựng lợi thế
14/04/2026
483 lượt đọc

Trading không phải là đoán đúng, mà là xây dựng lợi thế C

Đọc bài review của Steve Burns về cuốn The Man Who Solved the Market: Jim Simons, QM Capital thấy đây không chỉ là câu chuyện về một cá nhân xuất chúng, mà là một cách nhìn rất khác về thị trường tài chính. Jim Simons không bước vào thị trường với tư duy “hôm nay mua mã nào” hay “ngày mai thị trường tăng hay giảm”. Ông bước vào thị trường với niềm tin rằng: trong giá cả có những mẫu hình lặp lại, và nếu có đủ dữ liệu, đủ năng lực toán học, đủ công nghệ và đủ kỷ luật, con người có thể tìm ra lợi thế từ những mẫu hình đó.

Những mô hình nhiều nến đáng chú ý trong giao dịch chứng khoán và phái sinh Việt Nam - Phần 2
14/04/2026
510 lượt đọc

Những mô hình nhiều nến đáng chú ý trong giao dịch chứng khoán và phái sinh Việt Nam - Phần 2 C

Ở Phần 1, chúng ta đã nói về cách hình thành các mô hình giá phổ biến. Sang Phần 2, trọng tâm không còn là “mô hình đó trông như thế nào”, mà là mô hình nào có thể tạo tín hiệu tăng, mô hình nào cảnh báo tín hiệu giảm, và quan trọng hơn là trader nên đọc chúng ra sao trong thực chiến.

Cách hình thành các mô hình giá phổ biến trong phân tích kỹ thuật - Phần I
14/04/2026
675 lượt đọc

Cách hình thành các mô hình giá phổ biến trong phân tích kỹ thuật - Phần I C

Trong phân tích kỹ thuật, mô hình giá không chỉ là những đường kẻ trên biểu đồ. Mỗi mô hình thực chất là một “bản ghi” về tâm lý thị trường: bên mua đang mạnh lên hay yếu đi, bên bán đang phân phối hay mất kiểm soát, dòng tiền đang tích lũy hay rút ra. Khi nhìn một mô hình, điều quan trọng không phải là cố tìm cho giống hình mẫu trong sách, mà là hiểu được câu chuyện cung – cầu đang diễn ra phía sau.

Techniques for Trading Patterns: 4 Kỹ thuật quan trọng trong giao dịch chứng khoán và phái sinh Việt Nam
14/04/2026
498 lượt đọc

Techniques for Trading Patterns: 4 Kỹ thuật quan trọng trong giao dịch chứng khoán và phái sinh Việt Nam C

Trong giao dịch tài chính, đặc biệt là ở thị trường chứng khoán Việt Nam và phái sinh VN30, phần lớn trader thường bắt đầu bằng việc tìm kiếm tín hiệu vào lệnh. Họ học các mô hình giá, đường trung bình, RSI, MACD, Bollinger Bands, volume, nến Nhật và rất nhiều chỉ báo khác. Tuy nhiên, vấn đề không nằm ở việc thiếu tín hiệu. Vấn đề lớn hơn là trader không biết tín hiệu nào đáng tin, vào lệnh ở đâu, sai thì thoát ở đâu, và khi nào nên kiên nhẫn chờ giá điều chỉnh thay vì mua đuổi.

video-image

Truy Cập Miễn Phí Thư Viện Bot Tín Hiệu Giao Dịch Tự Động

Được nghiên cứu và phát triển bởi các chuyên gia từ QMTrade và cộng đồng nhà đầu tư chuyên nghiệp.

Truy cập ngay!