> For the complete documentation index, see [llms.txt](https://guide.ssi.com.vn/ssi-products/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.ssi.com.vn/ssi-products/tieng-viet/fastconnect-data/du-lieu-streaming.md).

# Dữ liệu streaming

FastConnect Data hỗ trợ cập nhật dữ liệu thời gian thực thông qua streaming. Ngay sau khi client kết nối, hệ thống sẽ chủ động gửi các thông tin cập nhật tới client khi có thay đổi. Các dữ liệu được streaming bao gồm:&#x20;

<table><thead><tr><th width="156.33333333333331">Mã loại dữ liệu</th><th width="313">Mô tả</th><th>Chú thích</th></tr></thead><tbody><tr><td>F</td><td>Trạng thái mã chứng khoán</td><td>Xem <a href="/pages/hgF35ic72PxJHR2tymBZ">trạng thái giao dịch</a> và <a href="/pages/HffFyyEr5oG22dVzWDWd">phiên giao dịch</a></td></tr><tr><td>X</td><td>Thông tin tổng hợp bid/ask và thông tin khớp lệnh</td><td></td></tr><tr><td>Quote</td><td>Thông tin bid/ask</td><td>Sàn HOSE hỗ trợ 3 mức giá. Sàn HNX, UPCOM và phái sinh hỗ trợ 10 mức giá. </td></tr><tr><td>Trade</td><td>Thông tin khớp lệnh</td><td></td></tr><tr><td>B</td><td>Thông tin OHLCV</td><td></td></tr><tr><td>R</td><td>Room nước ngoài</td><td></td></tr><tr><td>MI</td><td>Thông tin chỉ sô</td><td><a href="/pages/aric3T2DOj1NnQzLZqw5">Xem chi tiết danh sách chỉ số</a></td></tr></tbody></table>

### Trạng thái Mã chứng khoán

Rtype F sẽ trả về thông tin phiên giao dịch và trạng thái giao dịch của mã chứng khoán.&#x20;

{% tabs %}
{% tab title="Input" %}
F: \<Danh sách các mã CK>

**Lưu ý:**  Các mã CK được ngăn cách nhau bởi dấu "-". Hoặc có thể nhập ALL để lấy thông tin room của tất cả các mã.&#x20;

VD: F: SSI hoặc F:SSI-PAN hoặc F:ALL
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="175">Dữ liệu</th><th width="101">Kiểu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>string</td><td>Định dạng: F</td></tr><tr><td>MarketID</td><td>string</td><td>Sàn giao dịch. Có các giá trị sau: HOSE|HNX|HNXBOND|UPCOM|DER</td></tr><tr><td>TradingDate</td><td>Date</td><td>Ngày giao dịch. Định dạng ddmmyyy</td></tr><tr><td>Time</td><td>Time</td><td>Thời gian. <br>Định dạng HHMMSS</td></tr><tr><td>Symbol</td><td>String</td><td>Mã chứng khoán</td></tr><tr><td>TradingSession</td><td>String</td><td><a href="/pages/HffFyyEr5oG22dVzWDWd">Phiên giao dịch</a></td></tr><tr><td>TradingStatus</td><td>String</td><td><a href="/pages/hgF35ic72PxJHR2tymBZ">Trạng thái giao dịch</a></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input: 
F: SSI
Output: 
{"DataType":"F",
"Content":"{
\"RType\":\"F\",
\"MarketId\":\"HOSE\",
\"TradingDate\":\"14/08/2023\",
\"Time\":\"13:00:00\",
\"Symbol\":\"SSI\",
\"TradingSession\":\"LO\",
\"TradingStatus\":\"N\",
\"Exchange\":\"HOSE\"}"
}
```

### Dữ liệu bid/ask

Dữ liệu bid/ask của mã chứng khoán

{% tabs %}
{% tab title="Input" %}
Định dạng: X-Quote: X hoặc ALL&#x20;

X: Danh sách các mã chứng khoán

ALL: Toàn bộ mã chứng khoán
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="192.66666666666666">Dữ liệu</th><th width="143">Kiểu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>string</td><td>Định dạng: <br>X-QUOTE</td></tr><tr><td>TradingDate</td><td>Date</td><td>DD/MM/YYYY</td></tr><tr><td>Time</td><td>Time</td><td>Định dạng:<br>HH:MM:SS</td></tr><tr><td>Symbol</td><td>string</td><td>Mã CK</td></tr><tr><td>BidPrice1</td><td>number</td><td>Giá bid tốt nhất 1</td></tr><tr><td>BidVol1</td><td>number</td><td>Khối lượng bid tốt nhất 1</td></tr><tr><td>BidPrice2</td><td>number</td><td>Giá bid tốt nhất 2</td></tr><tr><td>BidVol2</td><td>number</td><td>Khối lượng bid tốt nhất 2</td></tr><tr><td>BidPrice3</td><td>number</td><td>Giá bid tốt nhất 3</td></tr><tr><td>BidVol3</td><td>number</td><td>Khối lượng bid tốt nhất 3</td></tr><tr><td>BidPrice4</td><td>number</td><td>Giá bid tốt nhất 4</td></tr><tr><td>BidVol4</td><td>number</td><td>Khối lượng bid tốt nhất 4</td></tr><tr><td>BidPrice5</td><td>number</td><td>Giá bid tốt nhất 5</td></tr><tr><td>BidVol5</td><td>number</td><td>Khối lượng bid tốt nhất 5</td></tr><tr><td>BidPrice6</td><td>number</td><td>Giá bid tốt nhất 6</td></tr><tr><td>BidVol6</td><td>number</td><td>Khối lượng bid tốt nhất 6</td></tr><tr><td>BidPrice7</td><td>number</td><td>Giá bid tốt nhất 7</td></tr><tr><td>BidVol7</td><td>number</td><td>Khối lượng bid tốt nhất 7</td></tr><tr><td>BidPrice8</td><td>number</td><td>Giá bid tốt nhất 8</td></tr><tr><td>BidVol8</td><td>number</td><td>Khối lượng bid tốt nhất 8</td></tr><tr><td>BidPrice9</td><td>number</td><td>Giá bid tốt nhất 9</td></tr><tr><td>BidVol9</td><td>number</td><td>Khối lượng bid tốt nhất 9</td></tr><tr><td>BidPrice10</td><td>number</td><td>Giá bid tốt nhất 10</td></tr><tr><td>BidVol10</td><td>number</td><td>Khối lượng bid tốt nhất 10</td></tr><tr><td>AskPrice1</td><td>number</td><td>Giá ask tốt nhất 1</td></tr><tr><td>AskVol1</td><td>number</td><td>Khối lượng ask tốt nhất 1</td></tr><tr><td>AskPrice2</td><td>number</td><td>Giá ask tốt nhất 2</td></tr><tr><td>AskVol2</td><td>number</td><td>Khối lượng ask tốt nhất 2</td></tr><tr><td>AskPrice3</td><td>number</td><td>Giá ask tốt nhất 3</td></tr><tr><td>AskVol3</td><td>number</td><td>Khối lượng ask tốt nhất 3</td></tr><tr><td>AskPrice4</td><td>number</td><td>Giá ask tốt nhất 4</td></tr><tr><td>AskVol4</td><td>number</td><td>Khối lượng ask tốt nhất 4</td></tr><tr><td>AskPrice5</td><td>number</td><td>Giá ask tốt nhất 5</td></tr><tr><td>AskVol5</td><td>number</td><td>Khối lượng ask tốt nhất 5</td></tr><tr><td>AskPrice6</td><td>number</td><td>Giá ask tốt nhất 6</td></tr><tr><td>AskVol6</td><td>number</td><td>Khối lượng ask tốt nhất 6</td></tr><tr><td>AskPrice7</td><td>number</td><td>Giá ask tốt nhất 7</td></tr><tr><td>AskVol7</td><td>number</td><td>Khối lượng ask tốt nhất 7</td></tr><tr><td>AskPrice8</td><td>number</td><td>Giá ask tốt nhất 8</td></tr><tr><td>AskVol8</td><td>number</td><td>Khối lượng ask tốt nhất 8</td></tr><tr><td>AskPrice9</td><td>number</td><td>Giá ask tốt nhất 9</td></tr><tr><td>AskVol9</td><td>number</td><td>Khối lượng ask tốt nhất 9</td></tr><tr><td>AskPrice10</td><td>number</td><td>Giá ask tốt nhất 10</td></tr><tr><td>AskVol10</td><td>number</td><td>Khối lượng ask tốt nhất 10</td></tr><tr><td>MarketID</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>Exchange</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>TradingSession</td><td>string</td><td><a href="/pages/HffFyyEr5oG22dVzWDWd">Phiên giao dịch</a></td></tr><tr><td>TradingStatus</td><td>string</td><td><a href="/pages/hgF35ic72PxJHR2tymBZ">Trạng thái giao dịch</a></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input: 
X-QUOTE: ACB
Output:
{"DataType":"X-QUOTE",
"Content":"{
\"TradingDate\":\"14/08/2023\",
\"Time\":\"14:00:28\",
\"Exchange\":\"HOSE\",
\"Symbol\":\"ACB\",
\"RType\":\"X-QUOTE\",
\"AskPrice1\":22950.0,
\"AskPrice2\":23000.0,
\"AskPrice3\":23050.0,
\"AskPrice4\":0.0,
\"AskPrice5\":0.0,
\"AskPrice6\":0.0,
\"AskPrice7\":0.0,
\"AskPrice8\":0.0,
\"AskPrice9\":0.0,
\"AskPrice10\":0.0,
\"AskVol1\":109100.0,
\"AskVol2\":208600.0,
\"AskVol3\":207200.0,
\"AskVol4\":0.0,
\"AskVol5\":0.0,
\"AskVol6\":0.0,
\"AskVol7\":0.0,
\"AskVol8\":0.0,
\"AskVol9\":0.0,
\"AskVol10\":0.0,
\"BidPrice1\":22900.0,
\"BidPrice2\":22850.0,
\"BidPrice3\":22800.0,
\"BidPrice4\":0.0,
\"BidPrice5\":0.0,
\"BidPrice6\":0.0,
\"BidPrice7\":0.0,
\"BidPrice8\":0.0,
\"BidPrice9\":0.0,
\"BidPrice10\":0.0,
\"BidVol1\":290900.0,
\"BidVol2\":454200.0,
\"BidVol3\":678800.0,
\"BidVol4\":0.0,
\"BidVol5\":0.0,
\"BidVol6\":0.0,
\"BidVol7\":0.0,
\"BidVol8\":0.0,
\"BidVol9\":0.0,
\"BidVol10\":0.0,
\"TradingSession\":\"LO\"}"}
```

### Dữ liệu khớp lệnh

{% tabs %}
{% tab title="Input" %}
Định dạng: X-TRADE: X hoặc ALL&#x20;

X: Danh sách các mã chứng khoán&#x20;

ALL: Toàn bộ mã chứng khoán
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="192.66666666666666">Dữ liệu</th><th width="143">Kiểu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>string</td><td>Định dạng: <br>X-TRADE</td></tr><tr><td>TradingDate</td><td>Date</td><td>DD/MM/YYYY</td></tr><tr><td>Time</td><td>Time</td><td>Định dạng:<br>HH:MM:SS</td></tr><tr><td>ISIN</td><td>string</td><td>Mã ISIN</td></tr><tr><td>Symbol</td><td>string</td><td>Mã CK</td></tr><tr><td>Ceiling</td><td>number</td><td>Giá cao nhất</td></tr><tr><td>Floor</td><td>number</td><td>Giá sàn</td></tr><tr><td>RefPrice</td><td>number</td><td>Giá tham chiếu</td></tr><tr><td>Highest</td><td>number</td><td>Giá cao nhất</td></tr><tr><td>Lowest</td><td>number</td><td>Giá thấp nhất</td></tr><tr><td>AvgPrice</td><td>number</td><td>Giá trung bình</td></tr><tr><td><p>PriorVal</p><p> </p></td><td>number</td><td>Giá đóng cửa của ngày giao dịch trước đó của ngày báo cáo</td></tr><tr><td>LastPrice</td><td>number</td><td>Giá khớp gần nhất</td></tr><tr><td>Change</td><td>number</td><td>Thay đổi</td></tr><tr><td>RatioChange</td><td>number</td><td>% thay đổi</td></tr><tr><td>EstMatchedPrice</td><td>number</td><td>Giá khớp dự kiến</td></tr><tr><td>LastVol</td><td>number</td><td>Khối lượng khớp gần nhất</td></tr><tr><td>TotalVal</td><td>number</td><td>Tổng giá trị khớp lệnh từ khi thị trường mở cửa đến thời điểm báo cáo.</td></tr><tr><td>TotalVol</td><td><p>number</p><p> </p></td><td>Tổng khối lượng khớp lệnh từ khi mở cửa thị trường đến thời điểm báo cáo.</td></tr><tr><td>MarketId</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>Exchange</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>TradingSession</td><td>string</td><td><a href="/pages/HffFyyEr5oG22dVzWDWd">Phiên giao dịch</a></td></tr><tr><td>TradingStatus</td><td>string</td><td><a href="/pages/hgF35ic72PxJHR2tymBZ">Trạng thái giao dịch </a></td></tr><tr><td>Side</td><td>string</td><td>Chiều mua/ bán <br>SD: Bán<br>BU: Mua<br>Unknow: không xác định</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input:
X-TRADE: ACB 
Output: 
{"DataType":"X-TRADE",
"Content":"{
\"RType\":\"X-TRADE\",
\"TradingDate\":\"14/08/2023\",
\"Time\":\"14:07:53\",
\"Isin\":\"ACB\",
\"Symbol\":\"ACB\",
\"Ceiling\":24500.0,
\"Floor\":21300.0,
\"RefPrice\":22900.0,
\"AvgPrice\":22927.93,
\"PriorVal\":22900.0,
\"LastPrice\":22950.0,
\"LastVol\":100.0,
\"TotalVal\":201713015000.0,
\"TotalVol\":8797700.0,
\"MarketId\":\"HOSE\",
\"Exchange\":\"HOSE\",
\"TradingSession\":\"LO\",
\"TradingStatus\":\"N\",
\"Change\":50.0,
\"RatioChange\":0.22,
\"EstMatchedPrice\":22900.0,
\"Highest\":23050,
\"Lowest\":22800,
\"Side\":\"SD\"
},"}
```

### Dữ liệu tổng hợp của thông tin bid/ask và thông tin khớp lệnh

{% tabs %}
{% tab title="Input" %}
Định dạng: X: \<Danh sách các mã chứng khoán> hoặc ALL \<Toàn bộ mã chứng khoán>
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="192.66666666666666">Dữ liệu</th><th width="143">Kiểu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>string</td><td>Định dạng: <br>X</td></tr><tr><td>TradingDate</td><td>Date</td><td>DD/MM/YYYY</td></tr><tr><td>Time</td><td>Time</td><td>Định dạng:<br>HH:MM:SS</td></tr><tr><td>ISIN</td><td>string</td><td>Mã ISIN</td></tr><tr><td>Symbol</td><td>string</td><td>Mã CK</td></tr><tr><td>Ceiling</td><td>number</td><td>Giá cao nhất</td></tr><tr><td>Floor</td><td>number</td><td>Giá sàn</td></tr><tr><td>RefPrice</td><td>number</td><td>Giá tham chiếu</td></tr><tr><td>Open</td><td>number</td><td>Giá mở cửa</td></tr><tr><td>Close</td><td>number</td><td>Giá đóng cửa</td></tr><tr><td>High</td><td>number</td><td>Giá cao nhất</td></tr><tr><td>Low</td><td>number</td><td>Giá thấp nhất</td></tr><tr><td>Avg</td><td>number</td><td>Giá trung bình</td></tr><tr><td><p>PriorVal</p><p> </p></td><td>number</td><td>Giá đóng cửa của ngày giao dịch trước đó của ngày báo cáo</td></tr><tr><td>LastPrice</td><td>number</td><td>Giá khớp gần nhất</td></tr><tr><td>Change</td><td>number</td><td>Thay đổi</td></tr><tr><td>RatioChange</td><td>number</td><td>% thay đổi</td></tr><tr><td>EstMatchedPrice</td><td>number</td><td>Giá khớp dự kiến</td></tr><tr><td>LastVol</td><td>number</td><td>Khối lượng khớp gần nhất</td></tr><tr><td>TotalVal</td><td>number</td><td>Tổng giá trị khớp lệnh từ khi thị trường mở cửa đến thời điểm báo cáo.</td></tr><tr><td>TotalVol</td><td><p>number</p><p> </p></td><td>Tổng khối lượng khớp lệnh từ khi mở cửa thị trường đến thời điểm báo cáo.</td></tr><tr><td>BidPrice1</td><td>number</td><td>Giá bid tốt nhất 1</td></tr><tr><td>BidVol1</td><td>number</td><td>Khối lượng bid tốt nhất 1</td></tr><tr><td>BidPrice2</td><td>number</td><td>Giá bid tốt nhất 2</td></tr><tr><td>BidVol2</td><td>number</td><td>Khối lượng bid tốt nhất 2</td></tr><tr><td>BidPrice3</td><td>number</td><td>Giá bid tốt nhất 3</td></tr><tr><td>BidVol3</td><td>number</td><td>Khối lượng bid tốt nhất 3</td></tr><tr><td>BidPrice4</td><td>number</td><td>Giá bid tốt nhất 4</td></tr><tr><td>BidVol4</td><td>number</td><td>Khối lượng bid tốt nhất 4</td></tr><tr><td>BidPrice5</td><td>number</td><td>Giá bid tốt nhất 5</td></tr><tr><td>BidVol5</td><td>number</td><td>Khối lượng bid tốt nhất 5</td></tr><tr><td>BidPrice6</td><td>number</td><td>Giá bid tốt nhất 6</td></tr><tr><td>BidVol6</td><td>number</td><td>Khối lượng bid tốt nhất 6</td></tr><tr><td>BidPrice7</td><td>number</td><td>Giá bid tốt nhất 7</td></tr><tr><td>BidVol7</td><td>number</td><td>Khối lượng bid tốt nhất 7</td></tr><tr><td>BidPrice8</td><td>number</td><td>Giá bid tốt nhất 8</td></tr><tr><td>BidVol8</td><td>number</td><td>Khối lượng bid tốt nhất 8</td></tr><tr><td>BidPrice9</td><td>number</td><td>Giá bid tốt nhất 9</td></tr><tr><td>BidVol9</td><td>number</td><td>Khối lượng bid tốt nhất 9</td></tr><tr><td>BidPrice10</td><td>number</td><td>Giá bid tốt nhất 10</td></tr><tr><td>BidVol10</td><td>number</td><td>Khối lượng bid tốt nhất 10</td></tr><tr><td>AskPrice1</td><td>number</td><td>Giá ask tốt nhất 1</td></tr><tr><td>AskVol1</td><td>number</td><td>Khối lượng ask tốt nhất 1</td></tr><tr><td>AskPrice2</td><td>number</td><td>Giá ask tốt nhất 2</td></tr><tr><td>AskVol2</td><td>number</td><td>Khối lượng ask tốt nhất 2</td></tr><tr><td>AskPrice3</td><td>number</td><td>Giá ask tốt nhất 3</td></tr><tr><td>AskVol3</td><td>number</td><td>Khối lượng ask tốt nhất 3</td></tr><tr><td>AskPrice4</td><td>number</td><td>Giá ask tốt nhất 4</td></tr><tr><td>AskVol4</td><td>number</td><td>Khối lượng ask tốt nhất 4</td></tr><tr><td>AskPrice5</td><td>number</td><td>Giá ask tốt nhất 5</td></tr><tr><td>AskVol5</td><td>number</td><td>Khối lượng ask tốt nhất 5</td></tr><tr><td>AskPrice6</td><td>number</td><td>Giá ask tốt nhất 6</td></tr><tr><td>AskVol6</td><td>number</td><td>Khối lượng ask tốt nhất 6</td></tr><tr><td>AskPrice7</td><td>number</td><td>Giá ask tốt nhất 7</td></tr><tr><td>AskVol7</td><td>number</td><td>Khối lượng ask tốt nhất 7</td></tr><tr><td>AskPrice8</td><td>number</td><td>Giá ask tốt nhất 8</td></tr><tr><td>AskVol8</td><td>number</td><td>Khối lượng ask tốt nhất 8</td></tr><tr><td>AskPrice9</td><td>number</td><td>Giá ask tốt nhất 9</td></tr><tr><td>AskVol9</td><td>number</td><td>Khối lượng ask tốt nhất 9</td></tr><tr><td>AskPrice10</td><td>number</td><td>Giá ask tốt nhất 10</td></tr><tr><td>AskVol10</td><td>number</td><td>Khối lượng ask tốt nhất 10</td></tr><tr><td>MarketID</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>Exchange</td><td> string</td><td> Sàn giao dịch</td></tr><tr><td>TradingSession</td><td>string</td><td><a href="/pages/HffFyyEr5oG22dVzWDWd">Phiên giao dịch</a></td></tr><tr><td>TradingStatus</td><td>string</td><td><a href="/pages/hgF35ic72PxJHR2tymBZ">Trạng thái giao dịch </a></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input:
X: ALL 
Output:
{"DataType":"X",
"Content":"{
\"RType\":\"X\",
\"TradingDate\":\"15/08/2023\",
\"Time\":\"10:28:41\",
\"Isin\":\"TAR\",
\"Symbol\":\"TAR\",
\"Ceiling\":23400.0,
\"Floor\":19200.0,
\"RefPrice\":21300.0,
\"Open\":21300.0,
\"High\":22300.0,
\"Low\":21300.0,
\"Close\":21800.0,
\"AvgPrice\":21784.0,
\"PriorVal\":21300.0,
\"LastPrice\":21800.0,
\"LastVol\":100.0,
\"TotalVal\":27946100000.0,
\"TotalVol\":1282900.0,
\"BidPrice1\":21800.0,
\"BidPrice2\":21700.0,
\"BidPrice3\":21600.0,
\"BidPrice4\":21500.0,
\"BidPrice5\":21400.0,
\"BidPrice6\":21300.0,
\"BidPrice7\":21200.0,
\"BidPrice8\":21100.0,
\"BidPrice9\":21000.0,
\"BidPrice10\":20900.0,
\"BidVol1\":18800.0,
\"BidVol2\":35300.0,
\"BidVol3\":93600.0,
\"BidVol4\":60000.0,
\"BidVol5\":45800.0,
\"BidVol6\":94500.0,
\"BidVol7\":42900.0,
\"BidVol8\":48400.0,
\"BidVol9\":165900.0,
\"BidVol10\":26100.0,
\"AskPrice1\":21900.0,
\"AskPrice2\":22000.0,
\"AskPrice3\":22100.0,
\"AskPrice4\":22200.0,
\"AskPrice5\":22300.0,
\"AskPrice6\":22400.0,
\"AskPrice7\":22500.0,
\"AskPrice8\":22600.0,
\"AskPrice9\":22700.0,
\"AskPrice10\":22800.0,
\"AskVol1\":50300.0,
\"AskVol2\":109800.0,
\"AskVol3\":58500.0,
\"AskVol4\":152600.0,
\"AskVol5\":92200.0,
\"AskVol6\":129800.0,
\"AskVol7\":178700.0,
\"AskVol8\":60100.0,
\"AskVol9\":29400.0,
\"AskVol10\":17000.0,
\"MarketId\":\"HNX\",
\"Exchange\":\"HNX\",
\"TradingSession\":\"LO\",
\"TradingStatus\":\"N\",
\"Change\":500.0,
\"RatioChange\":2.35,
\"EstMatchedPrice\":0.0}"}
```

### Dữ liệu Room nước ngoài

{% tabs %}
{% tab title="Input" %}
R:\<Danh sách mã chứng khoán>

Các mã CK được ngăn cách nhau bởi dấu "-". Hoặc có thể nhập ALL để lấy thông tin room của tất cả các mã.&#x20;

VD: R:SSI hoặc R:SSI-PAN hoặc R:ALL
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="159">Dữ liệu</th><th width="120">Kiểu </th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>string</td><td>Định dạng: R</td></tr><tr><td>TradingDate</td><td>Date</td><td>Ngày giao dịch<br>Định dạng: dd/mm/yyyy</td></tr><tr><td>Time</td><td>Time</td><td>Định dạng: <br>HH:MM:SS</td></tr><tr><td>ISIN</td><td>string</td><td>Mã ISIN</td></tr><tr><td>Symbol</td><td>string</td><td>Mã CK</td></tr><tr><td>TotalRoom</td><td>number</td><td>Tổng room</td></tr><tr><td><p>CurrentRoom</p><p> </p></td><td>number</td><td>Tổng khối lượng khớp lệnh mà khối ngoại mua từ khi mở cửa thị trường đến thời điểm báo cáo</td></tr><tr><td>FBuyVol</td><td>number</td><td>Tổng khối lượng khớp lệnh mà nhà đầu tư nước ngoài mua từ khi mở cửa thị trường đến thời điểm báo cáo</td></tr><tr><td>FSellVol</td><td> number</td><td>Tổng khối lượng khớp lệnh mà nhà đầu tư nước ngoài đã bán từ khi mở cửa thị trường đến thời điểm báo cáo</td></tr><tr><td>FBuyVal</td><td>number</td><td><p>Tổng giá trị mua khớp của khách hàng nước ngoài.<br>Đối với HOSE, streaming tự tính theo công thức:</p><p>BuyVal = BuyVol * LastPrice (Giá khớp gần nhất)</p></td></tr><tr><td>FSellVal</td><td>number</td><td><p>Tổng giá trị bán khớp lệnh của khách hàng nước ngoài. <br>Đối với HOSE, streaming tự tính theo công thức:</p><p>SellVal = SellVol * LastPrice (Giá khớp gần nhất)</p></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
R:SSI
Output: 
{"DataType":"R",
"Content":"{
\"RType\":\"R\",
\"TradingDate\":\"14/08/2023\",
\"Time\":\"14:24:02\",
\"Isin\":\"SSI\",
\"Symbol\":\"SSI\",
\"TotalRoom\":1501130137.0,
\"CurrentRoom\":806887173.0,
\"BuyVol\":863352.0,
\"SellVol\":825308.0,
\"BuyVal\":25123543200.0,
\"SellVal\":24016462800.0,
\"MarketId\":\"HOSE\",
\"Exchange\":\"HOSE\"}"
}
```

### Dữ liệu chỉ số

Rtype MI cung cấp thông tin chỉ số cập nhật của tất cả các sàn HOSE, HNX, UPCOM.&#x20;

{% tabs %}
{% tab title="Input" %}
MI:\<Danh sách các mã chỉ số>

**Lưu ý:** Các mã chỉ số được ngăn cách nhau bởi dấu "-". Hoặc có thể nhập ALL để lấy thông tin của tất cả các chỉ số.&#x20;

**Ví dụ:** MI:VN30 hoặc MI:VN30-HNXindex hoặc MI:ALL
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="180">Dữ liệu</th><th width="141">Kiểu</th><th width="320">Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>String</td><td>Định dạng: MI</td></tr><tr><td>IndexID</td><td>String</td><td>Index ID</td></tr><tr><td>IndexValEst</td><td>Number</td><td>Giá dự tính Index</td></tr><tr><td>IndexValue</td><td>Number</td><td>Giá Index</td></tr><tr><td>Trading Date</td><td>Date</td><td>Ngày giao dịch</td></tr><tr><td>Time</td><td>Timestamp</td><td>Thời gian</td></tr><tr><td>Change</td><td>Number</td><td>Thay đổi của Index</td></tr><tr><td>RatioChange</td><td>Number</td><td>% thay đổi</td></tr><tr><td>TotalTrade</td><td>Number</td><td>Tổng số lệnh khớp (cả thông thường và thỏa thuận)</td></tr><tr><td>TotalQtty</td><td>Number</td><td>Tổng khối lượng</td></tr><tr><td>TotalValue</td><td>Number</td><td>Tổng giá trị khớp lệnh thông thường</td></tr><tr><td>TypeIndex</td><td>String</td><td><p>Index: <br>“Main” – chỉ số chính như VN30 </p><p>“Industry” – chỉ số liên quan đến Industry </p><p>“Khác” – chỉ số không được phân loại.</p></td></tr><tr><td>IndexName</td><td>String</td><td>Tên của Index</td></tr><tr><td>Advances</td><td>Number</td><td>Tổng số mã tăng giá</td></tr><tr><td>Nochanges</td><td>Number</td><td>Tổng số mã có giá không đổi</td></tr><tr><td>Declines</td><td>Number</td><td>Tổng số mã giảm giá</td></tr><tr><td>Ceiling</td><td>Number</td><td>Tổng số mã có giá cuối cùng = giá trần</td></tr><tr><td>Floor</td><td>Number</td><td>Tổng số mã có giá cuối cùng = giá sàn</td></tr><tr><td>TotalQttyPT</td><td>Number</td><td>Tổng số lượng khớp lệnh thông qua</td></tr><tr><td>TotalValuePT</td><td>Number</td><td>Tổng giá trị khớp lệnh thỏa thuận</td></tr><tr><td>TotalQttyOd</td><td>Number</td><td> </td></tr><tr><td>TotalValueOd</td><td>Number</td><td> </td></tr><tr><td>AllQty</td><td>Number</td><td>Tổng khối lượng khớp của cả thông thường và thỏa thuận</td></tr><tr><td>AllValue</td><td>Number</td><td>Tổng giá trị khớp lệnh thông thường và thỏa thuận</td></tr><tr><td>TradingSession</td><td>String</td><td><a href="/pages/HffFyyEr5oG22dVzWDWd">Phiên giao dịch</a></td></tr><tr><td>Exchange</td><td>String</td><td><a href="/pages/cIgM5Q23yGmp37yyKuec">Sàn giao dịch</a></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input: 
MI:VN30
Output:
{'DataType': 'MI',
'Content': {
"IndexId":"VN30",
“IndexValEst”:1200.03,
"IndexValue":1238.76,
"PriorIndexValue":1226.16,
"TradingDate":"02/04/2021",
"Time":"11:28:13",
"TotalTrade":0.0,
"TotalQtty":191838100.0,
"TotalValue":7289093000000.0,
"IndexName":"VN30",
"Advances":25,
"NoChanges":2,
"Declines":3,"Ceilings":0,
"Floors":0,"Change":12.6,
"RatioChange":1.03,
"TotalQttyPt":2064000.0,
"TotalValuePt":244251000000.0,
"Exchange":"HOSE",
"AllQty":193902100.0,
"AllValue":7533344000000.0,
"IndexType":"Main",
"TradingSession":null,
"MarketId":null,
"RType":"MI",
"TotalQttyOd":0.0,
"TotalValueOd":0.0}'
}
```

### Dữ liệu OHLCV

Rtype B sẽ trả ra thông tin open, high, low, close, volume của các mã chứng khoán/chỉ số theo tick.&#x20;

{% tabs %}
{% tab title="Input" %}
B:\<Mã ck hoặc mã chỉ số>

**Lưu ý:** Các mã CK/chỉ số được ngăn cách nhau bởi dấu "-". Hoặc có thể nhập ALL để lấy thông tin OHLCV realtime của tất cả các mã.&#x20;

**Ví dụ:** B:SSI; B:SSI-VN30 hoặc B:ALL
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="153">Tên trường</th><th width="86">Kiểu dữ liệu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>String</td><td>Có giá trị là B</td></tr><tr><td>Time</td><td>Timestamp</td><td>Bao gồm Ngày và Thời gian</td></tr><tr><td>Symbol</td><td>String</td><td>Mã chứng khoán/chỉ số</td></tr><tr><td>Open</td><td>Number</td><td>Giá mở cửa</td></tr><tr><td>High</td><td>Number</td><td>Giá cao nhất</td></tr><tr><td>Low</td><td>Number</td><td>Giá thấp nhất</td></tr><tr><td>Close</td><td>Number</td><td>Giá đóng cửa</td></tr><tr><td>Volume</td><td>Number</td><td>Khối lượng khớp gần nhất</td></tr><tr><td>Value</td><td>Number</td><td>Giá trị khớp gần nhất. Tạm thời để bằng 0</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input: 
B:X26
Output:
{‘Datatype’: 'B',
 ‘Content’: '{
 "RType":"B",
 "Symbol":"X26",
 "TradingTime":"14:28:33",
 "Open":16000,
 "High":16000,
 "Low":16000,
 "Close":16000,
 "Volume":5000,
 "Value":0}' 
 }
```

### Dữ liệu Lô lẻ (Odlot)

Rtype OL sẽ trả ra thông tin giao dịch lô lẻ open, high, low, close, volume của các mã chứng khoán&#x20;

{% tabs %}
{% tab title="Input" %}
**OL:All** :  trả về data lô lẻ tất cả các mã thuộc 3 sàn HOSE, HNX, UPCOM)

**OL:\<Mã chứng khoán>**: chỉ trả ra data của giao dịch lô lẻ cho mã chứng khoán Đăng ký

**Lưu ý:** Các mã chứng khoán được ngăn cách nhau bởi dấu "-". Hoặc có thể nhập **ALL** để lấy thông tin giao dịch realtime của tất cả các mã.&#x20;

**Ví dụ:** B:SSI; B:SSI-VND hoặc B:ALL
{% endtab %}

{% tab title="Output" %}

<table><thead><tr><th width="157">Tên trường</th><th width="117">Kiểu dữ liệu</th><th>Mô tả</th></tr></thead><tbody><tr><td>Rtype</td><td>String</td><td>Có giá trị là OL</td></tr><tr><td>TradingDate</td><td>String</td><td>Ngày giao dịch theo định dạng dd/MM/yyyy</td></tr><tr><td>Time</td><td>Timestamp</td><td>Bao gồm Ngày và Thời gian</td></tr><tr><td>StockNo</td><td>Number</td><td>Mã chứng khoán dạng số</td></tr><tr><td>Symbol</td><td>String</td><td>Mã chứng khoán</td></tr><tr><td>Ceiling</td><td>Number</td><td>Giá trần</td></tr><tr><td>Floor</td><td>Number</td><td>Giá sàn</td></tr><tr><td>RefPrice</td><td>Number</td><td>Giá tham chiếu</td></tr><tr><td>Open</td><td>Number</td><td>Giá mở cửa</td></tr><tr><td>High</td><td>Number</td><td>Giá cao nhất</td></tr><tr><td>Low</td><td>Number</td><td>Giá thấp nhất</td></tr><tr><td>LastPrice</td><td>Number</td><td>Giá khớp gần nhất</td></tr><tr><td>LastVol</td><td>Number</td><td>Khối lượng khớp gần nhất</td></tr><tr><td>TotalVal</td><td>Number</td><td>Tổng giá trị giao dịch của cổ phiếu (cả lô chẵn và lẻ)</td></tr><tr><td>TotalVol</td><td>Number</td><td>Tổng khối lượng giao dịch của cổ phiếu</td></tr><tr><td>BidPrice1 </td><td>Number</td><td>Giá đặt mua tốt mức 1</td></tr><tr><td>BidPrice2 </td><td>Number</td><td>Giá đặt mua tốt mức 2</td></tr><tr><td>BidPrice3 </td><td>Number</td><td>Giá đặt mua tốt mức 3</td></tr><tr><td>BidVol1 </td><td>Number</td><td>Khối lượng đặt mua tốt mức 1</td></tr><tr><td>BidVol2 </td><td>Number</td><td>Khối lượng đặt mua tốt mức 2</td></tr><tr><td>BidVol3 </td><td>Number</td><td>Khối lượng đặt mua tốt mức 3</td></tr><tr><td>AskPrice1 </td><td>Number</td><td>Giá đặt bán tốt mức 1</td></tr><tr><td>AskPrice2 </td><td>Number</td><td>Giá đặt bán tốt mức 2</td></tr><tr><td>AskPrice3 </td><td>Number</td><td>Giá đặt bán tốt mức 3</td></tr><tr><td>AskVol1 </td><td>Number</td><td>Khối lượng đặt bán tốt mức 1</td></tr><tr><td>AskVol2 </td><td>Number</td><td>Khối lượng đặt bán tốt mức 2</td></tr><tr><td>AskVol3</td><td>Number</td><td>Khối lượng đặt bán tốt mức 3</td></tr><tr><td>Exchange</td><td>String</td><td>Sàn giao dịch (HOSE/HNX/UPCOM)</td></tr><tr><td>TradingSession</td><td>String</td><td>Phiên giao dịch lô lẻ (LO/ATO/ATC/CLOSE/Break)</td></tr><tr><td>TradingStatus</td><td>String</td><td>Trạng thái mã chứng khoán N/H (Normal/Halt)</td></tr><tr><td>Change</td><td>Number</td><td>Thay đổi giá khớp gần nhất so với tham chiếu</td></tr><tr><td>RatioChange</td><td>Number</td><td>Phần trăm thay đổi giá khớp gần nhất so với tham chiếu</td></tr><tr><td>StockType</td><td>String</td><td>Loại cổ phiếu (Stock / Bond/ ETF...)</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Ví dụ**

```json
Input: 
OL:MBB
Output:
{
  "DataType": "OL",
  "Content": {
    "RType": "OL",
    "TradingDate": "18/02/2025",
    "Time": "13:55:03",
    "StockNo": 2027,
    "Symbol": "MBB",
    "Ceiling": 24200,
    "Floor": 21100,
    "RefPrice": 22650,
    "Open": 22650,
    "High": 22950,
    "Low": 22600,
    "LastPrice": 22750,
    "LastVol": 9193,
    "TotalVal": 185028289999.99728,
    "TotalVol": 8135000,
    "BidPrice1": 22700,
    "BidPrice2": 22650,
    "BidPrice3": 22600,
    "BidVol1": 1108,
    "BidVol2": 1630,
    "BidVol3": 2016,
    "AskPrice1": 22750,
    "AskPrice2": 22800,
    "AskPrice3": 22850,
    "AskVol1": 132,
    "AskVol2": 548,
    "AskVol3": 297,
    "Exchange": "HOSE",
    "TradingSession": "LO",
    "TradingStatus": "H",
    "Change": 100,
    "RatioChange": 0.44,
    "StockType": "Stock"
  }
}

```
