# CLI

> Tra cứu giá, lịch sử, thị trường, sàng lọc, backtest và danh mục ngay trên terminal.

vnstock-js kèm lệnh `vnstock` để dùng thẳng trong terminal, không cần viết code.

## Cài đặt

```bash
npx vnstock-js FPT            # chạy một lần
npm install -g vnstock-js     # cài global, sau đó gọi `vnstock`
```

Gõ mã trần là xem giá: `vnstock FPT` giống `vnstock quote FPT`.

## Giá và lịch sử

```bash
vnstock quote FPT
vnstock history FPT --range 3mo
vnstock history FPT --from 2026-01-01 --to 2026-06-30 --limit 50
vnstock compare FPT VCB HPG
```

## Tìm mã

```bash
vnstock search "ngân hàng" --limit 5
vnstock symbols --exchange HOSE
```

## Thị trường

```bash
vnstock market                       # chỉ số, thanh khoản, độ rộng, khối ngoại
vnstock market --exchange HNX --index HNXIndex
vnstock foreign --top 5              # khối ngoại toàn sàn
vnstock foreign FPT                  # khối ngoại một mã
vnstock gold                         # giá vàng, đồng/lượng
```

## Phân tích

```bash
vnstock patterns FPT                                   # hỗ trợ/kháng cự, mẫu nến, Turtle, breakout
vnstock screen --group VN30 --where "pe<15,roe>0.15" --sort -roe --limit 10
vnstock backtest FPT VCB --preset breakout --tp 7 --sl 4 --hold 10 --range 2y
vnstock similar FPT --top 5                            # thử nghiệm
```

`--where` nhận các so sánh cách nhau bằng dấu phẩy: `<`, `<=`, `>`, `>=`, `=`. ROE, ROA là phân số (`roe>0.15` là trên 15%). Preset backtest: `breakout`, `oversold_bounce`, `ema_cross`; `--tp`, `--sl` tính bằng phần trăm.

## Danh mục và watchlist

Lưu ở `~/.vnstock-js`.

```bash
vnstock portfolio add FPT 100 120000 --broker DNSE   # giá vốn bằng đồng
vnstock portfolio cash 5000000 --broker DNSE
vnstock portfolio                                     # định giá theo giá hiện tại
vnstock portfolio remove FPT

vnstock watchlist create bank
vnstock watchlist add bank VCB TCB MBB
vnstock watchlist quote bank
vnstock watchlist                                     # liệt kê các danh sách
```

Gõ giá vốn theo nghìn đồng (`120` thay vì `120000`) sẽ bị từ chối kèm gợi ý.

## Định dạng đầu ra

| Cờ | Tác dụng |
|---|---|
| `--json` | In dữ liệu dạng JSON để dùng trong script |
| `--csv` | CSV, với `quote`, `history`, `search`, `symbols`, `market`, `foreign` |
| `--quiet` | Ẩn thông báo phụ (cập nhật phiên bản...) |
| `--no-color` | Tắt màu |

Phần hiển thị đổi đơn vị cho dễ đọc (`125.8k`, `392.5 tỷ`); `--json` giữ nguyên số liệu bằng đồng.

## MCP

```bash
vnstock mcp   # chạy MCP server qua stdio
```

Xem [MCP Server](/docs/key-features/advanced/mcp).
