Thinh Vu Blog

vnstock – Tải dữ liệu chứng khoán với Python qua API

vnstock – Tải dữ liệu chứng khoán với Python qua API

vnstock là thư viện Python mã nguồn mở, cho phép tải dữ liệu chứng khoán Việt Nam nhanh chóng và dễ dàng từ các API công khai của các công ty chứng khoán uy tín như TCBS. Với cú pháp đơn giản, vnstock là công cụ lý tưởng cho các nhà đầu tư, nhà phân tích dữ liệu, và lập trình viên muốn tự động hóa việc thu thập dữ liệu chứng khoán.

Thư viện được lấy cảm hứng từ investingpy (dựa trên dữ liệu từ investing.com) và ra mắt phiên bản đầu tiên vào ngày 27/02/2022.

1. Giới thiệu về vnstock

1.1. Lý do ra đời

Tôi bắt đầu dự án vnstock với mong muốn kết hợp đam mê [phân tích dữ liệu bằng Python](phân tích dữ liệu với Python và ứng dụng thực tế trong đầu tư chứng khoán. Khi tìm kiếm các nguồn dữ liệu chứng khoán như “API chứng khoán Việt Nam” hay “tải dữ liệu chứng khoán miễn phí”, tôi nhận thấy các lựa chọn phổ biến như CafeF, Vietstock, hay Cophieu68 chủ yếu cung cấp dữ liệu qua website hoặc file Excel nhưng không có dịch vụ nào cung cấp API dữ liệu một cách tiện lợi và phù hợp cho mục đích nghiên cứu. Một số dịch vụ API trả phí đòi hỏi thủ tục đăng ký trực tiếp tại quầy phức tạp, không phù hợp cho mục đích nghiên cứu cá nhân nhất là trong bối cảnh dịch Covid vẫn đang bùng phát cùng các giới hạn đi lại nghiêm ngặt.

Để tự động hóa quy trình phân tích, tôi muốn một giải pháp đơn giản, hiệu quả, tích hợp với các công cụ như Google Colab, Google Sheets, và Python. Từ đó, vnstock ra đời với triết lý: “Đơn giản, dùng tốt, và có tính lâu dài”. Mã nguồn thư viện được công khai trên Github vnstock, và tôi khuyến khích cộng đồng cùng đóng góp để cải thiện dự án.

vnstock - Tải dữ liệu chứng khoán với python
Tải dữ liệu chứng khoán Việt Nam miễn phí với Python

1.2. Lợi ích của vnstock

  • Miễn phí: Sử dụng API công khai từ các công ty chứng khoán.
  • Dễ sử dụng: Cú pháp đơn giản, phù hợp cho cả người mới bắt đầu.
  • Nhanh chóng: Tải toàn bộ lịch sử giá cổ phiếu chỉ trong 1-2 giây.
  • Linh hoạt: Tích hợp dễ dàng với Pandas, Google Colab, và các môi trường Python khác.
  • Mã nguồn mở: Cộng đồng có thể đóng góp và cải tiến.

2. Nguồn dữ liệu chứng khoán từ TCBS và các công ty khác

2.1. TCBS

TCBS là một trong những công ty chứng khoán cung cấp dữ liệu phân tích chi tiết, trực quan, và dễ tiếp cận nhất. API của TCBS cung cấp nhiều dạng dữ liệu phân tích khác nhau, thông qua các API này có thể sử dụng Python để tải dữ liệu lịch sử giá cổ phiếu và dữ liệu phân tích cơ bản nhanh chóng, chỉ mất vài giây để lấy toàn bộ dữ liệu trong 10 năm. So với cách truyền thống như trích xuất HTML hoặc sử dụng Selenium, vnstock tận dụng API để tăng tốc độ và độ chính xác cao hơn.

2.2. API công khai từ SSI và VCI

Trước đây, vnstock hỗ trợ dữ liệu từ SSI, sử dụng nguồn dữ liệu được cung cấp bởi FiinTrade, với nhiều thông tin độc đáo. Tuy nhiên, truy cập dữ liệu SSI bị hạn chế sau khi công ty áp dụng các biện pháp bảo mật mạnh mẽ như Cloudflare để ngăn chặn sử dụng API trên website cho mục đích tải dữ liệu không qua nguồn cấp chính thức. Hiện tại, vnstock chủ yếu sử dụng dữ liệu từ TCBS và một số công ty chứng khoán lớn trong top 10.

3. Sử dụng thư viện Python Vnstock tải dữ liệu chứng khoán

Trong phạm vi bài viết này, tôi cung cấp minh hoạ các hàm và cách tải dữ liệu chứng khoán để lưu file vào Google Drive dưới hình thức đơn giản nhất để các bạn hình dung cách thức hoạt động của thư viện vnstock. Bạn có thể xem hướng dẫn sử dụng thư viện một cách đầy đủ tại Hướng dẫn nhanh có trên website dự án Vnstock hoặc trang README của Vnstock trên Github.

Bạn có thể sử dụng Google Colab là môi trường chạy Python để thử nghiệm thư viện vnstock và tải dữ liệu chứng khoán mà không cần thông qua các bước cài đặt phức tạp. Bạn hãy tạo bản copy của file notebook này và thử nghiệm thêm những hàm thú vị khác nhé.

4. Trang thông tin chính thức

Hiện tại, vnstock có mặt chính thức trên các trang/nền tảng sau. Bạn có thể theo dõi và kết nối để cập nhật những thông tin mới nhất:

5. Báo lỗi & phản hồi

Trong quá trình sử dụng vnstock, nếu gặp lỗi, các bạn có thể gửi báo lỗi tại mục Issues của thư viện Vnstock trên Github hoặc tham gia Cộng đồng Vnstock trên Facebook để được hỗ trợ. Để tôi có thể dễ dàng sửa lỗi nhanh chóng, bạn vui lòng gửi kèm ảnh chụp màn hình thể hiện câu lệnh bạn thực hiện và lỗi xuất hiện.

6. Ủng hộ tác giả

Nếu thấy vnstock hữu ích, bạn có thể ủng hộ kinh phí để tôi có nguồn lực tiếp tục phát triển dự án phục vụ cộng đồng. Bạn có thể quét QR gửi tặng tôi 1 ly cafe thông qua tài khoản ngân hàng hoặc sử dụng thẻ Visa để tài trợ dự án thông qua Github. Cám ơn bạn đã ghé thăm.

7. Minh họa tính năng thư viện vnstock

Để truy cập nhanh và trải nghiệm các tính năng mạnh mẽ của vnstock thông qua file minh hoạ, bạn truy cập website chính thức của dự án tại đây.

Hướng dẫn nhanh

Bình luận

Đang tải bình luận...