Nhảy tới nội dung

Workflow - Mẫu ứng dụng

Thông tin

Bạn sẽ được khám phá các mẫu workflow hay còn gọi là luồng công việc được lập trình để thực hiện nhiệm vụ cần xử lý trong lĩnh vực dữ liệu. Bạn cũng có thể bắt gặp thuật ngữ data pipeline với ý nghĩa tương tự. Thực tế, có nhiều người dùng Vnstock mới chỉ tiếp cận Python ở mức độ cơ bản và chưa hình dung được cách sử dụng Vnstock ngoài việc xuất dữ liệu, nhiều bạn chỉ cần dừng lại ở mức độ xuất dữ liệu ra các định dạng quen thuộc như Excel hay CSV sau đó tiếp tục công việc quen thuộc. Vnstock hoan nghênh bạn sử dụng thư viện theo bất kỳ cách nào bạn thích và sáng tạo cho phù hợp với mục đích, kỹ năng và kinh nghiệm của mình, tuy nhiên qua nội dung này, chúng tôi muốn giới thiệu tới bạn cách Vnstock nên được sử dụng tối ưu nhất.

I. Tải & lưu trữ dữ liệu

Đây là một trong những cách tiếp cận đầu tiên, phổ biến và là một bước tất yếu trong cả quá trình làm việc với dữ liệu. Tuy nhiên khi bạn mới làm quen với Python, dù hứng thú với những điều mới mẻ từ Vnstock thì đây là lựa chọn đầu tiên. Tải dữ liệu và lưu trữ theo định dạng bảng tính quen thuộc và tiếp tục sử dụng nền tảng bạn thích. Dữ liệu từ Vnstock sử dụng Pandas DataFrame là kiểu dữ liệu làm việc, bạn có thể chuyển đổi dữ liệu dạng bảng tính này thành bất kỳ định dạng nào bạn thích từ Excel, CSV, Google Sheets, SQL Database, vv

(*) Bạn có thể click vào từng thành phần trong lưu đồ để xem thông tin chi tiết tại link đính kèm.

II. Phân tích với Jupyter Notebook

Jupyter Notebook là định dạng "sổ tay" chuyên dùng cho lĩnh vực khoa học dữ liệu, bạn vừa có thể chạy lệnh Python, biểu diễn kết quả phân tích dạng bảng tính, biểu đồ đồng thời ghi chú phân tích của mình với cú pháp markdown.

Jupyter Notebook được triển khai dưới nhiều hình thái khác nhau dưới dạng sản phẩm/dịch vụ chuyên biệt được cung cấp bởi các nhà phát triển khác nhau từ mã nguồn dự án ban đầu.

Dịch vụ tiện lợi nhất với nhiều tính năng thú vị, tích hợp AI là Google Colab chạy hoàn toàn trên đám mây thông qua trình duyệt web để bạn sử dụng tương tự như bộ công cụ văn phòng (Docs, Sheets, vv) của Google mà bạn quen thuộc. Demo Notebook của Vnstock sử dụng dịch vụ này, hoàn toàn miễn phí, chạy ngay lập tức mà không phải cài đặt Python phức tạp.

Nếu bạn ưa thích làm việc độc lập trên môi trường cục bộ của máy tính, sử dụng Jupyter Lab (bản hiện đại nhất của Jupyter Notebook) hoặc tiện ích Jupyter ngay trong Visual Studio Code.

III. Tạo bảng theo dõi tổng quan

Bảng theo dõi tổng quan hay dashboard là một cách trình bày các phân tích của bạn trực quan bằng công cụ biểu diễn dữ liệu. Bạn có thể sử dụng hoàn toàn Python để tạo ra ứng dụng này hoặc sử dụng Python cho phần công việc tải, xử lý dữ liệu ban đầu kết hợp với ứng dụng biểu diễn dữ liệu khác.

  1. "All in" với Python: Streamlit, Panel , Plotly Dash là những lựa chọn framework tốt nhất bạn nên sử dụng với độ khó tương đối, có thể học được. Huggingface là nền tảng lưu trữ, chia sẻ các ứng dụng python sử dụng các framework trên.
  1. "Nửa nạc nửa mỡ" 😄 : Với con đường này, bạn chọn một môi trường triển khai Python tự động từ dịch vụ đám mây hoặc chạy trên máy tính của mình và lưu trữ vào cơ sở dữ liệu để biểu diễn với các ứng dụng như Google Looker, PowerBI, Tableau, vv.

Một cổ phiếu

Danh mục các cổ phiếu

Tạo bộ lọc cổ phiếu

Cách trình bày dữ liệu của một bộ lọc cổ phiếu thường thấy là 1 bảng dữ liệu có các cột là các tiêu chí lọc và mỗi dòng thể hiện dữ liệu của mã cổ phiếu cụ thể. Để tạo ra một bảng tổng hợp sử dụng cho việc lọc cổ phiếu cần trải qua một quá trình từ đọc dữ liệu, xử lý và tính toán các tiêu chí để cho ra bảng lọc cuối cùng.

IV. Tạo Data App

Lựa chọn tuyệt vời hiện tại để triển khai đủ loại Data App là dịch vụ Huggingface miễn phí nhiều tính năng thú vị và bạn có thể sử dụng miễn phí trọn đời. Bạn biết mặt bao nhiêu logo trong số dưới đây? Lựa chọn 1 trong các SDK được cung cấp dù là Streamlit, Gradio, Docker là bạn có thể triển khai một data app cho riêng mình hoặc chia sẻ tới cộng đồng/khách hàng của mình nhanh chóng và chuyên nghiệp. Vnstock App là một bản demo cho dạng triển khai này.

Để tạo ra một Data App, bạn có thể hình dung quá trình triển khai như sau:

Trong đó Framework hay SDK (Software Development Kit) có thể được hiểu là thư viện cho phép bạn sử dụng để tạo ra ứng dụng của mình nhanh chóng. Huggingface.io là dịch vụ cho phép bạn sử dụng miễn phí với nhiều tính năng tuyệt vời và có thể chấp nhận tất cả các Framework mà bạn có thể sử dụng để tạo Data App và chia sẻ công khai hoặc riêng tư.

V. Tạo API

Bạn có thể viết cho mình các chương trình hoàn chỉnh sử dụng Vnstock để tổng hợp, xử lý dữ liệu phân tích và chia sẻ kết quả cuối cùng thông qua hình thức API. Như vậy việc tính toán, phân tích và thậm chí đặt lệnh đều có thể được giao phó cho ứng dụng chạy trên nền tảng Python và triển khai trên dịch vụ đám mây.

Lại một lần nữa Huggingface được gọi tên như là dịch vụ triển khai API tuyệt vời cho cá nhân, tổ chức quy mô nhỏ khi không sở hữu hạ tầng dịch vụ đám mây chuyên nghiệp hay đơn giản là đội ngũ của bạn thích chủ động, triển khai công việc nhanh chóng. Việc này có thể được thực hiện hoàn toàn miễn phí nhưng có thể giúp bạn tạo ra gần như mọi thứ có thể sử dụng từ dữ liệu Vnstock.

Cách đơn giản để có thể tạo ra API bằng dịch vụ miễn phí khá thú vị đó chính là tạo một Docker Space trên nền tảng Huggingface.io để thiết lập API.

VI. Cảnh báo tín hiệu giao dịch

Bạn cần 1 dịch vụ đám mây hoạt động như một ứng dụng (app) để liên tục cập nhật dữ liệu hoặc định kỳ, quét các tín hiệu phân tích đã được lập trình sau đó gửi tin nhắn tới nền tảng bạn chọn dù là Telegram, Slack, Lark hay Whatsapp, vv. Python giúp bạn làm được tất cả.

VII. Giao dịch qua thuật toán

Đây là sân chơi mang tính rủi ro, còn nhiều cơ hội nhưng không dành cho kẻ tay mơ. Vnstock là công cụ giúp bạn hình thành chiến lược, kiểm định giả thuyết, triển khai ứng dụng MVP (Minimal Viable Product - hiểu đơn giản là sản phẩm tối thiểu, có thể hoạt động được chức năng bạn cần) trước khi nâng cấp lên thành một chương trình hoàn chỉnh.