Chuyển tới nội dung chính

Nghiệp vụ 2: Truy vấn + Hold tiền (mua CK)

Query cash balance and hold funds for securities purchase.

Message Type

camt.048 - Intra Balance Movement Instruction
camt.025 - Receipt (Response)

Mục đích

Công ty chứng khoán vừa truy vấn số dư tiền vừa yêu cầu hold (phong tỏa) một số tiền cụ thể để đảm bảo khách hàng có đủ tiền thanh toán cho giao dịch mua chứng khoán.

REQUEST - Broker → UFG → Custody Bank

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.048.001.05">
<IntraBalMvmntInstr>
<MsgHdr>
<MsgId>BRK00-HOLD-20250126-001</MsgId>
<CreDtTm>2025-01-26T11:00:00Z</CreDtTm>
</MsgHdr>
<InstrId>HOLD-VN30-20250126-001</InstrId>
<ReqdExctnDt>
<Dt>2025-01-26</Dt>
</ReqdExctnDt>
<CshAcct>
<Id>
<Othr>
<Id>0821234567</Id>
</Othr>
</Id>
</CshAcct>
<SttlmAmt Ccy="VND">1500000000</SttlmAmt> <!-- Số tiền yêu cầu hold -->
<CdtDbtInd>DBIT</CdtDbtInd>
<Purp>
<Cd>SECU</Cd> <!-- Securities Purchase -->
</Purp>
<SplmtryData>
<PlcAndNm>OrderDetails</PlcAndNm>
<Envlp>
<OrderRef>ORD-VN30-001</OrderRef>
<Symbol>VN30F2501</Symbol>
<Quantity>100</Quantity>
<Price>15000000</Price>
<Side>BUY</Side>
</Envlp>
</SplmtryData>
</IntraBalMvmntInstr>
</Document>

Giải thích các trường quan trọng

TrườngMô tả
InstrIdInstruction ID - định danh yêu cầu hold
SttlmAmtSettlement Amount - số tiền cần hold
CdtDbtIndCredit/Debit Indicator - DBIT = trừ tiền
PurpPurpose - SECU = Securities
SplmtryDataSupplementary Data - thông tin bổ sung về lệnh

RESPONSE - Custody Bank → UFG → Broker

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.025.001.05">
<Rct>
<MsgId>
<MsgId>CUSTODY00-ACK-20250126-001</MsgId>
<CreDtTm>2025-01-26T11:00:01Z</CreDtTm>
</MsgId>
<ReqHdlg>
<StsCd>PACK</StsCd> <!-- Partially Accepted = Sufficient -->
<!-- Hoặc RJCT = Rejected = Insufficient -->
</ReqHdlg>
<OrgnlMsgId>
<MsgId>BRK00-HOLD-20250126-001</MsgId>
</OrgnlMsgId>
<SplmtryData>
<PlcAndNm>HoldDetails</PlcAndNm>
<Envlp>
<HoldRef>HOLD-CUSTODY-001</HoldRef>
<Status>ACCEPTED</Status> <!-- ACCEPTED hoặc REJECTED -->
<HoldAmount Ccy="VND">1500000000</HoldAmount>
<ValidUntil>2025-01-26T16:00:00Z</ValidUntil>
</Envlp>
</SplmtryData>
</Rct>
</Document>

Status Codes

CodeÝ nghĩaMô tả
PACKPartially AcceptedĐủ số dư - Hold thành công
RJCTRejectedKhông đủ số dư - Hold thất bại
Hold Expiry

Hold requests có thời hạn mặc định 4 giờ (cho T+0 trading). Sau thời gian này, nếu không có settlement, số tiền sẽ tự động được release.

Use Cases

1. Đặt lệnh mua chứng khoán

Khi khách hàng đặt lệnh mua, công ty chứng khoán hold ngay số tiền để đảm bảo thanh toán.

2. Đặt lệnh phái sinh

Với giao dịch phái sinh, hold margin requirement.

3. Pre-settlement check

Trước khi settlement T+2, reconfirm hold vẫn còn hiệu lực.

Flow Diagram

Lưu ý kỹ thuật

Hold Duration

  • Default: 4 giờ cho T+0 trading
  • T+2 securities: Có thể extend đến ngày settlement
  • Derivatives: Theo quy định margin

Hold Reference

Custody Bank trả về HoldRef để tracking. Broker cần lưu reference này cho các thao tác sau:

  • Release hold (khi hủy lệnh)
  • Query hold status
  • Modify hold amount

Concurrent Holds

Một tài khoản có thể có nhiều hold requests cùng lúc cho các lệnh khác nhau.

Total Balance: 10,000,000,000 VND
├── Hold 1: 1,500,000,000 VND (Order VN30-001)
├── Hold 2: 2,000,000,000 VND (Order HPG-002)
└── Available: 6,500,000,000 VND