Trang chủBlogKinh nghiệm TradingCách biến bài tập backtest thành dự án có giá trị trong CV
Cách biến bài tập backtest thành dự án có giá trị trong CV
Kinh nghiệm Trading

Cách biến bài tập backtest thành dự án có giá trị trong CV

Backtest

Ngọc Hải LươngNgọc Hải Lương
21/8/2026
10 phút phút đọc
25 lượt xem

Phần 1: Backtest không phải để chứng minh một chiến lược luôn đúng, mà để xây dựng niềm tin vào một giả thuyết đầu tư

Trong lĩnh vực Quant Finance, backtest là một trong những công cụ quan trọng nhất để chuyển một ý tưởng đầu tư từ dạng giả thuyết thành một mô hình có thể kiểm chứng bằng dữ liệu. Tuy nhiên, cách nhìn nhận về backtest trong môi trường chuyên nghiệp khác rất nhiều so với cách tiếp cận phổ biến của các dự án cá nhân. Một bài tập thông thường thường bắt đầu bằng việc lấy dữ liệu giá, xây dựng một vài chỉ báo kỹ thuật, chạy mô phỏng giao dịch và đưa ra kết quả lợi nhuận. Ngược lại, tại các quỹ đầu tư, backtest là một phần của quy trình nghiên cứu nhằm trả lời câu hỏi liệu một lợi thế đầu tư có thực sự tồn tại hay chỉ là một kết quả ngẫu nhiên được tạo ra bởi dữ liệu quá khứ.

ad4fc797-5d6d-459e-bbcb-df9391a5927b.png

Đây cũng là lý do nhiều dự án backtest trong CV chưa tạo ra nhiều giá trị. Một chiến lược đạt lợi nhuận 40% mỗi năm trong dữ liệu lịch sử chưa chắc đã có ý nghĩa nếu người xây dựng không giải thích được nguồn gốc của lợi nhuận. Trong đầu tư định lượng, vấn đề không phải là tạo ra một đường cong tài khoản tăng trưởng đẹp, mà là hiểu tại sao chiến lược tạo ra lợi nhuận, điều kiện nào giúp chiến lược hoạt động và yếu tố nào có thể khiến chiến lược thất bại khi thị trường thay đổi.

Một ví dụ điển hình là chiến lược Momentum. Nhà nghiên cứu có thể quan sát rằng những cổ phiếu có hiệu suất tốt trong 6 tháng trước thường tiếp tục vượt trội trong giai đoạn tiếp theo. Đây là một hiện tượng đã được nghiên cứu rộng rãi trong tài chính hành vi và Quant Investing. Tuy nhiên, một quỹ đầu tư không thể chỉ dựa vào quan sát này để giải ngân vốn. Họ cần kiểm tra liệu hiệu ứng Momentum có tồn tại trong nhiều chu kỳ thị trường khác nhau, liệu kết quả có phụ thuộc vào một vài cổ phiếu đặc biệt hay không, liệu lợi nhuận có còn tồn tại sau khi tính chi phí giao dịch và liệu chiến lược có phù hợp với quy mô vốn thực tế.

Một dự án Quant có giá trị trong CV vì vậy cần thể hiện tư duy nghiên cứu thay vì chỉ thể hiện khả năng lập trình. Quy trình nên mô phỏng cách một nhóm đầu tư định lượng hoạt động:

Ý tưởng đầu tư → Thu thập dữ liệu → Xây dựng biến số → Tạo tín hiệu → Xây dựng danh mục → Backtest → Kiểm định rủi ro → Báo cáo nghiên cứu

Ví dụ, thay vì ghi trong CV:

"Built a Python trading strategy generating 30% annual return."

Một cách thể hiện tốt hơn:

"Developed a quantitative investment research framework for Vietnamese equities, including factor construction, portfolio simulation, transaction cost modeling and risk-adjusted performance evaluation."

Sự khác biệt nằm ở việc dự án thứ hai thể hiện khả năng xây dựng một quy trình đầu tư hoàn chỉnh. Đây chính là điều các quỹ, công ty chứng khoán và bộ phận Quant Research quan tâm.

Trong thực tế, một nhóm Quant không chỉ cần người viết code. Họ cần người có thể hiểu thị trường, đặt câu hỏi nghiên cứu, lựa chọn dữ liệu phù hợp, đánh giá sai lệch mô hình và trình bày kết quả cho những người ra quyết định đầu tư. Một dự án backtest tốt chính là cách ứng viên chứng minh rằng mình hiểu cách dữ liệu được chuyển hóa thành quyết định tài chính.

Phần 2: Một dự án backtest thực tế cần mô phỏng các lớp vận hành của một hệ thống đầu tư định lượng

Một sai lầm phổ biến của các dự án cá nhân là tập trung quá nhiều vào phần công thức tạo tín hiệu nhưng bỏ qua những vấn đề quan trọng hơn trong thực tế như dữ liệu, quản trị danh mục và kiểm soát rủi ro. Trong một quỹ đầu tư, một chiến lược không tồn tại dưới dạng một file Python đơn lẻ. Nó là một hệ thống gồm nhiều lớp liên kết với nhau, trong đó mỗi lớp giải quyết một vấn đề cụ thể.

Kiến trúc đơn giản của một hệ thống Quant Research có thể mô tả:

Market Data → Data Processing → Factor Engineering → Signal Model → Portfolio Construction → Backtesting Engine → Risk Analytics → Research Report

Phần đầu tiên và quan trọng nhất là dữ liệu. Trong Quant Finance có một nguyên tắc rất phổ biến: mô hình tốt nhưng dữ liệu sai sẽ tạo ra kết quả sai. Một thuật toán Machine Learning phức tạp cũng không thể tạo ra giá trị nếu dữ liệu đầu vào chứa sai lệch.

Ví dụ, khi xây dựng mô hình nghiên cứu cổ phiếu Việt Nam, nhà nghiên cứu cần xử lý các vấn đề như giá điều chỉnh sau chia cổ tức, cổ phiếu bị hủy niêm yết, thay đổi mã chứng khoán, thanh khoản thấp hoặc thời điểm công bố thông tin tài chính.

Một lỗi phổ biến trong các bài backtest cá nhân là sử dụng thông tin tương lai để đánh giá quá khứ. Ví dụ, lấy báo cáo tài chính quý II/2025 để mô hình hóa quyết định đầu tư tại tháng 5/2025. Trong thực tế, nhà đầu tư tại thời điểm đó chưa biết thông tin này, vì vậy kết quả backtest sẽ bị thổi phồng.

Một pipeline dữ liệu đơn giản có thể xây dựng bằng Python:

data → clean → transform → feature engineering → model input

Ví dụ:

price_return = price.pct_change(126)

là phép tính lợi nhuận 6 tháng của cổ phiếu. Tuy nhiên, giá trị không nằm ở dòng code này mà nằm ở việc nhà nghiên cứu hiểu tại sao sử dụng 126 phiên, dữ liệu có được điều chỉnh đúng không, tín hiệu này có ý nghĩa kinh tế hay chỉ là một tương quan ngẫu nhiên.

Sau dữ liệu là bước xây dựng Factor Model. Đây là cách nhiều quỹ Systematic Investing hiện nay tiếp cận thị trường. Thay vì dựa vào một chỉ báo duy nhất, họ kết hợp nhiều yếu tố để đánh giá một tài sản.

Ví dụ:

Investment Score = 40% Momentum + 30% Value + 30% Quality

Trong đó:

Momentum đo sức mạnh xu hướng giá.

Value đo mức độ hấp dẫn về định giá.

Quality đo chất lượng hoạt động kinh doanh.

Ví dụ trong Python:

score = 0.4 momentum + 0.3 value + 0.3 * quality

Một mô hình như vậy gần với cách các quỹ xây dựng chiến lược Multi-Factor Equity. Mục tiêu không phải tìm ra một biến số dự báo hoàn hảo, mà tạo ra một hệ thống đánh giá tổng hợp nhiều khía cạnh của doanh nghiệp.

Sau khi có tín hiệu, bước tiếp theo là Portfolio Construction. Đây là phần biến một mô hình dự báo thành một quyết định đầu tư thực tế.

Một nhà nghiên cứu không chỉ hỏi:

"Cổ phiếu nào nên mua?"

mà còn phải hỏi:

"Nên phân bổ bao nhiêu vốn?"

Ví dụ, mô hình chọn ra 20 cổ phiếu tốt nhất. Một cách đơn giản là Equal Weight:

weight = 1 / số lượng cổ phiếu

Tuy nhiên, trong thực tế các quỹ thường quan tâm nhiều hơn đến rủi ro. Một cổ phiếu có biến động cao không nên chiếm tỷ trọng quá lớn chỉ vì có tín hiệu tốt.

Một phương pháp đơn giản:

weight = 1 / volatility

Sau đó chuẩn hóa lại tổng tỷ trọng danh mục.

Điều này phản ánh tư duy quan trọng trong Asset Management: mục tiêu không phải tối đa hóa lợi nhuận tuyệt đối mà tối ưu hóa lợi nhuận trên mỗi đơn vị rủi ro.

Một dự án backtest trong CV nếu có thêm phần Portfolio Construction sẽ thể hiện rằng ứng viên hiểu sự khác biệt giữa một mô hình dự báo và một hệ thống quản lý vốn.

Phần 3: Giá trị lớn nhất của dự án backtest là chứng minh khả năng nghiên cứu, phản biện dữ liệu và xây dựng hệ thống đầu tư

Trong ngành tài chính định lượng, không có mô hình nào luôn đúng. Ngay cả các quỹ Quant hàng đầu thế giới cũng phải liên tục kiểm tra, điều chỉnh và đánh giá lại các chiến lược của mình. Vì vậy, một dự án backtest tốt không phải là dự án tìm ra lợi nhuận cao nhất, mà là dự án thể hiện khả năng hiểu rõ giới hạn của mô hình.

Một sai lầm phổ biến là chỉ trình bày kết quả:

CAGR: 35%

Return: 250%

Win Rate: 60%

Nhưng một nhà đầu tư chuyên nghiệp sẽ quan tâm nhiều hơn:

Mức giảm tối đa là bao nhiêu?

Lợi nhuận có ổn định qua nhiều giai đoạn không?

Chiến lược có phụ thuộc vào một vài cổ phiếu không?

Chi phí giao dịch có làm mất lợi thế không?

Một hệ thống phân tích hiệu quả có thể tính:

Annual Return

Volatility

Sharpe Ratio

Maximum Drawdown

Turnover

Information Ratio

Ví dụ:

return = equity_curve.iloc[-1] ** (252 / len(equity_curve)) - 1

volatility = daily_return.std() * sqrt(252)

sharpe = return / volatility

Những chỉ số này giúp đánh giá không chỉ việc chiến lược kiếm được bao nhiêu tiền mà còn kiếm tiền bằng mức độ rủi ro nào.

Một bước quan trọng để nâng cấp dự án là Robustness Testing. Đây là quá trình kiểm tra liệu kết quả có bền vững hay chỉ là sản phẩm của việc tối ưu hóa quá mức.

Ví dụ:

Một chiến lược Momentum có thể được kiểm tra với:

Momentum 3 tháng.

Momentum 6 tháng.

Momentum 12 tháng.

Nếu kết quả vẫn duy trì tương đối ổn định, chiến lược có cơ sở đáng tin hơn. Ngược lại, nếu chỉ một tham số duy nhất tạo ra lợi nhuận vượt trội, mô hình có khả năng đang bị overfitting.

Một dự án mạnh hơn nữa có thể phát triển thành một hệ thống Quant Platform nhỏ:

Market Data API → Database → Research Engine → Backtest Engine → Dashboard → Investment Report

Ví dụ, dashboard có thể hiển thị:

Hiệu suất danh mục.

So sánh với VN-Index.

Phân bổ ngành.

Factor Exposure.

Rủi ro hiện tại.

Khi đó, dự án không còn là một bài tập học thuật mà trở thành một sản phẩm có tính ứng dụng. Nó thể hiện khả năng kết hợp giữa tài chính định lượng, lập trình và tư duy xây dựng hệ thống.

Trong CV, thay vì mô tả:

"Created a stock trading bot using Python."

Có thể mô tả:

"Built an end-to-end quantitative research platform for Vietnamese equities, integrating market data processing, factor modeling, portfolio construction, backtesting and risk analytics."

Cách mô tả này phản ánh đúng bản chất công việc trong ngành. Một quỹ đầu tư không cần một người chỉ biết tạo ra tín hiệu mua bán. Họ cần người hiểu toàn bộ chuỗi từ dữ liệu đến quyết định.

Giá trị thực tế của một dự án backtest không nằm ở việc chứng minh rằng thị trường có thể bị đánh bại bằng vài dòng code. Thị trường tài chính luôn tồn tại sự bất định và mọi mô hình đều có giới hạn. Giá trị lớn nhất nằm ở việc chứng minh người thực hiện có khả năng xây dựng một quy trình nghiên cứu: đặt câu hỏi đúng, sử dụng dữ liệu đúng, kiểm định giả thuyết, quản trị rủi ro và chuyển hóa kết quả phân tích thành một quyết định đầu tư có cơ sở.