FinLens for Visual Studio Code
Dữ liệu chứng khoán Việt Nam, workflow Python, Jobs cục bộ và biểu đồ kỹ thuật trong cùng một workspace.
Website ·
Python SDK
FinLens đưa quy trình nghiên cứu dữ liệu vào ngay trong VS Code: theo dõi bảng giá
realtime, tìm đúng dataset, chèn lời gọi Python, kiểm tra đơn vị, xem trước kết quả
và mở biểu đồ mà không phải chuyển liên tục giữa editor, tài liệu và trình duyệt.
Điểm nổi bật
Bảng giá realtime ngay trong Editor
- Bảng giá đầy đủ ngay cạnh file code: mã, tham chiếu, trần, sàn, ba mức sổ lệnh mỗi
bên, khớp lệnh, tổng khối lượng, trung bình, cao, thấp và khối ngoại.
- Giá chạy trực tiếp qua Socket.IO, ô vừa đổi nhấp nháy đúng màu tăng/giảm.
- Chọn nhóm mã bằng thanh tab HOSE · HNX · UPCOM · ETF · Chứng quyền, theo chỉ số
(VN30, VN100…) hoặc theo một danh mục theo dõi của bạn.
- Cửa sổ hẹp thì bảng tự thu gọn các cột phụ; bấm ⇔ Đủ cột để xem hết và cuộn ngang.
- Chỉ theo dõi những dòng đang hiển thị trên màn hình — bảng HOSE hơn 400 mã vẫn nhẹ
như một tab editor bình thường.
- Kéo tab bảng giá xuống khu vực Terminal hoặc sang bên phải như mọi tab khác của VS Code.
Danh mục theo dõi
- Danh mục dùng chung với finlens.vn — tạo trên web thì mở VS Code đã thấy.
- Mỗi mã hiện giá, mức tăng giảm và phần trăm, kèm mũi tên chỉ hướng.
- Kéo thả sắp lại thứ tự mã, hoặc kéo một mã thả thẳng vào file Python để chèn
tên mã vào đúng vị trí con trỏ.
- Chèn code cho cả danh mục: chọn một lời gọi, extension sinh sẵn dòng Python cho
toàn bộ mã trong danh mục.
Tin tức thị trường
- Dòng tin thị trường ngay trong thanh bên, kèm sắc thái và độ quan trọng do AI phân tích.
- Bài chi tiết mở bằng markdown preview của VS Code: bảng số liệu render thành bảng
thật, dùng được Ctrl+F, copy, và font/theme của chính bạn.
- Lọc theo mã, ngành, sắc thái và độ quan trọng trong panel đầy đủ ở vùng editor.
Workspace FinLens trong thanh bên
- Trang chủ tập trung trạng thái tài khoản, môi trường Python, phiên bản SDK và API key.
- Danh mục theo dõi mã với giá trực tiếp.
- Dữ liệu tổ chức bề mặt API theo nhóm nghiệp vụ, có tìm kiếm và mô tả đơn vị.
- Tin tức dòng tin thị trường đã phân tích.
- Jobs lên lịch chạy file Python ngay trong workspace và giữ lại lịch sử output.
- Click một job sẽ mở Jobs Studio trong Editor area để xem cấu hình và các lần
chạy, thay vì phải đi qua chuỗi hộp thoại nhập liệu.
- Các hành động thường dùng nằm ngay trên thanh tiêu đề và trong Command Palette.
Chèn code Python theo ngữ cảnh
Nhấn Ctrl+Alt+F (Cmd+Alt+F trên macOS) để chọn dataset và mã chứng khoán.
Tìm mã bằng ticker hoặc tên doanh nghiệp, kể cả khi gõ không dấu.
Hoạt động trong file .py và notebook.
Tự bổ sung import finlens và client = finlens.client() khi cần.
Không ghi API key trực tiếp vào code được sinh ra.
Khi lọc báo cáo theo quý, chọn Q1-Q4 thay vì nhập số thủ công. Extension sinh
quarters=[...] và tự đặt period="quarterly" để tránh request mâu thuẫn.
Xem trước dữ liệu trong Editor
Mở bảng dữ liệu trực tiếp từ cây Dữ liệu mà chưa cần chạy file Python.
Sắp xếp, lọc và chọn số dòng hiển thị.
Header thể hiện đơn vị của từng cột để hạn chế nhầm VND, nghìn VND, điểm chỉ số
hoặc khối lượng.
Chèn lại đúng lời gọi Python tương ứng từ panel xem trước.
Với Báo cáo tài chính, Preview yêu cầu chọn loại báo cáo và kỳ dữ liệu để request
trực tiếp tới API có cùng ý nghĩa với lời gọi Python được sinh ra.
Biểu đồ kỹ thuật
- Mở biểu đồ trong Editor area, không chiếm diện tích của thanh bên.
- Panel biểu đồ là singleton: mở mã khác sẽ tái sử dụng tab hiện tại.
- Giữ lại mã và khung thời gian khi phiên đăng nhập hết hạn.
- Khi đăng xuất hoặc JWT không còn hợp lệ, iframe biểu đồ bị hủy và panel chuyển
sang màn hình khóa; đăng nhập lại sẽ tiếp tục đúng ngữ cảnh trước đó.
- Kiến trúc đã chuẩn bị để bổ sung thêm nhiều loại biểu đồ ngoài TradingView.
Jobs Python trong VS Code
- Tạo lịch chạy một lần, theo phút/giờ, hằng ngày, hằng tuần hoặc cron 5 trường.
- Chọn job trong sidebar để mở Jobs Studio trong Editor area: toolbar chạy/dừng/tạm
dừng/xóa, tab Cấu hình và tab Lần chạy tách biệt.
- Chạy bằng đúng Python interpreter đang được VS Code chọn, không dùng shell.
- Xem output trực tiếp ở Output > FinLens Jobs và mở lại output của các lần chạy gần đây.
- Lịch chỉ hoạt động khi VS Code và workspace đang mở; không chạy bù thời điểm đã lỡ.
- Job yêu cầu đăng nhập FinLens và workspace đáng tin cậy. Đăng xuất, JWT hết hạn hoặc
workspace mất trust sẽ dừng tiến trình đang chạy và hủy các lịch còn chờ.
- API key chỉ được truyền vào tiến trình khi bạn chọn cho phép; không được lưu trong
cấu hình job hoặc output.
- Mỗi job đã lưu có thể gửi trạng thái kết thúc đến Telegram và Discord; các
kênh hoạt động độc lập và có nút gửi thử ngay trong Jobs Studio.
Thông báo Telegram và Discord
Trong Thông báo kết quả, kết nối từng kênh cho job đang mở:
- Telegram cần bot token và Chat ID hoặc
@username nhận thông báo.
- Discord cần Incoming Webhook URL của kênh nhận thông báo.
FinLens gửi tên job, trạng thái, nguồn kích hoạt, thời điểm và kết quả ngắn sau mỗi
lần chạy kết thúc. Bot token, Chat ID và webhook URL được lưu riêng theo job trong
VS Code SecretStorage; chúng không nằm trong workspace, output, lịch sử chạy hay
code Python. Output của script và FinLens API key cũng không được gửi đến các kênh này.
Tham số truyền cho script
Trường Tham số dòng lệnh của script không phải là cấu hình của FinLens. Jobs chỉ
chạy lệnh theo dạng:
python script.py <tham số của bạn>
Chỉ nhập tham số khi file Python của bạn tự đọc và xử lý chúng. Ví dụ --date và
today được truyền nguyên vẹn thành python script.py --date today; ý nghĩa của
chúng do script.py quyết định. Nếu file không hỗ trợ tham số dòng lệnh, để trống
trường này.
135 chỉ báo TA-Lib trong cây Dữ liệu
- Toàn bộ bề mặt TA-Lib của SDK, gom theo nhóm: overlap, momentum, volume, volatility,
pattern recognition…
- Bấm một chỉ báo là chèn thẳng code Python, kèm tham số mặc định.
- Hover hiện cột đầu vào, tham số và các cột kết quả — biết trước hàm trả về gì
trước khi chạy.
Hỗ trợ khi viết code
- Gợi ý ticker theo đúng tham số và nhóm dữ liệu đang gọi.
- Hover trên biến kết quả để xem cấu trúc cột và đơn vị.
- Cảnh báo các giá trị interval dễ nhầm, ví dụ
1m.
- Bổ sung cho Pylance, không thay thế hoặc tạo completion trùng lặp.
Bắt đầu
Cài extension từ Visual Studio Marketplace hoặc chạy:
code --install-extension finlens.finlens
Mở biểu tượng FinLens trên Activity Bar và đăng nhập tài khoản FinLens.
Bấm Bảng giá realtime trên Trang chủ — không cần cài Python cho bước này.
Chạy FinLens: Chọn môi trường Python để chọn môi trường đã cài SDK.
Mở file Python hoặc notebook, nhấn Ctrl+Alt+F và chọn dữ liệu cần dùng.
Bấm biểu tượng bảng trong cây Dữ liệu để xem trước, hoặc chọn Mở biểu đồ
để phân tích mã trong Editor area.
Khi cần tự động hóa trong phiên VS Code hiện tại, mở Jobs và chọn biểu tượng
tạo mới để lên lịch một file Python trong workspace.
Để chạy code đã sinh trong Python:
pip install finlens
Đăng nhập và API key
FinLens sử dụng hai loại thông tin xác thực cho hai mục đích khác nhau:
| Thông tin |
Mục đích |
Nơi lưu |
| Phiên tài khoản JWT |
Trang chủ, Dữ liệu và biểu đồ |
VS Code SecretStorage |
| FinLens API key |
Gọi API dữ liệu và xem trước kết quả |
VS Code SecretStorage |
Biểu đồ chỉ nhận JWT của tài khoản, không nhận API key. Extension có thể cấp và
lưu API key sau khi đăng nhập; bạn cũng có thể dùng lệnh FinLens: Nhập API key.
Lệnh thường dùng
| Lệnh |
Chức năng |
FinLens: Đăng nhập |
Đăng nhập bằng email hoặc Google |
FinLens: Mở bảng giá |
Bảng giá realtime trong Editor area |
FinLens: Mở dòng tin tức |
Feed tin tức đầy đủ, có bộ lọc |
FinLens: Chèn code… |
Chọn dataset và chèn lời gọi Python |
FinLens: Mở biểu đồ |
Chọn mã và mở workspace biểu đồ |
FinLens: Mở Jobs |
Mở danh sách job trong sidebar |
FinLens: Tạo job Python |
Mở Jobs Studio để cấu hình file Python và lịch chạy |
FinLens: Chọn môi trường Python |
Chọn interpreter dùng SDK FinLens |
FinLens: Kiểm tra cấu hình |
Hiển thị trạng thái SDK, API và môi trường |
FinLens: Đặt lại bố cục thanh bên |
Khôi phục Trang chủ và Dữ liệu về bố cục mặc định |
Cấu hình chính
| Setting |
Mặc định |
Mô tả |
finlens.python.features |
full |
Bật đầy đủ gợi ý và chẩn đoán, chỉ chẩn đoán, hoặc tắt |
finlens.snippet.emitPreamble |
true |
Tự thêm import và khởi tạo client khi cần |
finlens.snippet.unitsComment |
true |
Thêm comment nhắc đơn vị vào code sinh ra |
finlens.preview.defaultRows |
10 |
Số dòng mặc định trong bảng xem trước |
finlens.sessionChannel |
desktop |
Tách phiên VS Code khỏi phiên trình duyệt FinLens |
finlens.realtimeUrl |
realtime.finlens.vn |
Máy chủ giá trực tiếp; để trống là tắt realtime |
Yêu cầu
- Visual Studio Code
1.90.0 trở lên.
- Python
3.11 trở lên và package finlens để chạy code được sinh ra.
- Tài khoản FinLens và kết nối internet cho Dữ liệu, xem trước và biểu đồ.
Bảo mật
- JWT và API key được lưu bằng VS Code SecretStorage, không nằm trong workspace settings.
- Code được sinh không chứa API key.
- URL iframe biểu đồ chỉ chấp nhận HTTPS, hoặc HTTP trên localhost khi phát triển.
- Workspace không được phép ghi đè URL biểu đồ vì origin đó là nơi nhận JWT.
- Khi phiên kết thúc, iframe biểu đồ bị tháo khỏi DOM thay vì chỉ bị che bằng CSS.
- Jobs chỉ spawn interpreter với mảng tham số, không đi qua shell, và chỉ chạy file
.py nằm trong workspace đã được tin cậy.
Lộ trình
Các phiên bản tiếp theo dự kiến mở rộng workspace với nhiều loại biểu đồ, watchlist,
bảng giá, tin tức AI, báo cáo phân tích của công ty chứng khoán và báo cáo chuyên sâu
của FinLens.
Hỗ trợ và phát triển
- Truy cập finlens.vn để xem tài liệu và các kênh hỗ trợ.
- Dùng lệnh FinLens: Kiểm tra cấu hình và mở Output > FinLens khi cần chẩn đoán.
- Lịch sử thay đổi được hiển thị trong tab Changelog của extension trên Marketplace.
| |