Vnstock Logo

Vnstock Quant: Từ lý thuyết tài chính đến thực hành định lượng

Vnstock Quant: Từ lý thuyết tài chính đến thực hành định lượng

Khi tìm hiểu đầu tư, có thể bạn đã bắt đầu từ cách đọc báo cáo tài chính, ý nghĩa của các chỉ số như P/E, ROE hay cách theo dõi giá và khối lượng trên biểu đồ. Từ những kiến thức ban đầu ấy đến các phương pháp chuyên sâu hơn trong giáo trình tài chính hoặc chương trình CFA, một câu hỏi vẫn theo suốt quá trình học: làm sao tự áp dụng điều đã học để hiểu một doanh nghiệp, một danh mục cụ thể?

Trên trang giấy, đề bài thường cho sẵn các dữ kiện cần thiết. Khi thực hành, bạn cần tự xác định khoản mục, kiểm tra đơn vị, chọn kỳ tính và hiểu những giả định đứng sau công thức. Khoảng cách từ biết một phương pháp đến dùng được phương pháp ấy mỗi ngày nằm ở những công việc cụ thể như vậy.

Đó cũng là điều mình muốn dành công sức cho khi xây dựng Vnstock Quant (vnstock_quant) trong Vnstock thế hệ 5: giúp người làm nghiên cứu đưa kiến thức tài chính vào một quy trình tính toán trên máy của mình, có thể chạy lại, đối chiếu và điều chỉnh.

Điều mình mong là khi có một câu hỏi đáng tìm hiểu, bạn có thể dành nhiều thời gian hơn để theo đuổi nó. Một công cụ có ích cần giúp việc học tiếp nối được bằng thực hành, và việc thực hành gợi mở những câu hỏi sâu hơn.

1. Từ hiểu công thức đến có một quy trình nghiên cứu

Cùng một chỉ số ROE, người phân tích cần xác định rõ đang dùng vốn chủ sở hữu cuối kỳ hay bình quân, lợi nhuận của một năm hay luỹ kế bốn quý gần nhất. Báo cáo của doanh nghiệp phi tài chính, ngân hàng, công ty chứng khoán và bảo hiểm cũng có những khoản mục và cách trình bày riêng.

Bảng tính là một cách gần gũi để học và kiểm tra từng phép tính. Khi muốn lặp lại phân tích qua nhiều kỳ hoặc nhiều doanh nghiệp, nhu cầu sẽ mở rộng: làm sao giữ được cùng quy ước, cập nhật đầu vào và lần lại cách tạo ra kết quả?

Hệ sinh thái Python có nhiều công cụ phục vụ từng phần của công việc ấy. Với Vnstock Quant, mình chọn tập trung vào nhu cầu kết nối các bước phân tích trong bối cảnh Việt Nam:

  • Đầu vào có cấu trúc rõ ràng: xác định khoản mục, đơn vị và kỳ báo cáo trước khi tính.
  • Phương pháp có thể tra cứu: biết một chỉ số sử dụng công thức và quy ước nào.
  • Quy trình có thể chạy lại: lưu được dữ liệu đầu vào, tham số và phiên bản phần mềm để đối chiếu ở lần nghiên cứu sau.

Đó là những công việc ít nổi bật khi nhìn vào một biểu đồ hoàn chỉnh, nhưng cần được làm cẩn thận để người phân tích hiểu và sử dụng kết quả.

2. Xây nền từ dữ liệu đầu vào và phương pháp tính

Vnstock Quant sử dụng lõi tính toán bằng Rust với giao diện Python, mở rộng từ vnstock_ta sang năm nhóm chức năng: chỉ báo kỹ thuật (ta), chỉ số tài chính (fa), đo lường rủi ro (risk), quản lý danh mục (portfolio) và mô hình định giá (valuation) và còn được mở rộng thêm các tính năng trong thời gian tới.

Các phép tính chạy trên máy người dùng, với dữ liệu do bạn đưa vào. Bạn có thể dùng những bảng dữ liệu mình đã chuẩn bị hoặc kết nối với các bước xử lý khác trong quy trình cá nhân. Trọng tâm của Vnstock Quant là phần tính toán và cách diễn giải kết quả.

Chuỗi thời gian: thống nhất cấu trúc để thuận tiện tính lại

Với dữ liệu giá và khối lượng, việc thống nhất các cột open, high, low, close, volume tạo cơ sở để áp dụng các hàm trong mô-đun vnstock_quant.ta.

Bạn vẫn cần kiểm tra thứ tự thời gian, giá trị khuyết và cách điều chỉnh giá của đầu vào (tham khảo cách chuẩn hoá dữ liệu chuỗi thời gian). Khi các bước chuẩn bị ấy được ghi lại thành mã, lần cập nhật tiếp theo có thể sử dụng lại quy trình và đối chiếu những thay đổi trong kết quả.

Báo cáo tài chính: giữ rõ ý nghĩa của từng khoản mục

Với phân tích cơ bản, Vnstock Quant sử dụng khung chỉ tiêu báo cáo tài chính chuẩn hoá theo VAS cho các loại hình doanh nghiệp được hỗ trợ (xem thêm phương pháp chuẩn hoá báo cáo tài chính theo taxonomy). Mỗi khoản mục được ánh xạ về mã định danh, chẳng hạn IS_NET_REVENUE hay BS_EQUITY, để các hàm tính toán tham chiếu nhất quán.

Từ nền đầu vào đó, mô-đun vnstock_quant.fa hỗ trợ tính chỉ số tài chính, dòng tiền FCFF/FCFE, phân rã DuPont và các mô hình điểm số. Bạn có thể lựa chọn giữa các hồ sơ phương pháp profile="vn" và profile="cfa" để sử dụng quy ước phù hợp với bài toán đang nghiên cứu.

Bảng kết quả từ fa.ratios() còn kèm từ điển giải thích chỉ số trong df.attrs["dictionary"]. Chi tiết này phục vụ một nhu cầu rất thực tế: khi quay lại bảng số sau một thời gian, bạn vẫn có chỗ tra cứu ý nghĩa, công thức và đơn vị của từng chỉ tiêu.

Một khung định danh nhất quán giúp giảm việc ghép nối lặp lại. Chất lượng phân tích vẫn phụ thuộc vào việc ánh xạ đúng khoản mục, kiểm tra báo cáo gốc và hiểu giới hạn của mô hình đang dùng.

3. Làm việc cùng AI với phương pháp có thể đối chiếu

Trợ lý AI có thể giúp viết mã, giải thích tham số và gợi ý cách tổ chức một bài phân tích. Để dùng sự hỗ trợ ấy có hiệu quả, người nghiên cứu cần giữ rõ phương pháp: tính chỉ số nào, trên dữ liệu nào, theo kỳ nào và với giả định gì.

Chẳng hạn, yêu cầu “tính ROE” cần được làm rõ thêm về loại lợi nhuận, cách lấy vốn chủ sở hữu bình quân và kỳ báo cáo. Những lựa chọn ấy ảnh hưởng đến ý nghĩa của kết quả, dù đoạn mã do bạn tự viết hay có AI hỗ trợ.

Vnstock Quant tạo một điểm tham chiếu chung cho quá trình làm việc đó:

  • Bạn và trợ lý AI có thể sử dụng các hàm đã được mô tả trong tài liệu, rồi ghi lại tham số đã chọn.
  • Các hàm tra cứu như fa.describe() và ta.catalog() giúp tìm hiểu định nghĩa và phạm vi tính toán.
  • Khi có kết quả cần kiểm tra, bạn có thể đối chiếu lại đầu vào, công thức và quy ước đã dùng.

Muốn so sánh hai lần chạy, bạn vẫn cần giữ cùng dữ liệu, tham số và phiên bản phần mềm, đồng thời lưu ý sai số số học. AI hỗ trợ thao tác; việc đọc hiểu và đánh giá kết quả vẫn thuộc về người nghiên cứu.

Mình kỳ vọng cách làm này giúp một cuộc trao đổi với AI đi xa hơn việc nhận về một bảng số: bạn có thể kết hợp cùng Vnstock MCP để tổ chức không gian nghiên cứu cục bộ, thử một giả định khác và lưu lại cách mình đã kiểm tra.

4. Hoàn thiện công cụ từ những bài toán thực tế

Một công thức trong tài liệu có thể được trình bày gọn trong vài dòng. Khi đưa vào thực hành, người dùng sẽ gặp báo cáo thay đổi cách trình bày, dữ liệu thiếu kỳ hoặc một trường hợp cần đọc kỹ thuyết minh để hiểu đúng.

Đó là nơi phản hồi từ cộng đồng có giá trị. Một ví dụ tái hiện được, một câu hỏi về cách chọn mẫu số hay một góp ý cho phần giải thích đều có thể giúp nhận ra điều cần sửa trong công cụ và tài liệu.

Mình mong Vnstock là nơi những người thích tự xây công cụ có thể chia sẻ cách làm và học từ câu hỏi của nhau. Bạn có thể bắt đầu bằng một phép tính nhỏ, kiểm tra thật kỹ rồi chia sẻ điều đã học được. Sự đóng góp ấy có ích ngay cả khi bạn chưa có nhiều kinh nghiệm lập trình.

Những phản hồi có ngữ cảnh, cùng sự đồng hành của người dùng gói quyền sử dụng, giúp dự án tiếp tục phát triển. Mỗi cải tiến được kiểm tra và đưa vào một bản phát hành có thể giúp người đến sau bớt một bước dò tìm, hiểu rõ hơn một công thức hoặc tránh lặp lại một lỗi đã biết.

5. Tác động bắt đầu từ việc tự mình kiểm chứng

Điều mình muốn theo đuổi với Vnstock Quant là làm cho kiến thức tài chính trở nên gần với công việc hằng ngày hơn:

  • Người đang học có thể dùng một bộ dữ liệu thực tế để hiểu một công thức, rồi đối chiếu với phần đã học.
  • Người tự nghiên cứu có thể lưu cách tính thành quy trình, cập nhật đầu vào và dành thêm thời gian đọc kết quả.
  • Những người trao đổi cùng nhau có thể nói rõ giả định, kiểm tra nguyên nhân chênh lệch và học từ cách tiếp cận của nhau.

Đây là tác động mà mình hy vọng công cụ có thể góp phần tạo ra. Nó bắt đầu từ những việc nhỏ: một khoản mục được hiểu đúng, một phép tính có thể chạy lại, một câu hỏi có thêm bằng chứng để trả lời.

Tin vì hiểu cách con số được tạo ra là nguyên tắc mình muốn giữ xuyên suốt. Công cụ cần giúp bạn nhìn rõ hơn dữ liệu và phương pháp; kết luận vẫn cần sự cân nhắc của chính bạn.

Bắt đầu từ một câu hỏi bạn muốn hiểu rõ

Bạn có thể chọn một bài toán vừa sức: tính lại ROE qua các kỳ, phân rã DuPont hoặc tìm hiểu mức biến động của một danh mục. Ghi ra giả định trước, chạy phép tính, rồi đối chiếu một phần kết quả bằng cách tính độc lập.

Các tài liệu để bắt đầu:

  1. Giới thiệu Vnstock Quant: tổng quan chức năng, phạm vi bản Cộng đồng miễn phí cho cá nhân, học tập và nghiên cứu, cùng quyền sử dụng theo từng cấp của gói quyền sử dụng.
  2. Báo cáo kiểm định chất lượng và hiệu năng: phương pháp đối chiếu, môi trường và phạm vi đo kiểm được công bố.
  3. Chuyển đổi từ vnstock_ta sang vnstock_quant: hướng dẫn dành cho người đang dùng thư viện cũ.

Kết quả đo kiểm chỉ phản ánh các trường hợp và môi trường được mô tả. Vnstock Quant là công cụ tính toán phục vụ nghiên cứu, không bảo đảm kết quả đầu tư hay thay thế việc đánh giá tính phù hợp của một mô hình.

Nếu gặp điều cần làm rõ, bạn có thể gửi câu hỏi hoặc ví dụ tái hiện lỗi qua kho thư viện tương ứng tại GitHub Vnstock. Một câu hỏi cụ thể từ việc bạn đang làm có thể trở thành điểm khởi đầu cho lần cải tiến tiếp theo.


Vnstock là hệ sinh thái tự động hoá cá nhân trong nghiên cứu đầu tư, gồm công cụ Python chạy trên máy người dùng, tài liệu cho trợ lý AI và cộng đồng. Vnstock Quant được cấp quyền sử dụng phần mềm để tính toán trên dữ liệu bạn đưa vào. Khi truy xuất dữ liệu bên thứ ba qua thư viện vnstock, việc sử dụng dữ liệu tuân theo điều kiện của từng nguồn. Nội dung phục vụ học tập, nghiên cứu và tham khảo, không phải khuyến nghị đầu tư.

Bài liên quan