vnstock-js

vnstock-js

Tài LiệuDùng Với AIVí DụBài ViếtDemo
k

© Copyright 2026

Giới Thiệu
Cài Đặt
Hướng Dẫn Sử Dụng Nhanh
Quy Ước & Đơn Vịv2.0
Dùng Với AIv2.0
Kiến Trúc
Danh Sách Hàm
Nâng Cấp Từ v1v2.0
CLI
Lịch Sử Phiên Bản
Câu Hỏi Thường Gặp
Cơ Bản
Bảng Giá - Prices
Lịch Sử Giá - History
Danh Mục Mã - Symbols
Tìm Kiếm - Search
Tài Chính - Financials
Thị Trường - Marketv1.5
Sàng Lọc - Screening
Chỉ Báo & Pattern
AI Contextv1.4
Danh Mục Đầu Tưv2.0
Theo Dõi & Cảnh Báov2.0
Backtest & Phiên Tương Tựv2.0
Trình Duyệt & Proxyv2.0
Lịch Giao Dịch - Calendar
Vàng, Tỷ Giá, Tin Tức
MCP Serverv1.4
Watchlistv1.4
Bar
Quote
Tick
TopMover
CompanyProfile
ScreenRow
GoldQuote & FxRate
  1. Tài Liệu
  2. Key Features
  3. Advanced
  4. Ai Context

AI Context

Bối cảnh kỹ thuật tính sẵn cho LLM, dạng JSON hoặc văn bản.

Xem .md

Thay vì đưa nến thô cho LLM, context() tính sẵn xu hướng, chỉ báo, mốc giá, khối lượng và hiệu suất; prompt() trả cùng nội dung ở dạng văn bản để dán thẳng vào prompt.

import { vn } from "vnstock-js";

const ctx = await vn.stock("FPT").context();
const text = await vn.stock("FPT").prompt({ lang: "vi" }); // hoặc "en"
const past = await vn.stock("FPT").context({ asOf: "2026-10-10" });
const vni = await vn.index("VNINDEX").context();

Tuỳ chọn: lookback (số phiên dùng để tính, mặc định 200), asOf (YYYY-MM-DD, chỉ dùng nến tới hết phiên đó, để backtest không nhìn trước).

Cấu trúc

{
  symbol: "FPT",
  asOf: "2026-10-20",
  trend: { direction: "bearish", strength: 1, rationale: "EMA20 < EMA50 < EMA200, ..." },
  indicators: {
    rsi14: 33.46,
    macd: { line, signal, histogram, crossover: "bullish" | "bearish" | "none" },
    sma: { 20, 50, 200 }, ema: { 20, 50, 200 },
    bollinger: { upper, middle, lower, percentB },
    atr14,
    superTrend: { value, direction },
    ichimoku: { tenkanSen, kijunSen, cloudTop, cloudBottom, priceVsCloud, tkCross },
  },
  levels: { support: number[], resistance: number[] },
  volume: { today, avg20, signal: "above_average" | "below_average" | "normal", zscore },
  performance: { change1d, change7d, change30d, change90d },
}
  • Mọi mức giá (SMA, EMA, Bollinger, ATR, levels) tính bằng đồng với cổ phiếu, điểm với chỉ số.
  • trend.strength từ 0 tới 1, tính theo độ dốc EMA20 tính bằng phần trăm nên không phụ thuộc mức giá.
  • performance.change* là phần trăm so với giá đóng cửa 1, 7, 30, 90 phiên trước, cùng quy ước với changePct (-5 là giảm 5%).

prompt() in giá theo dạng dễ đọc (57.5k), phù hợp để LLM đọc.

Bối cảnh thị trường

const market = await vn.market.context({ index: "VNINDEX" });
console.log(market.regime, market.rationale, market.liquidity.signal, market.notes);

regime là một trong trending_up, trending_down, sideways. Với asOf, độ rộng và khối ngoại là null và notes giải thích lý do.

Dùng với MCP

Tool get_ai_context và to_ai_prompt của MCP Server gọi đúng các hàm này, nên Claude hay Cursor nhận cùng dữ liệu.

PreviousChỉ Báo & Pattern
NextDanh Mục Đầu Tư

Nội Dung

Cấu trúcBối cảnh thị trườngDùng với MCP