So sánh giải pháp Vnstock
Thông qua các so sánh dưới đây cho thấy Vnstock là gói phần mềm khả dĩ và hoàn thiện nhất để phổ cập sử dụng Python trong phân tích dữ liệu và tự động hoá các khâu trong việc ra quyết định đầu tư và giao dịch.
Phần mềm nguồn mở (miễn phí)
So sánh dưới đây cho thấy những khác biệt cơ bản và quan trọng nhất mà bạn cần quan tâm khi lựa chọn giải pháp dữ liệu mã nguồn mở cho dự án của mình. Theo thông tin cập nhật đến hiện tại, Vnstock là giải pháp dữ liệu nguồn mở cung cấp dữ liệu đa dạng, miễn phí được sử dụng rộng rãi tại Việt Nam. Các giải pháp từ thị trường quốc tế như yfinance, OpenBB không hỗ trợ dữ liệu cho thị trường Việt Nam nên không được đưa vào phạm vi so sánh.
# | Tiêu chí | Vnstock | Vnquant |
---|---|---|---|
1 | Dữ liệu giá | Tất cả các khung thời gian từ 1 phút đến 1 tháng. Có dữ liệu khớp lệnh hàng giây theo thời gian thực (tick data) | Dữ liệu cuối ngày |
2 | Cập nhật thời gian thực | 1. Sử dụng REST API truy cập dữ liệu thời gian thực từ bảng giá công ty chứng khoán. 2. Sử dụng thư viện kết nối API streaming dữ liệu thời gian thực hỗ trợ chính thức từ công ty chứng khoán. | Không hỗ trợ |
3 | Loại tài sản | Tất cả lớp tài sản đang giao dịch: Cổ phiếu, Hợp đồng tương lai, quỹ mở, chứng quyền, trái phiếu, chỉ số, ngoại hối, crypto, vv | Cổ phiếu, index |
4 | Thông tin công ty | Chi tiết 13 nhóm thông tin về công ty niêm yết. | - |
5 | Báo cáo tài chính | Cân đối kế toán, Báo cáo kinh doanh, Lưu chuyển tiền tệ, Chỉ số tài chính | Tương đương, |
6 | Sàn giao dịch | Tất cả sàn: HOSE, HXN, UPCOM | Tất cả sàn |
7 | Tài liệu hướng dẫn | Website, Youtube Videos, Nhóm thành viên, Nhóm lớp học, Nhắn tin riêng, vv | Github README |
8 | Ngôn ngữ | Tiếng Việt | Tiếng Anh |
9 | Chi phí | Miễn phí các nhu cầu phổ biến. Donate để truy cập plugin nâng cao. | Miễn phí |
10 | Hỗ trợ | Nhắn tin, Nhóm thành viên, Email, Github issue | Báo lỗi qua Github |
11 | Cập nhật mã nguồn | Cập nhật liên tục trong tuần, phát triển liên tục. | Ngừng phát triển thêm từ 2022 |
12 | Cài đặt | Cài đặt từ PyPI, đơn giản với câu lệnh pip install vnstock3 | Cài đặt từ mã nguồn, cần clone Github repo và cài đặt, phức tạp hơn vnstock |
13 | Nguồn dữ liệu | TCBS, VCI, MSN, SSI, và các nguồn khác. | VND, CafeF |
14 | Biểu diễn dữ liệu | Sử dụng thư viện vnstock_ezchart cùng hệ sinh thái | Vẽ đồ thị nến cơ bản. |
Giải thích thuật ngữ:
API
(Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với hệ thống máy chủ dịch vụ. Hầu hết API về dữ liệu chứng khoán sẽ trả về kiểu dữ liệu JSON. Thông qua việc sử dụng API, dữ liệu được cấp tự động cho ứng dụng phân tích, thống kê, giao dịch, vv của bạn một cách hoàn toàn tự động thay cho việc tải về thủ công qua Excel, CSV hay file zip như các trang cung cấp dữ liệu miễn phí hiện nay đang áp dụng.- API chính thức: là hình thức API được chia sẻ trực tiếp bởi công ty chứng khoán/dịch vụ dữ liệu tới người dùng của họ thông qua việc đăng ký tài khoản sử dụng và được giám sát theo định danh người dùng. Bạn có thể sử dụng miễn phí hoặc phải trả phí theo gói. Hiện tại hình thức API này chỉ được một số ít đơn vị cung cấp và không được đầu tư phát triển mạnh nhưng sẽ được cải thiện khi hình thức giao dịch thuật toán dần phổ biến tới cộng đồng tại Việt Nam.
- API không được công bố: đây cũng là các API chính thống từ công ty chứng khoán/dịch vụ dữ liệu được sử dụng cho việc cấp dữ liệu hiển thị cho website, ứng dụng của họ. Dữ liệu được hiển thị công khai, không cần tài khoản đăng nhập, do đó bạn có thể truy cập tới các API riêng lẻ như khi đang truy cập 1 website thông thường, tuy nhiên dữ liệu trả về chỉ là 1 loại dữ liệu cố định, dưới định dạng JSON hay text cần phải qua xử lý mới có thể sử dụng. Phần lớn dữ liệu truy xuất qua Vnstock thông qua việc truy cập tới các API dạng này.
API chính thức từ công ty chứng khoán (miễn phí)
# | Tiêu chí | Vnstock | SSI | DNSE |
---|---|---|---|---|
1 | Xác thực người dùng | KHÔNG cần xác thực người dùng, sử dụng API công khai như việc bạn xem bằng trình duyệt web. | Bạn cần mở tài khoản giao dịch mới sử dụng được. Đăng ký tại quầy, kích hoạt lại dịch vụ mỗi 3 tháng. Truy cập tài nguyên bằng token key tạo từ iBoard. | Bạn cần mở tài khoản giao dịch mới sử dụng được. Đăng ký tại quầy 1 lần. Truy cập tài nguyên API bằng ID và mật khẩu tài khoản. |
2 | Sản phẩm hoàn thiện | Thư viện Python hoàn chỉnh chú trọng vào trải nghiệm người dùng thân thiện | Thư viện Python + mẫu code minh hoạ cơ bản | HTTPS API + Mẫu code python cơ bản |
3 | Tài liệu hướng dẫn | Website, Youtube Videos, Nhóm thành viên, Nhóm lớp học, Nhắn tin riêng, vv | Thông qua môi giới | Nhóm hỗ trợ Python qua zalo |
4 | Loại API | REST API | REST API, Web socket (wss) | REST API, Web socket (wss) |
5 | Tốc độ | Nhanh. Dữ liệu sử dụng API công khai giống với giao diện khách hàng truy ập qua website. | Nhanh nhất với dữ liệu streaming từ API trong giờ giao dịch. Chậm hơn so với API công khai truy cập trên bảng giá đối với các dữ liệu lịch sử. | Nhanh, chỉ hỗ trợ dữ liệu giá (OHLC cho nến, tick data). |
6 | Chi phí | Miễn phí | Miễn phí | Miễn phí |
Giải thích thuật ngữ:
REST
(REpresentational State Transfer) là một kiểu kiến trúc để tạo nên API. Nó sử dụng phương thức HTTP đơn giản (như truy cập link qua trình duyệt web) để trao đổi dữ liệu giữa máy chủ và ứng dụng/người dùng. Thay vì chỉ sử dụng URL để truy cập trang đích như duyệt web thông thường, REST gửi một trong các loại yêu cầu như GET, POST, DELETE, vv đến một URL được chỉ định. Vnstock sử dụng thư việnrequests
trong Python để xử lý các yêu cầu tới REST API.Web socket (wss)
: được biết đến rộng rãi như một giao thức phổ biến trong các ứng dụng thời gian thực, nhằm trao đổi thông tin trực tuyến hai chiều và liên tục giữa máy chủ dịch vụ và máy trạm (người dùng). Các công ty chứng khoán sử dụng web socket để cập nhật các thông tin bảng giá, lệnh và các dữ liệu yêu cầu hiển thị theo thời gian thực ngay trên website. Ngoài ra để phục vụ nhà đầu tư, một số đơn vị cung cấp API sử dụng giao thức web socket để streaming (truyền) thông tin mua bán, giá, vv và đặt lệnh thông qua lập trình.
Giải pháp trả phí
Nếu người dùng chấp nhận trả phí cho dịch vụ dữ liệu, bạn có một số lựa chọn quen thuộc như Fiingroup, Wigroup, Fireant, Fialda, vv cho dịch vụ truy cập trên web hoặc plugin cho Amibroker. Dịch vụ API trả phí hiện chưa được chú trọng và hướng đến đối tượng khách hàng cá nhân, do đó kể cả bạn chấp nhận trả phí cũng không có sẵn gói phần mềm bằng ngôn ngữ Python để sử dụng (theo các thông tin công bố công khai có thể tiếp cận được đến hiện tại).