Giá hiện tại của một hay nhiều mã, top tăng giảm.
import { vn } from "vnstock-js";
const q = await vn.stock("FPT").price();
console.log(q.price, q.ref, q.ceiling, q.floor, q.changePct);
Trả về một Quote: giá khớp, tham chiếu, trần, sàn, cao, thấp, giá trung bình, khối lượng và giá trị luỹ kế, khối lượng khớp gần nhất, khối ngoại mua bán, ba bước giá mua bán. Mọi giá tính bằng đồng. Trước lệnh khớp đầu tiên của phiên, price là 0 và change, changePct là 0.
const list = await vn.prices(["FPT", "VCB", "HPG"]);
const vn30 = await vn.prices({ group: "VN30" }); // VN30, VN100, HNX30...
const hose = await vn.prices({ exchange: "HOSE" }); // cả sàn
Gộp nhiều mã vào một lời gọi vn.prices nhanh hơn và ít bị giới hạn tần suất hơn gọi price() từng mã.
const vni = await vn.index("VNINDEX").price(); // mức điểm hiện tại so với phiên trước
const { gainers, losers } = await vn.topMovers({ limit: 10 });
console.log(gainers.map((m) => [m.symbol, m.exchange, m.price1DayAgo]));
Xem TopMover.
Bảng điện in giá theo nghìn đồng (57.50). Chia cho 1000 ở bước hiển thị, đừng đổi dữ liệu gốc:
const board = (dong: number) => (dong / 1000).toFixed(2);
console.log(board(q.price)); // "57.50"