FinLens cho VS Code — dữ liệu chứng khoán trong editor
Extension FinLens cho Visual Studio Code: bảng giá realtime, chèn code Python, xem trước dữ liệu, biểu đồ kỹ thuật và Jobs chạy Python cục bộ ngay trong editor.
FinLens cho Visual Studio Code đưa quy trình nghiên cứu dữ liệu chứng khoán Việt Nam vào ngay trong editor: theo dõi bảng giá realtime, tìm đúng dataset, chèn lời gọi Python, 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.

Đây là companion của thư viện Python
Extension sinh và khám phá code; thư viện Python finlens
là thứ chạy code đó. Dùng extension để viết nhanh và đúng, dùng thư viện
để lấy dữ liệu về pandas.DataFrame.
Cài đặt

Cài extension
Tìm FinLens trong Marketplace của VS Code, hoặc chạy:
code --install-extension finlens.finlensYêu cầu VS Code 1.90 trở lên.
Đăng nhập
Mở biểu tượng FinLens trên Activity Bar và đăng nhập bằng email hoặc Google.
Mở bảng giá realtime
Bấm Mở bảng giá trên Trang chủ — bước này không cần cài Python.
Chọn môi trường Python
Chạy lệnh FinLens: Chọn môi trường Python để trỏ tới interpreter đã cài gói
finlens (pip install finlens, cần Python 3.11+). Bước này để chạy được code
extension sinh ra.
Năm khu vực trong thanh bên
Biểu tượng FinLens trên Activity Bar mở một thanh bên gồm năm view:
| View | Vai trò |
|---|---|
| Trang chủ | Trạng thái tài khoản, môi trường Python, phiên bản SDK và khóa API |
| Danh mục | Watchlist theo dõi mã với giá trực tiếp, dùng chung với finlens.vn |
| Dữ liệu | Bề mặt API gom 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 bằng AI (sắc thái, độ quan trọng) |
| Jobs | Lên lịch chạy file Python cục bộ và giữ lịch sử output |
Bảng giá realtime
Bảng giá đầy đủ mở ngay trong Editor area: 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ã theo tab HOSE · HNX · UPCOM · ETF · Chứng quyền, theo chỉ số (VN30, VN100…) hoặc theo một danh mục của bạn.
- Chỉ theo dõi những dòng đang hiển thị, nên 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 VS Code.
Quy ước đơn vị giá
Giá cổ phiếu và chỉ số ở đơn vị nghìn đồng (23.4 nghĩa là 23.400 VND). Header bảng xem trước ghi rõ đơn vị từng cột để hạn chế nhầm VND, nghìn VND, điểm chỉ số hay khối lượng. Chi tiết tại Quy ước dữ liệu FinLens.
Chèn code Python theo ngữ cảnh
Trong file .py hoặc notebook, nhấn Ctrl+Alt+F (Cmd+Alt+F trên macOS) để
chọn dataset và mã, extension chèn lời gọi Python tại con trỏ.
- Tìm mã bằng ticker hoặc tên doanh nghiệp, kể cả khi gõ không dấu.
- Tự bổ sung
import finlensvàclient = finlens.client()khi cần. - Không ghi khóa API vào code sinh ra.
- Khi lọc báo cáo theo quý, chọn Q1–Q4 thay vì nhập tay: extension sinh
quarters=[...]và tự đặtperiod="quarterly"để tránh request mâu thuẫn.
Xem trước dữ liệu
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, chọn số dòng hiển thị, và chèn lại đúng lời gọi Python từ panel. 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 khớp ý nghĩa với code được sinh.
Biểu đồ kỹ thuật
Mở biểu đồ trong Editor area (không chiếm thanh bên). Panel là singleton — mở mã khác sẽ tái dùng tab hiện tại. Biểu đồ chỉ nhận phiên JWT của tài khoản, không nhận khóa API; khi phiên hết hạn, iframe biểu đồ bị tháo khỏi DOM và panel chuyển sang màn hình khóa, đăng nhập lại sẽ tiếp tục đúng mã và khung thời gian.
Jobs — chạy Python cục bộ theo lịch
Tạo lịch chạy một file Python trong workspace: 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 với tab Cấu hình và tab Lần chạy tách biệt.

- Chạy bằng đúng Python interpreter VS Code đang chọn, không đi qua shell.
- 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 và workspace đáng tin cậy; đăng xuất, JWT hết hạn hoặc mất trust sẽ dừng tiến trình đang chạy và hủy lịch còn chờ.
- Mỗi job có thể gửi trạng thái kết thúc đến Telegram và Discord. Token, Chat ID và webhook lưu riêng theo job trong SecretStorage — không nằm trong workspace, output hay code. Output script và khóa API không được gửi đi.
Tham số dòng lệnh của script
Jobs chạy lệnh 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; nếu không, để trống.
135 chỉ báo TA-Lib
Toàn bộ bề mặt TA-Lib của SDK nằm trong cây Dữ liệu, 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.
Lệnh thường dùng
Extension đăng ký 46 lệnh trong Command Palette. Các lệnh hay 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: Chèn code… | Chọn dataset và chèn lời gọi Python |
FinLens: Xem trước dữ liệu | Mở bảng xem trước từ cây Dữ liệu |
FinLens: Mở biểu đồ | Chọn mã và mở workspace biểu đồ |
FinLens: Tạo job Python | Mở Jobs Studio để cấu hình file và lịch chạy |
FinLens: Chọn môi trường Python | Chọn interpreter dùng SDK FinLens |
FinLens: Tạo API key | Cấp và lưu khóa API sau khi đăng nhập |
FinLens: Kiểm tra cấu hình | Hiển thị trạng thái SDK, API và môi trường |
Phím tắt
| Phím | Lệnh | Điều kiện |
|---|---|---|
Ctrl+Alt+F / Cmd+Alt+F | Chèn code | Con trỏ trong file Python |
Ctrl+F / Cmd+F | Tìm trong cây dữ liệu | Khi view Dữ liệu đang focus |
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 | https://realtime.finlens.vn | Máy chủ giá trực tiếp; để trống là tắt realtime |
Đăng nhập và khóa API
Extension dùng hai loại thông tin xác thực cho hai mục đích:
| 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 |
| Khóa API FinLens | Gọi API dữ liệu và xem trước | VS Code SecretStorage |
Extension có thể cấp và lưu khóa API sau khi đăng nhập (FinLens: Tạo API key),
hoặc bạn nhập tay bằng FinLens: Nhập API key. Nếu muốn dùng cùng khóa cho
notebook hay terminal ngoài, lệnh FinLens: Ghi API key ra file cấu hình ghi
khóa vào finlens.toml — đọc thêm cách nạp khóa của SDK.
Yêu cầu
- Visual Studio Code 1.90 trở lên.
- Python 3.11 trở lên và gói
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à khóa API lưu trong VS Code SecretStorage, không nằm trong workspace settings.
- Code sinh ra không chứa khóa API.
- URL iframe biểu đồ chỉ chấp nhận HTTPS (hoặc HTTP trên localhost khi phát triển), và workspace không được ghi đè URL đó vì origin ấy là nơi nhận JWT.
- Jobs chỉ spawn interpreter với mảng tham số, không qua shell, và chỉ chạy file
.pytrong workspace đã tin cậy.
Câu hỏi thường gặp
Cùng hệ sinh thái
Thư viện Python finlens
Chạy code extension sinh ra, trả về pandas DataFrame. Cùng khóa API.
FinLens MCP
Hỏi Claude, ChatGPT hay Gemini về thị trường bằng câu tiếng Việt tự nhiên.
FinLens Web
Bảng giá, watchlist và biểu đồ trên trình duyệt — watchlist dùng chung với extension.
Câu hỏi thường gặp
Có cách nào xem dữ liệu và bảng giá chứng khoán Việt Nam ngay trong VS Code không?
Có, qua extension FinLens cho Visual Studio Code. Sau khi cài từ Marketplace và đăng nhập, thanh bên FinLens mở bảng giá realtime của HOSE, HNX và UPCOM ngay trong Editor area, cập nhật trực tiếp qua Socket.IO. Bảng giá không cần cài Python — chỉ cần tài khoản FinLens và kết nối internet.
Cài extension FinLens cho VS Code bằng lệnh nào?
Cài từ Visual Studio Marketplace, hoặc chạy `code --install-extension finlens.finlens` trong terminal. Extension yêu cầu Visual Studio Code phiên bản 1.90 trở lên. Để chạy code Python được sinh ra, máy cần Python 3.11 trở lên và gói `finlens` (cài bằng `pip install finlens`).
Extension FinLens chèn code Python như thế nào?
Trong file `.py` hoặc notebook, nhấn `Ctrl+Alt+F` (`Cmd+Alt+F` trên macOS) để mở bảng chọn dataset và mã chứng khoán, extension chèn lời gọi Python tương ứng tại vị trí con trỏ. Nó tự thêm `import finlens` và `client = finlens.client()` khi cần, và không bao giờ ghi khóa API vào code sinh ra. Có thể tìm mã bằng ticker hoặc tên doanh nghiệp, kể cả khi gõ không dấu.
FinLens cho VS Code khác gì thư viện Python finlens?
Extension là giao diện trong editor cho cùng bộ dữ liệu mà thư viện Python `finlens` truy cập. Extension giúp khám phá bề mặt API, chèn đúng lời gọi, xem trước kết quả và mở biểu đồ mà không phải nhớ tên hàm; còn thư viện Python là thứ thực sự chạy code đó và trả về `pandas.DataFrame`. Hai cái bổ trợ nhau: dùng extension để viết nhanh và đúng, dùng thư viện để chạy.
Cập nhật lần cuối