Tài liệu LightSpeed API V1

I. Trading API

1. Giới thiệu chung

DNSE cung cấp các API theo chuẩn Restful API với format JSON để phục vụ cho việc giao dịch chứng khoán. Để truy cập được các API này, khách hàng cần phải đăng nhập và sử dụng token sau đăng nhập để gọi API giao dịch. DNSE cung cấp cơ chế bảo mật 2 lớp gồm:

  • Lớp 1: sử dụng tài khoản và mật khẩu

  • Lớp 2: Sử dụng mã OTP

Sau khi đăng nhập lớp 1, khách hàng được cấp một jwt-token. Tuy nhiên để có thể đặt lệnh thì cần thêm xác thực OTP lớp 2: kết quả ở bước này, khách hàng sẽ nhận được trading-token và dùng thêm token này để giao dịch.

  • Với các API lấy thông tin, khi gọi lên server cần truyền theo header Authorization: "Bearer < jwt-token>" trong đó jwt-token là giá trị token trả về lúc đăng nhập thành công lớp 1 (Mục 2.a)

  • Với các API làm thay đổi dữ liệu: ví dụ: đặt, huỷ lệnh, cần gửi thêm thông tin trên header có jwt-token cùng với trading-token lấy ở lớp 2 (Mục 2.2)

2. Đăng nhập và xác thực

2.1 Đăng nhập

Resquest header

Field
Type
Description

N/A

Resquest body

Field
Type
Description

username

String

ID đăng nhập: email hoặc số điện thoại hoặc số lưu ký

password

String

Mật khẩu

Response body

Field
Type
Description

token

String

JWT token (có hiệu lực trong 8 tiếng)

2.2 Xác thực OTP

DNSE cung cấp 2 phương thức để xác thực OTP cho giao dịch qua API, có thể sử dụng một trong 2 phương thức này để xác thực:

  • Xác thực bằng Smart OTP

  • Xác thực bằng Email OTP

i. Xác thực bằng Smart OTP

Để sử dụng tính năng xác thực OTP, tài khoản cần đăng ký sử dụng Smart OTP trên ứng dụng DNSE. Hướng dẫn cài đặt Smart OTParrow-up-right

  • Sau khi xác thực OTP thành công, hệ thống sẽ cấp trading-token

  • Trading token sẽ được sử dụng trong các API chỉnh sửa dữ liệu: đặt lệnh, huỷ lệnh

  • Trading token sẽ có hiệu lực trong vòng 8h, khi hết hiệu lực cần dùng API này để xác thực và lấy lại trading-token mới.

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

smart-otp

String

Mã smart otp lấy từ ứng dụng Entrade X

Resquest body

Field
Type
Description

N/A

ii. Xác thực bằng Email OTP

Để sử dụng tính năng xác thực bằng email OTP, cần thực hiện 3 bước như sau:

Bước 1: Đăng ký

Khách hàng có thể thực hiện đăng ký online trực tiếp trên trang Web EntradeX hoặc liên hệ DNSE theo hướng dẫn: Hướng dẫn đăng kýarrow-up-right.

Bước 2: Lấy OTP bằng email

Sau khi đăng ký thành công, Khách hàng có thể sử dụng API lấy OTP bằng email.

  • Khi dùng API Email OTP thì mã OTP sẽ được gửi tới địa chỉ email đăng ký khi tạo tại khoản trên Entrade X. Hướng dẫn xem email hiện tạiarrow-up-right (Lưu ý: Email cần được xác thực trước khi dùng API)

  • Mã OTP sẽ có hiệu lực trong vòng 2 phút và chỉ dùng được 1 lần, khi dùng xong hoặc hết hiệu lực thì cần dùng API này để lấy mã mới

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

N/A

Bước 3: Xác thực OTP

Sau khi tài khoản lấy được mã OTP bằng email thì có thể xác thực OTP để hệ thống cấp trading-token.

  • Trading token sẽ được sử dụng trong các API chỉnh sửa dữ liệu: đặt lệnh, huỷ lệnh

  • Trading token sẽ có hiệu lực trong vòng 8h, khi hết hiệu lực cần dùng API này để xác thực và lấy lại trading-token mới

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

otp

String

Mã otp lấy từ API Email OTP (Bước 2)

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

tradingToken

String

Trading token (có hiệu lực trong 8 tiếng)

3. Thông tin tài khoản và tiền tài khoản

3.1 Thông tin tài khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Field
Description

N/A

OK

Response body

Field
Type
Description

investorId

String

Mã khách hàng

name

String

Họ và tên

custodyCode

String

Số lưu ký

mobile

String

Số điện thoại

email

String

Email

<others>

3.2 Thông tin tiểu khoản

Lấy danh sách tiểu khoản giao dịch

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

accounts

Account list

Danh sách các tiểu khoản

Account

Field
Type
Description

id

String

Mã tiểu khoản

custodyCode

String

Số lưu ký

investorId

String

Mã khách hàng

accountTypeName

String

Tên tiểu khoản

derivativeAccount

Bolean

Đã đăng ký giao dịch phái sinh chưa?

<others>

3.3 Thông tin tiền

Lấy thông tin tài sản tiền theo mã tiểu khoản

Path param

Field
Type
Description

account

Mã tiểu khoản <account> lấy ở bước 3.2

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

custodyCode

String

Số lưu ký

investorAccountId

String

Mã tiểu khoản, bằng giá trị <account> truyền lên

totalCash

Double

Tổng tiền hiện có

availableCash

Double

Tiền mặt hiện có đã trừ đi các khoản nợ + phí

totalDebt

Double

Tổng nợ

withdrawableCash

Double

Số tiền được rút

depositFeeAmount

Double

Phí lưu ký

depositInterest

Double

Lãi tiền gửi không ký hạn

marginDebt

Double

Nợ margin

stockValue

Double

Giá trị chứng khoán tính theo giá đầu ngày

netAssetValue

Double

Tài sản ròng

receivingAmount

Double

Tiền chờ về

secureAmount

Double

Tiền mua khớp trong ngày

withdrawableCash

Double

Số tiền có thể rút

cashDividendReceiving

Double

Tiền cổ tức chờ về

4. Giao dịch cơ sở

4.1 Danh sách gói vay

  • Lấy thông tin gói vay, gói vay sẽ được dùng để đặt lệnh

  • Gói vay là khái niệm của DNSE định nghĩa để hỗ trợ phân biệt các tỷ lệ ký quỹ khi đặt lệnh (margin, không margin)

  • Gói vay có 2 loại, type = N (non-margin) và type = M (margin)

  • Một mã chứng khoán có thể thuộc nhiều gói vay type = M, cùng một mã chứng khoán nằm trong các gói vay type M có thể khác nhau về chính sách lãi suất, chính sách phí giao dịch, tỷ lệ cho vay. Việc lựa chọn gói vay nào phụ thuộc vào nhu cầu sử dụng phù hợp của khách hàng

Path param

Field
Type
Description

accountNo

Số tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Tên trường
Kiểu dữ liệu
Diễn giải
Ghi chú

loanPackages

Array [List gói vay đang được gắn với tiểu khoản]

id

integer

Id gói vay

name

string

Tên gói vay

type

string

Loại gói vay (Margin hoặc Non-Margin)

brokerFirmBuyingFeeRate

number

Phí mua, chưa bao gồm phí trả sở (net)

brokerFirmSellingFeeRate

number

Phí bán, chưa bao gồm phí trả sở (net)

transferFee

numer

Phí chuyển khoản chứng khoán khi bán

description

string

Diễn giải

loanProducts

Array [List các mã đi kèm với chính sách margin]

Loan product là list các mã, đi kèm thông tin chính sách về lãi suất, tỷ lệ ký quỹ, kỳ hạn, thời gian miễn lãi,..

id

string

ID của từng loan product

name

string

Tên của loan product

symbol

string

Tên mã

initialRate

number

Tỷ lệ cọc ban đầu

initialRateForWithdraw

number

Tỷ lệ rút sức mua

maintenanceRate

number

Tỷ lệ duy trì

liquidRate

number

Tỷ lệ xử lý

interestRate

number

Lãi vay (%/năm)

preferentialPeriod

integer

Thời hạn miễn lãi

preferentialInterestRate

number

Lãi suất áp dụng trong thời gian miễn lãi

term

integer

Kỳ hạn vay

allowExtendLoanTerm

boolean

Cho phép gia hạn khoản vay

allowEarlyPayment

boolean

Cho phép trả nợ trước hạn

basketId

integer

ID của rổ vay

4.2 Sức mua, sức bán

Lấy thông tin sức mua sức bán tối đa theo tiểu khoản, mã, giá và gói vay

Path param

Field
Type
Description

account

Mã tiểu khoản

Query param

Field
Type
Description

loanPackageId

Mã gói vay (lấy Mã gói vay cần trong danh sách gói vay mục 4.1)

symbol

price

Giá (đơn vị đồng)

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

investorAccountId

String

Mã tiểu khoản

ppse

Double

Sức mua

price

Double

Giá tính sức mua

qmax

Double

Số lượng mua tối đa

tradeQuantity

Double

Số lượng bán tối đa

4.3 Đặt lệnh

URL
Method

https://api.dnse.com.vn/order-service/v2/orders

POST

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Trading-Token

Trading-token lấy ở xác thực bước 2 (Mục 2.2)

Resquest body

Field
Type
Description

symbol

String

side

String

Lệnh mua: NB, Lệnh bán:NS

orderType

String

Loại lệnh: LO/MP/MTL/ATO/ATC/MOK/MAK

price

Double

Giá, đơn vị đồng

quantity

Double

Khối lượng đặt

loanPackageId

Double

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

accountNo

String

Mã tiểu khoản

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

Mã chứng khoán

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MP/MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi với trạng thái expired

0: Lệnh MP không có lệnh đối ứng

Mã lỗi đối với trạng thái lệnh rejected (bị từ chối) bao gồm các mã lỗi:

QMAX_EXCEED: Vượt quá KL có thể mua/bán

INVALID_QUANTITY_LOT: KL đặt không hợp lệ

PRICE_MUST_GREATER_THAN_OR_EQUAL_TO_FLOOR_PRICE: Giá đặt không hợp lệ

PRICE_MUST_LESS_THAN_OR_EQUAL_TO_CEILING_PRICE: Giá đặt không hợp lệ

INVALID_PRICE_LOT: Giá đặt không hợp lệ

SYMBOL_IS_NOT_IN_MARGIN_BASKET: Mã không nằm trong rổ margin

4.4 Sổ lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

orders

Order list

Danh sách order

Order

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

Mã chứng khoán

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MP/MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi với trạng thái expired

0: Lệnh MP không có lệnh đối ứng

Mã lỗi đối với trạng thái lệnh rejected (bị từ chối) bao gồm các mã lỗi:

QMAX_EXCEED: Vượt quá KL có thể mua/bán

INVALID_QUANTITY_LOT: KL đặt không hợp lệ

PRICE_MUST_GREATER_THAN_OR_EQUAL_TO_FLOOR_PRICE: Giá đặt không hợp lệ

PRICE_MUST_LESS_THAN_OR_EQUAL_TO_CEILING_PRICE: Giá đặt không hợp lệ

INVALID_PRICE_LOT: Giá đặt không hợp lệ

SYMBOL_IS_NOT_IN_MARGIN_BASKET: Mã không nằm trong rổ margin

4.5 Chi tiết lệnh

Path param

Field
Type
Description

id

Số hiệu lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

Mã chứng khoán

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MP/MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi với trạng thái expired

0: Lệnh MP không có lệnh đối ứng

Mã lỗi đối với trạng thái lệnh rejected (bị từ chối) bao gồm các mã lỗi:

QMAX_EXCEED: Vượt quá KL có thể mua/bán

INVALID_QUANTITY_LOT: KL đặt không hợp lệ

PRICE_MUST_GREATER_THAN_OR_EQUAL_TO_FLOOR_PRICE: Giá đặt không hợp lệ

PRICE_MUST_LESS_THAN_OR_EQUAL_TO_CEILING_PRICE: Giá đặt không hợp lệ

INVALID_PRICE_LOT: Giá đặt không hợp lệ

SYMBOL_IS_NOT_IN_MARGIN_BASKET: Mã không nằm trong rổ margin

4.6 Huỷ lệnh

Path param

Field
Type
Description

id

Số hiệu lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Trading-Token

Trading-token lấy ở xác thực bước 2 (Mục 2.2)

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

Mã chứng khoán

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MP/MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi với trạng thái expired

0: Lệnh MP không có lệnh đối ứng

Mã lỗi đối với trạng thái lệnh rejected (bị từ chối) bao gồm các mã lỗi:

QMAX_EXCEED: Vượt quá KL có thể mua/bán

INVALID_QUANTITY_LOT: KL đặt không hợp lệ

PRICE_MUST_GREATER_THAN_OR_EQUAL_TO_FLOOR_PRICE: Giá đặt không hợp lệ

PRICE_MUST_LESS_THAN_OR_EQUAL_TO_CEILING_PRICE: Giá đặt không hợp lệ

INVALID_PRICE_LOT: Giá đặt không hợp lệ

SYMBOL_IS_NOT_IN_MARGIN_BASKET: Mã không nằm trong rổ margin

4.7 Danh sách deal nắm giữ

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

deals

Deal List

Danh sách Deal nắm giữ

Deal

Fied
Type
Description

id

long

Id deal

symbol

string

Mã chứng khoán

accountNo

string

Số tiểu khoản

orderIds

[]string

danh sách Order Id thuộc deal

status

string

Trạng thái của deal, thuộc các giá trị sau:

OPEN: đang mở

CLOSED: đã đóng

loanPackageId

string

mã gói vay

side

string

Bên mua/bán

NB: mua

NS: bán

secure

Double

cọc hiện tại của deal

accumulateQuantity

integer

Khối lượng mở tích lũy

tradeQuantity

integer

Khối lượng có thể giao dịch

closedQuantity

integer

khối lượng đã đóng

t0ReceivingQuantity

integer

t1ReceivingQuantity

integer

t2ReceivingQuantity

integer

costPrice

double

Giá vốn hiện tại của deal

averageCostPrice

double

Giá mở cửa trung bình của deal

marketPrice

double

Giá thị trường

realizedProfit

double

Lãi lỗ phần đã chốt, chưa bao gồm phí thuế

realizedTotalTaxAndFee

double

Phí thuế của phần đã chốt, bao gồm cả mở và đóng

collectedBuyingFee

double

Tổng phí mua

collectedBuyingTax

doulbe

Tổng thuế mua

collectedSellingFee

doulbe

tổng phí bán

collectedSellingTax

doulbe

tổng thuế bán

collectedStockTransferFee

double

tổng phí chuyển khoản chứng khoán khi bán

collectedInterestFee

double

Tổng lãi vay khi dùng margin

estimateRemainTaxAndFee

doulbe

phí thuế đóng tạm tính cho phần còn lại của deal, tính theo giá thị trường

unrealizedProfit

doulbe

lãi lỗ tạm tính cho phần còn lại của deal, tính theo giá thị trường

breakEvenPrice

double

giá hòa vốn

dividendReceivingQuantity

integer

dividendQuantity

integer

cashReceiving

double

rightReceivingCash

double

t0ReceivingCash

double

t1RecevingCash

double

t2RecevingCash

double

createdDate

string

ISO UTC 8601, format datetime

modifiedDate

string

datetime

currentDebt

double

nợ của phần đang mở

currentInterest

double

lãi của phần đang mở

unrealizedOpenTaxAndFee

double

phí thuế mua của phần đang mở

currentDebtExcludeToCollect

double

nợ chưa trả của deal

accumulateSecure

double

accumulateDebt

double

averageClosePrice

double

currentInterestExcludeToCollect

double

lãi chưa trả của deal

5. Giao dịch phái sinh

5.1 Danh sách gói vay

Path param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

loanPackages

Loan Package List

Danh sách các gói vay

Loan Package

Field
Type
Description

id

Integer

Mã gói vay

name

String

Tên gói vay

source

String

Tên gói vay

initialRate

Double

Tỷ lệ ký quỹ ban đầu

maintenanceRate

Double

Tỷ lệ duy trì (call margin)

liquidRate

Double

Tỷ lệ xử lý (bán xử lý)

cosponsorInitialRate

Double

Tỉ lệ an toàn

cosponsorMaintenanceRate

Double

Tỉ lệ cảnh báo

cosponsorLiquidRate

Double

Tỉ lệ xử lý

description

String

Mô tả thêm

Model: tradingFee

id

Integer

Mã biểu phí

name

String

Tên biểu phí

scope

String

Tính chất biểu phí là 1 trong 2 giá trị:

  • PRODUCT Sản phẩm

  • CUSTOMER Khách hàng

channel

String

Kênh áp dụng

createdDate

datetime

Ngày tạo biểu phí

modifiedDate

datetime

Ngày thay đổi biểu phí gần nhất

schemaType

String

Biểu phí là 1 trong 2 giá trị:

  • FIXED Cố định

  • PROGRESSIVE Luỹ tiến

tradingFee

Double

Mức phí GD mở/đóng

dailyCloseTradingFee

Double

Mức phí GD đóng luôn trong ngày

schemaType = FIXED Cố định

fixedTradingFee

Double

Mức phí GD mở/đóng cố định

fixedDailyCloseTradingFee

Double

Mức phí GD đóng luôn trong ngày cố định

schemaType = PROGRESSIVE Luỹ tiến

fromQuantity

Double

Từ giá trị

toQuantity

Double

Đến giá trị

fee

Double

Mức phí

Model: products

id

Integer

Mã sản phẩm

name

String

Tên sản phẩm

symbolTypes

String

Loại hợp đồng

initialRate

Double

Tỷ lệ ký quỹ ban đầu

maintenanceRate

Double

Tỷ lệ duy trì (call margin)

liquidRate

Double

Tỷ lệ xử lý (bán xử lý)

symbolTypes

Array

Danh sách các loại hợp đồng

  • VN30F1M: Loại mã Vn30 1 tháng

  • VN30F2M: Loại mã VN30 2 tháng

  • VN30F1Q: Loại mã VN30 1 quý

  • VN30F2Q: Loại mã VN30 2 quý

  • V100F1M: Loại mã VN100 1 tháng

  • V100F2M: Loại mã VN100 2 tháng

  • V100F1Q: Loại mã VN100 1 quý

  • V100F2Q: Loại mã VN100 2 quý

5.2 Sức mua, sức bán

Lấy thông tin sức mua sức bán tối đa theo tiểu khoản, mã, giá và gói vay

Path param

Field
Type
Description

account

Mã tiểu khoản

Query param

Field
Type
Description

loanPackageId

Mã gói vay (lấy Mã gói vay cần trong danh sách gói vay mục 5.1)

symbol

Mã, ví dụ: VN30F2306

price

Giá

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

investorAccountId

String

Mã tiểu khoản

ppse

Double

Sức mua

price

Double

Giá tính sức mua

qmaxLong

Double

Số lượng mua tối đa (LONG)

qmaxShort

Double

Số lượng bán tối đa (SHORT)

5.3 Đặt lệnh

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Trading-Token

Trading-token lấy ở xác thực bước 2 (Mục 2.2)

Resquest body

Field
Type
Description

symbol

String

Mã ví dụ VN30F2306

side

String

Lệnh mua: NB, Lệnh bán:NS

orderType

String

Loại lệnh: LO/ /MTL/ATO/ATC/MOK/MAK

price

Double

Giá

quantity

Double

Khối lượng đặt

loanPackageId

Double

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

accountNo

String

Mã tiểu khoản

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi

5.4 Sổ lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

orders

Order list

Danh sách order

Order

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi

5.5 Chi tiết lệnh

Path param

Field
Type
Description

id

Số hiệu lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi

5.6 Huỷ lệnh

Path param

Field
Type
Description

id

Số hiệu lệnh

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Trading-Token

Trading-token lấy ở xác thực bước 2 (Mục 2.2)

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh, thuộc các giá trị sau:

- LO: lệnh giới hạn

- MTL: lệnh thị trường

- ATC/ATO: lệnh khớp phiên định kỳ đóng cửa/mở cửa

- PLO: lệnh khớp lệnh sau giờ

orderStatus

string

Trạng thái lệnh, thuộc các giá trị sau đây:

- pending: chờ gửi

- pendingNew: chờ gửi

- new: chờ khớp

- partiallyFilled: khớp một phần

- filled: khớp toàn bộ

- rejected: bị từ chối

- expired: bị hết hạn trong phiên

- doneForDay: lệnh hết hiệu lực khi hết phiên

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi

5.7 Sửa lệnh

a. Kiểm tra sức mua trước khi sửa lệnh

Path and query param

Field
Type
Description

account

Số tiểu khoản

price

Giá đặt mới

id

Số hiệu lệnh của lệnh cần sửa

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Response body

Field
Type
Description

qmaxLong

integer

Nếu lệnh sửa là lệnh Mua thì đây là khối lượng tối đa lệnh được sửa ở mức Giá đặt mới

qmaxShort

integer

Nếu lệnh sửa là lệnh Bán thì đây là khối lượng tối đa lệnh được sửa ở mức Giá đặt mới

b. Sửa lệnh V2

Path param

Field
Type
Description

id

Số hiệu lệnh của lệnh cần sửa

Query param

Field
Type
Description

account

Số tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Trading-Token

Trading-token lấy ở xác thực bước 2 (Mục 2.2)

Resquest body

Field
Type
Description

price

Giá đặt mới

quantity

Khối lượng đặt mới

Response body

Field
Type
Description

id

integer

Số hiệu lệnh

side

string

Lệnh Mua/Bán thuộc các giá trị sau:

- NB: Mua

- NS: Bán

accountNo

string

Số tiểu khoản

investorId

string

Mã Khách hàng

symbol

string

price

number

Giá đặt

quantity

integer

Khối lượng đặt

orderType

string

Loại lệnh

orderStatus

string

Trạng thái lệnh

fillQuantity

integer

Khối lượng đã khớp

lastQuantity

integer

Khối lượng của lần khớp gần nhất của lệnh

lastPrice

number

Giá khớp của lần khớp gần nhất của lệnh

averagePrice

double

Giá khớp trung bình của lệnh

transDate

string

Ngày giao dịch, theo định dạng ISO UTC 8601 format date

Ví dụ: 2022-07-15

createdDate

string

Thời điểm (ngày giờ) đặt lệnh, theo định dạng ISO UTC 8601 format datetime

Ví dụ: 2022-07-

15T10:00:00.111+07:00

modifiedDate

string

Thời điểm (ngày giờ) thay đổi cuối cùng của lệnh

taxRate

double

Tỷ lệ thuế lệnh chịu

feeRate

double

Tỷ lệ phí lệnh chịu

leaveQuantity

integer

Khối lượng chưa khớp của lệnh

canceledQuantity

integer

Khối lượng đã huỷ của lệnh

priceSecure

double

Giá cọc cho lệnh

custody

string

Số lưu ký của tiểu khoản đặt lệnh

channel

string

Kênh đặt lệnh

loanPackageId

integer

Id gói vay

initialRate

number

Tỷ lệ ký quỹ theo gói vay tương ứng với lệnh

error

string

Mã lỗi

5.8 Danh sách deal nắm giữ

Query param

Field
Type
Description

account

Mã tiểu khoản

Resquest header

Field
Type
Description

Authorization

Bearer <JWT token>

Resquest body

Field
Type
Description

N/A

Response body

Field
Type
Description

data

Deal List

Danh sách Deal nắm giữ

Deal

Field
Type
Description

id

long

Id deal

symbol

string

Mã chứng khoán

accountNo

string

Số tiểu khoản

status

string

Trạng thái của deal, thuộc các giá trị sau:

OPEN: đang mở

CLOSED: đã đóng

loanPackageId

string

mã gói vay

side

string

Bên mua/bán

NB: mua

NS: bán

secure

Double

cọc hiện tại của deal

accumulateQuantity

integer

Khối lượng mở tích lũy

closedQuantity

integer

khối lượng đã đóng

openQuantity

integer

Khối lương mở

closedQuantity

integer

Khối lượng đóng

overNightQuantity

integer

Khối lượng giữ qua đêm

breakEvenPrice

Double

Giá hoà vốn

costPrice

Double

Giá vốn toàn bộ open quantity

costPriceVM

Double

Giá vốn VM (theo gía hàng ngày)

averageCostPrice

Double

Giá mở trung bình

averageClosePrice

Double

Giá đóng trung bình

totalUnrealizedProfit

Double

Lãi mở (chưa bao gồm phí thuế)

totalUnrealizedTaxAndFee

Double

Phí thuế phần mổ

totalRealizedProfit

Double

Lãi đã đóng (chưa bao gồm phí thuế)

totalRealizedTaxAndFee

Double

Phí thuế phần đã đóng

estimateRemainFee

Double

Phí ước tính còn lại

estimateRemainTax

Double

Thuế ước tính còn lại

totalRealizedPositionFee

Double

Phí vị thế phần đã đóng

totalUnrealizedPositionFee

Double

Phí vị thế phần mở

maturityFee

Double

Phí đáo hạn

createdDate

Date

Giờ tạo

modifiedDate

Date

Giờ cập nhật

marketPrice

Double

Giá thị trường

5.9 Cài chốt lời cắt lỗ theo Deal

URL
Method

https://api.dnse.com.vn/derivative-deal-risk/pnl-configs/{dealId}

POST

Path param

Field
Type
Description

dealId

Mã deal

Resquest header

Field
Type
Description

Authorization

string

Bearer <JWT token>

trading-token

string

Trading token lấy từ hệ thống auth

Resquest body

Field
Type
Description
Supported Values

takeProfitEnabled

Boolean

Trạng thái bật/ tắt cài đặt Chốt lời

true: bật chốt lời

false: tắt chốt lời

stopLossEnabled

Boolean

Trạng thái bật/ tắt cài đặt Cắt lỗ

true: bật chốt lời

false: tắt chốt lời

takeProfitStrategy

String

Kiểu cấu hình chốt lời

PNL_RATE: kích hoạt chốt lời theo tỷ lệ lãi

DELTA_PRICE : kích hoạt chốt lời theo khoảng điểm

stopLossStrategy

String

Kiểu cấu hình cắt lỗ

PNL_RATE: kích hoạt cắt lỗ theo tỷ lệ lãi

DELTA_PRICE : kích hoạt cắt lỗ theo khoảng điểm

takeProfitOrderType

String

Kiểu cấu hình giá đặt lệnh chốt lời

FASTEST : đặt lệnh tp khớp ngay

DELTA_PRICE : đặt lệnh tp theo giá tuỳ chọn

stopLossOrderType

String

Kiểu cấu hình giá đặt lệnh cắt lỗ

FASTEST : đặt lệnh sl khớp ngay

DELTA_PRICE : đặt lệnh sl theo giá tuỳ chọn

takeProfitRate

Double

Tỷ lệ lãi kích hoạt chốt lời Hệ thống chỉ ghi nhận trường này nếu sử dụng takeProfitStrategy: PNL_RATE

0< x

stopLossRate

Double

Tỷ lệ lỗ kích hoạt cắt lỗ Hệ thống chỉ ghi nhận trường này nếu sử dụng stopLossStrategy: PNL_RATE

-1 <= x < 0

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt chốt lời

Hệ thống chỉ ghi nhận trường này nếu sử dụng takeProfitStrategy: DELTA_PRICE

0 < x

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt cắt lỗ

Hệ thống chỉ ghi nhận trường này nếu sử dụng

stopLossStrategy :

DELTA_PRICE

0 < x

takeProfitOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

stopLossOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

Response body

Field
Type
Description
Supported Values

id

int

Mã bản ghi

dealId

int

Mã deal

accountNo

string

Tiểu khoản

status

string

Trạng thái cài đặt của cấu hình hệ thống

ACTIVE

takeProfitEnabled

Boolean

Trạng thái bật/ tắt cài đặt Chốt lời

true: bật chốt lời

false: tắt chốt lời

stopLossEnabled

Boolean

Trạng thái bật/ tắt cài đặt Cắt lỗ

true: bật chốt lời

false: tắt chốt lời

takeProfitStrategy

string

Kiểu cấu hình chốt lời

PNL_RATE: kích hoạt chốt lời theo tỷ lệ lãi

DELTA_PRICE : kích hoạt chốt lời theo khoảng điểm

stopLossStrategy

string

Kiểu cấu hình cắt lỗ

PNL_RATE: kích hoạt cắt lỗ theo tỷ lệ lãi

DELTA_PRICE : kích hoạt cắt lỗ theo khoảng điểm

takeProfitOrderType

string

Kiểu cấu hình giá đặt lệnh chốt lời

FASTEST : đặt lệnh tp khớp ngay

DELTA_PRICE : đặt lệnh tp theo giá tuỳ chọn

stopLossOrderType

string

Kiểu cấu hình giá đặt lệnh cắt lỗ

FASTEST : đặt lệnh sl khớp ngay

DELTA_PRICE : đặt lệnh sl theo giá tuỳ chọn

takeProfitRate

Double

Tỷ lệ lãi kích hoạt chốt lời

0< x

stopLossRate

Double

Tỷ lệ lỗ kích hoạt cắt lỗ

-1 <= x < 0

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt chốt lời

0 < x

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt cắt lỗ

0 < x

takeProfitOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

stopLossOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

autoHandleWarning

Boolean

Hiện tại chưa sử dụng tính năng này

Mặc định: true

createdDate

Date time

Thời gian cài cấu hình

Date time

modifiedDate

Date time

Thời gian lần cập nhật cấu hình cuối

Date time

5.10 Cài chốt lời cắt lỗ theo Account

URL
Method

https://api.dnse.com.vn/derivative-deal-risk/account-pnl-configs/{accountNo}

PATCH

Path param

Field
Type
Description

accountNo

Số tiểu khoản

Resquest header

Field
Type
Description

Authorization

string

Bearer <JWT token>

trading-token

string

Trading token lấy từ hệ thống auth

Resquest body

Field
Type
Description
Supported Values

status

Trạng thái cài đặt của cấu hình hệ thống

Cần truyền giá trị ‘ACTIVE’ lên

takeProfitEnabled

Boolean

Trạng thái bật/ tắt cài đặt Chốt lời

true: bật chốt lời

false: tắt chốt lời

stopLossEnabled

Boolean

Trạng thái bật/ tắt cài đặt Cắt lỗ

true: bật chốt lời

false: tắt chốt lời

takeProfitStrategy

String

Kiểu cấu hình chốt lời

PNL_RATE: kích hoạt chốt lời theo tỷ lệ lãi

DELTA_PRICE : kích hoạt chốt lời theo khoảng điểm

stopLossStrategy

String

Kiểu cấu hình cắt lỗ

PNL_RATE: kích hoạt cắt lỗ theo tỷ lệ lãi

DELTA_PRICE : kích hoạt cắt lỗ theo khoảng điểm

takeProfitRate

Double

Tỷ lệ lãi kích hoạt chốt lời Hệ thống chỉ ghi nhận trường này nếu sử dụng takeProfitStrategy: PNL_RATE

0< x

stopLossRate

Double

Tỷ lệ lỗ kích hoạt cắt lỗ Hệ thống chỉ ghi nhận trường này nếu sử dụng stopLossStrategy: PNL_RATE

-1 <= x < 0

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt chốt lời

Hệ thống chỉ ghi nhận trường này nếu sử dụng takeProfitStrategy: DELTA_PRICE

0 < x

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt cắt lỗ

Hệ thống chỉ ghi nhận trường này nếu sử dụng

stopLossStrategy :

DELTA_PRICE

0 < x

Response body

Field
Type
Description
Supported Values

accountNo

int

Số tiểu khoản

autoHandleWarning

int

Trạng thái bật/ tắt tính năng tự động tăng tỷ lệ deal

status

string

Trạng thái cài đặt của cấu hình hệ thống

ACTIVE

takeProfitEnabled

Boolean

Trạng thái bật/ tắt cài đặt Chốt lời

true: bật chốt lời

false: tắt chốt lời

stopLossEnabled

Boolean

Trạng thái bật/ tắt cài đặt Cắt lỗ

true: bật chốt lời

false: tắt chốt lời

takeProfitStrategy

string

Kiểu cấu hình chốt lời

PNL_RATE: kích hoạt chốt lời theo tỷ lệ lãi

DELTA_PRICE : kích hoạt chốt lời theo khoảng điểm

stopLossStrategy

string

Kiểu cấu hình cắt lỗ

PNL_RATE: kích hoạt cắt lỗ theo tỷ lệ lãi

DELTA_PRICE : kích hoạt cắt lỗ theo khoảng điểm

takeProfitOrderType

string

Kiểu cấu hình giá đặt lệnh chốt lời

FASTEST : đặt lệnh tp khớp ngay

DELTA_PRICE : đặt lệnh tp theo giá tuỳ chọn

stopLossOrderType

string

Kiểu cấu hình giá đặt lệnh cắt lỗ

FASTEST : đặt lệnh sl khớp ngay

DELTA_PRICE : đặt lệnh sl theo giá tuỳ chọn

takeProfitRate

Double

Tỷ lệ lãi kích hoạt chốt lời

0< x

stopLossRate

Double

Tỷ lệ lỗ kích hoạt cắt lỗ

-1 <= x < 0

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt chốt lời

0 < x

takeProfitDeltaPrice

Double

Khoảng điểm kích hoạt cắt lỗ

0 < x

takeProfitOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

stopLossOrderDeltaPrice

Double

Khoảng điểm tuỳ chỉnh của gía đặt so với giá kích hoạt

x là dạng số, mang dấu âm hoặc dương

autoHandleWarning

Boolean

Hiện tại chưa sử dụng tính năng này

Mặc định: true

createdDate

Date time

Thời gian cài cấu hình

Date time

modifiedDate

Date time

Thời gian lần cập nhật cấu hình cuối

Date time

5.11 Đóng deal

Query parameters

Field
Type
Description

adeal_id

Mã hiệu deal (lấy từ 5.7)

Request header

Field
Type
Description

Authorization

Bearer <JWT Token>

Trading-Token

Token được cấp sau khi xác thực OTP

5.12 Nộp ký quỹ phái sinh

Request header

Field
Type
Description

authorization

string

Bearer <JWT token>

smart-otp

string

Mã smart OTP lấy từ ứng dụng Entrade X

Request body

Field
Type
Description

accountNo

String

Mã tiểu khoản

sourceAccountNo

String

Mã tiểu khoản

loanPackageId

Int

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

amount

Long

Số tiền ký quỹ

via

String

Kênh thực hiện giao dịch

5.13 Rút ký quỹ phái sinh

Request header

Field
Type
Description

authorization

string

Bearer <JWT token>

smart-otp

string

Mã smart OTP lấy từ ứng dụng Entrade X

Request body

Field
Type
Description

accountNo

String

Mã tiểu khoản

sourceAccountNo

String

Mã tiểu khoản

loanPackageId

Int

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

amount

Long

Số tiền ký quỹ

via

String

Kênh thực hiện giao dịch

5.14 Tài sản phái sinh

Khách hàng có thể xem thông tin TS ròng và Cọc còn lại phái sinh.

Hiển thị Tài sản ròng của tiểu khoản đã chọn ở Menu với thông tin như sau:

Tên trường
Chi tiết

Cọc còn lại

PP0

Cọc đã sử dụng

= vsdSecure + DNSESecure - PP0 + awaitingDepositCash Là cọc để đảm bảo cho: Lệnh đang đặt, Deal, Nghĩa vụ phí thuế, Ứng nghĩa vụ PS

TT cuối ngày

= Lãi/lỗ chưa chốt + Lãi/lỗ đã chốt - Phí thuế giao dịch trong ngày - Phí vị thế trong ngày - Phí đáo hạn + Tiền lãi Vm chờ về

Trong đó:

  • Lãi/lỗ chưa chốt deal NB = (marketPrice - costPriceVM)*openQuantity*M

  • Lãi/lỗ chưa chốt deal NS = (costPriceVM - marketPrice)*openQuantity*M

  • Lãi/lỗ đã chốt = dailyRealizedProfit

  • Phí thuế giao dịch trong ngày = dailyRealizedTradingFee + dailyRealizedTradingTax

  • Phí vị thế trong ngày = positionFee

  • Phí đáo hạn = maturityFee

  • Tiền lãi Vm chờ về= profitVmReceiving

Phí thuế tạm giữ

holdCollateralFee + holdDailyRealizedTradingTaxAndFee

Tổng ứng chưa hoàn

totalLoanDebt

Tài sản ròng PS

Tài sản PS = Cọc còn lại + Cọc đã sử dụng + TT cuối ngày + Phí thuế tạm giữ - Tổng ứng chưa hoàn + Tiền cọc chờ nộp rút

  • M: 100,000

  • Các trường highlight xanh lấy ở cashAccount

  • Các trường highlight đỏ lấy ở API get pp0

  • Các trường highlight vàng lấy ở API GET deals: Mục 5.7 Danh sách Deal nắm giữ

5.15 Mô tả chi tiết Deal Phái sinh

Màn hình Chi tiết Deal được chia làm 4 nhóm như sau:

Thông tin chi tiết deal trong trường hợp deal Đang mở:

Nhóm
Mô tả

Nhóm 1

Thông tin mã

symbol, marketPrice, %price,…

Vị thế

side

NB: Mua

NS: Bán

Trạng thái

stauts

OPEN - Đang mở

Tỷ lệ cọc

initialRate

Tỷ lệ cọc hiện tại

dealRate = Tài sản ròng của deal/ Tài sản theo giá thị trường của deal

(Lãi chưa chốt không được tính vào tỷ lệ cọc do quy định của VSD)

= (Cọc đã nộp - Nợ gốc thấu chi - Lãi thấu chi- Phí, thuế GD đóng dự thu + Lỗ chưa chốt)/Tổng tài sản

  • Nếu Deal Side = NB dealRate = {secure - overDraftUnrealizedPrincipal - overDraftUnrealizedInterest - estimateRemainFee - estimateRemainTax + min[0; (marketPrice -costPriceVM)*openQuantity * M ]}/(openQuantity * marketPrice * M)

  • Nếu Deal Side = NS dealRate = {secure - overDraftUnrealizedPrincipal - overDraftUnrealizedInterest - estimateRemainFee - estimateRemainTax + min[0; (costPriceVM - marketPrice)*openQuantity * M ]}/(openQuantity * marketPrice * M)

Logic hiển thị màu dealRate:

  • dealRate >= maintenanceRate → Tỷ lệ an toàn → Màu xanh

  • liquidRate =< dealRate < maintenanceRate → Tỷ lệ cảnh báo → Màu vàng

  • dealRate < liquidRate → Tỷ lệ xử lý → Màu đỏ

Hiển thị realtime theo marketPrice

Tiểu khoản

aftypeName

Hiển thị tên tiểu khoản với tài khoản >1 tiểu khoản

Tài khoản có 1 tiểu khoản không hiển thị

Thời gian mở

createdDate

Hiển thị thời gian mở định dạng dd/mm/yyyy - hh:mi:ss

Giá hoà vốn

breakEvenPrice

tooltip: Đã được trừ phí và thuế

KL mở

openQuantity/accumulateQuantity

Hiển thị KL mở/Tổng KL

Lãi chưa chốt

= Lãi/lỗ gross - Phí, thuế GD mở - Phí, thuế GD đóng dự thu - Lãi thấu chi - Phí qua đêm (Phí thuế tính trên phần mở)

size NB

=(marketPrice - costPriceVM)*openQuantity*M - estimateRemainFee - estimateRemainTax - totalUnrealizedInterest - totalUnrealizedPositionFee - totalUnrealizedTaxAndFee

size NS

=(costPriceVM - marketPrice)*openQuantity*M - estimateRemainFee - estimateRemainTax -totalUnrealizedInterest - totalUnrealizedPositionFee - totalUnrealizedTaxAndFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Hiển thị realtime theo marketPrice

Lãi đã chốt

= Lãi mở đã thanh toán + Lãi đóng

Tooltip: Lãi đã chốt = Lãi mở đã thanh toán + Lãi đóng

Button Nộp cọc vào deal

switch popup Thêm cọc vào deal, auto fill Mã, gói vay theo chi tiết deal đã chọn

Button Giao dịch

Giao dịch

switch màn Đặt lệnh, auto fill Mã, gói vay theo chi tiết deal đã chọn

Nhóm 2

KL mở

openQuantity

Cọc ban đầu

secure

Cọc hiện tại

= Cọc đã nộp + Lãi/lỗ chưa chốt - Phí, thuế GD mở - Phí, thuế GD đóng dự tính - Phí vị thế - Lãi thấu chi (Phí, thuế tính trên phần mở)

Size NB:

= secure + (marketPrice - costPrice)*openQuantity*M - totalUnrealizedTaxAndFee- estimateRemainFee - estimateRemainTax - totalUnrealizedInterest - totalUnrealizedPositionFee

Size NS:

= secure + (costPrice - marketPrice)*openQuantity*M - totalUnrealizedTaxAndFee - estimateRemainFee - estimateRemainTax - totalUnrealizedInterest - totalUnrealizedPositionFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Realtime theo marketPrice

Phí, thuế GD

= Phí, thuế GD mở + Phí, thuế GD đóng dự tính

= totalUnrealizedTaxAndFee + estimateRemainFee + estimateRemainTax

Phí qua đêm

= totalUnrealizedPositionFee

Lãi mở

Lãi của phần khối lượng mở

= Lãi/lỗ gross - Phí, thuế GD mở - Phí, thuế GD đóng dự tính - Phí vị thế - Lãi thấu chi (Phí, thuế tính trên phần mở)

= Lãi chưa chốt + Lãi mở đã thanh toán

side NB

= (marketPrice - costPrice)*openQuantity*M - totalUnrealizedTaxAndFee - estimateRemainFee - estimateRemainTax - (overDraftUnrealizedInterest + paidOverDraftInterest) -totalUnrealizedPositionFee

side NS

= (costPrice - marketPrice)*openQuantity*M - totalUnrealizedTaxAndFee - estimateRemainFee - estimateRemainTax - (overDraftUnrealizedInterest + paidOverDraftInterest) - totalUnrealizedPositionFee

Tooltip: Lãi mở = Lãi chưa chốt + Lãi mở đã thanh toán

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

% Lãi mở

= Lãi mở/(cọc ban đầu + cọc nộp thêm phần đang mở)*100

= Lãi mở/secure*100

Trong đó:

Làm tròn số sau dấu “,” 2 số. VD: 25.555 → 25.56%, 25.554 → 25.55%

Hiển thị realtime theo marketPrice

Lãi chưa chốt

= Lãi/lỗ gross - Phí, thuế GD mở - Phí, thuế GD đóng dự thu - Lãi thấu chi - Phí qua đêm (Phí thuế tính trên phần mở)

side NB

=(marketPrice - costPriceVM)*openQuantity*M - estimateRemainFee - estimateRemainTax - (overDraftUnrealizedInterest + paidOverDraftInterest) - totalUnrealizedPositionFee - totalUnrealizedTaxAndFee

side NS

=(costPriceVM - marketPrice)*openQuantity*M - estimateRemainFee - estimateRemainTax - (overDraftUnrealizedInterest + paidOverDraftInterest) - totalUnrealizedPositionFee -totalUnrealizedTaxAndFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Hiển thị realtime theo marketPrice

Lãi mở đã thanh toán

Lãi mở đã thanh toán các ngày trước đó

= totalUnrealizedProfitVM

Tooltip: Khoản lãi đã thanh toán của khối lượng mở

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Nhóm 3

KL đóng

= closedQuantity

Giá mở TB

= averageCostPrice

Giá đóng TB

= averageClosePrice

Phí, thuế GD

= totalRealizedTaxAndFee

Phí qua đêm

= totalRealizedPositionFee

Lãi đóng

Lãi của phần đã đóng

= Lãi đóng trong ngày + Lãi đóng trước ngày hiện tại (Phải ra số giống với sổ Deal)

= Lấy công thức Lãi đóng ở sổ deal

= Tổng lãi lỗ đã chốt - Phí, thuế GD - Phí vị thế - Lãi thấu chi (Phí thuế tính trên phần đóng)

= = totalRealizedProfit - totalRealizedTaxAndFee - overDraftRealizedInterest -totalRealizedPositionFee - maturityFee

Tooltip: Lãi đóng = Lãi đóng trong ngày + Lãi đóng đã thanh toán

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

% Lãi đóng

= Lãi đóng/(cọc đã chốt + cọc nộp thêm đã chốt)*100

= Lãi đóng/(accumulateSecure - secure) *100

Trong đó:

Làm tròn số sau dấu “,” 2 số. VD: 25.555 → 25.56%, 25.554 → 25.55%

Lãi đã chốt trong ngày

= Lãi đã chốt trong ngày - Phí, thuế GD mở - Phí, thuế GD đóng - Phí vụ thế (Phí thuế tính trên phần đóng trong ngày)

= realizedProfitVM - dailyRealizedTaxAndFee - dailyRealizedInterest - dailyRealizedPositionFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Lãi đóng đã thanh toán

= Lãi đã chốt các ngày hôm trước - Phí, thuế GD mở - Phí, thuế GD đóng - Phí vụ thế (Phí thuế tính trên phần đóng các ngày hôm trước)

= = (totalRealizedProfit - realizedProfitVM) - (totalRealizedTaxAndFee + overDraftRealizedInterest + totalRealizedPositionFee - dailyRealizedTaxAndFee - dailyRealizedInterest - dailyRealizedPositionFee) - maturityFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Nhóm 4

Tổng KL

accumulateQuantity

Tổng lãi

= Lãi mở + Lãi đóng

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Hiển thị realtime theo marketPrice

% Tổng lãi

= Tổng lãi / Tổng cọc đã nộp*100

= Tổng lãi/accumulateSecure*100

Làm tròn số sau dấu “,” 2 số. VD: 25.555 → 25.56%, 25.554 → 25.55%

Hiển thị realtime theo marketPrice

Thông tin chi tiết deal trong trường hợp deal Đã đóng:

Nhóm
Mô tả

Nhóm 1

Thông tin mã

symbol, marketPrice, %price, lệch (tooltip),…

Lấy giống header mã phái sinh hiện tại

Vị thế

side

NB: Mua

NS: Bán

Trạng thái

stauts

CLOSED - Đã đóng

Tỷ lệ cọc

initialRate

Tiểu khoản

aftypeName

Hiển thị tên tiểu khoản với tài khoản >1 tiểu khoản

Tài khoản có 1 tiểu khoản không hiển thị

Thời gian mở

createdDate

Hiển thị thời gian mở định dạng hh:mi - dd/mm/yyyy

Button Giao dịch

Giao dịch

switch màn Đặt lệnh, auto fill Mã, gói vay theo chi tiết deal đã chọn

Nhóm 2

Tổng KL

accumulateQuantity

Giá mở TB

= averageCostPrice

Giá đóng TB

= averageClosePrice

Phí, thuế GD

= totalRealizedTaxAndFee

Phí qua đêm

= totalRealizedPositionFee

Lãi đóng

Lãi của phần đã đóng

= Lãi đóng trong ngày + Lãi đóng trước ngày hiện tại (Phải ra số giống với sổ Deal)

= Lấy công thức Lãi đóng ở sổ deal

= Tổng lãi lỗ đã chốt - Phí, thuế GD - Phí vị thế - Lãi thấu chi (Phí thuế tính trên phần đóng)

= totalRealizedProfit - totalRealizedTaxAndFee - overDraftRealizedInterest -totalRealizedPositionFee - maturityFee

Tooltip: Lãi đóng = Lãi đóng trong ngày + Lãi đóng đã thanh toán

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

% Lãi đóng

= Lãi đóng/(cọc đã chốt + cọc nộp thêm đã chốt)*100

= Lãi đóng/(accumulateSecure - secure) *100

Trong đó:

Làm tròn số sau dấu “,” 2 số. VD: 25.555 → 25.56%, 25.554 → 25.55%

Lãi đã chốt trong ngày

= Lãi đã chốt trong ngày - Phí, thuế GD mở - Phí, thuế GD đóng - Phí vụ thế (Phí thuế tính trên phần đóng trong ngày)

= realizedProfitVM - dailyRealizedTaxAndFee - dailyRealizedInterest - dailyRealizedPositionFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

Lãi đóng đã thanh toán

= Lãi đã chốt các ngày hôm trước - Phí, thuế GD mở - Phí, thuế GD đóng - Phí vụ thế (Phí thuế tính trên phần đóng các ngày hôm trước)

= (totalRealizedProfit - realizedProfitVM) - (totalRealizedTaxAndFee + overDraftRealizedInterest + totalRealizedPositionFee - dailyRealizedTaxAndFee - dailyRealizedInterest - dailyRealizedPositionFee) - maturityFee

Trong đó:

Làm tròn lấy phần nguyên. VD: 10000.5 → 10001, 10000.4 → 10000

+ M = 100,000

+ Lãi đã chốt, % lãi đã chốt, Lãi chưa chốt, %Lãi chưa chốt: nếu dương → hiện giá trị màu xanh, nếu âm hiện giá trị màu đỏ

+ Các trường highlight xanh lấy ở Mục 5.1 Danh sách gói vay

+ Các trường highlight đỏ lấy ở Mục 5.7 Danh sách Deal nắm giữ

6. Lệnh điều kiện

6.1 Đặt lệnh điều kiện

Field
Description

method

POST

header

Authorization: Bearer <token>

param

request body

{ "condition": "price <= 26650", "targetOrder": { "quantity": 100, "side": "NB", "price": 26600, "loanPackageId": 1531, "orderType": "LO" }, "symbol": "HPG", "props": { "stopPrice": 26650, "marketId": "UNDERLYING" }, "accountNo": "0001000006", "category": "STOP", "timeInForce": { "expireTime": "2024-10-23T07:30:00.000Z",

"kind": "GTD" } }

success response body

{ "id": "csc7iqa45sbpqutqm81g" }

error response body

{ "message": "Invalid signature" }

Request body

Field
Type
Description

condition

String

Điều kiện đặt price >= stopPrice price <= stopPrice

targetOrder

Object

targetOrder.quantity

Double

Khối lượng đặt

targetOrder.side

String

Lệnh mua: NB, Lệnh bán:NS

targetOrder.price

Doble

Giá đặt, đơn vị đồng

targetOrder.loanPackageId

Integer

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

targetOrder.orderType

String

Loại lệnh, thuộc các giá trị sau:

  • LO: lệnh giới hạn

  • MP/MTL: lệnh thị trường

symbol

String

props

Object

props.stopPrice

Double

Giá trigger lệnh điều kiện

props.marketId

String

lệnh cơ sở: UNDERLYING Lệnh phái sinh: DERIVATIVES

accountNo

String

Mã tiểu khoản

category

String

STOP

timeInForce

Object

timeInForce.expireTime

String

Thời gian hết hạn lệnh

timeInForce.kind

String

Loại : GTD

Response body

Field
Type
Description

id

String

id của lệnh điều kiện

6.2 Sổ lệnh điều kiện

Field
Description

method

GET

header

Authorization: Bearer <token>

param

accountNo:(String) Mã tiểu khoản daily: (Boolean) Lấy lệnh trong ngày(true/false) - default là false from: (String) ngày bắt đầu yyyy-MM-dd to: (String) ngày kết thúc yyyy-MM-dd page (Integer): số thứ tự trang size (Interger): số lượng item trong trang status (Array): trạng thái của lệnh (NEW/ACTIVATED/REJECTED/CANCELLED/EXPIRED/FAILED/CANCELLED_BY_RIGHTS_EVENT) symbol (String): Mã marketId: UNDERLYING (nếu lấy sổ lệnh điều kiện cơ sở) hoặc DERIVATIVES (phái sinh)

request body

success response body

{ "content": [ { "accountNo": "0001000006", "category": "STOP", "condition": "price >= 26650", "createdAt": "2024-10-23T04:19:53.94801Z", "createdBy": "064C000006", "id": "csc7iqa45sbpqutqm81g", "investorId": "0001000006", "metadata": {

"errorMessage": "", "externalOrderId": 112, "status": "OK" }, "props": { "marketId": "UNDERLYING", "stopPrice": 26650, "trailingAmount": 0, "trailingPercent": 0 }, "status": "ACTIVATED", "symbol": "HPG", "targetOrder": { "loanPackageId": 1531,

"orderType": "LO", "price": 26600, "quantity": 100, "side": "NB" }, "timeInForce": { "expireTime": "2024-10-23T07:30:00Z", "kind": "GTD" }, "updatedAt": "2024-10-23T04:19:59.299943Z", "updatedBy": "064C000006" }, { "accountNo": "0001000006", "category": "STOP", "condition": "price \u003c= 26650", "createdAt": "2024-10-23T04:18:18.971188Z", "createdBy": "064C000006", "id": "csc7i2i45sbpqutqm80g", "investorId": "0001000006", "metadata": { "errorMessage": "", "externalOrderId": 102, "status": "OK" }, "props": { "marketId": "UNDERLYING", "stopPrice": 26650, "trailingAmount": 0, "trailingPercent": 0 }, "status": "ACTIVATED",

"symbol": "HPG", "targetOrder": { "loanPackageId": 1531, "orderType": "LO", "price": 26600, "quantity": 100, "side": "NB" }, "timeInForce": { "expireTime": "2024-10-23T07:30:00Z", "kind": "GTD" },

"updatedAt": "2024-10-23T04:18:26.831862Z",

"updatedBy": "064C000006" } ], "page": 1, "size": 10000, "numberOfElements": 2, "totalElements": 2, "totalPages": 1 }

error response body

{

"message": "Invalid signature"

}

Response body

Field
Type
Description

createdAt

String

Thời gian tạo lệnh

createdBy

String

Người tạo lệnh

id

String

id của lệnh

updatedAt

String

Thời gian cập nhật lệnh

updatedBy

String

Người cập nhật lệnh

status

String

Trạng thái của lệnh

condition

String

Điều kiện đặt price >= stopPrice price <= stopPrice

targetOrder

Object

targetOrder.quantity

Double

Khối lượng đặt

targetOrder.side

String

Lệnh mua: NB, Lệnh bán:NS

targetOrder.price

Doble

Giá đặt, đơn vị đồng

targetOrder.loanPackageId

Integer

Mã gói vay, lấy gói vay muốn đặt từ api danh sách gói vay

targetOrder.orderType

String

Loại lệnh, thuộc các giá trị sau:

  • LO: lệnh giới hạn

  • MP/MTL: lệnh thị trường

symbol

String

props

Object

props.stopPrice

Double

Giá trigger lệnh điều kiện

props.marketId

String

lệnh cơ sở: UNDERLYING Lệnh phái sinh: DERIVATIVES

accountNo

String

Mã tiểu khoản

category

String

STOP

timeInForce

Object

timeInForce.expireTime

String

Thời gian hết hạn lệnh

timeInForce.kind

String

Loại : GTD

page

Integer

Trang đã yêu cầu

size

Integer

Số lượng bản ghi trong trang đã yêu cầu

numberOfElements

Integer

Số lượng lệnh trong trang

totalElements

Integer

Tổng số lượng lệnh có trong hệ thống

totalPages

Integer

Tổng số lượng trang có trong hệ thống

6.3 Chi tiết 1 lệnh điều kiện

Field
Description

url

https://api.dnse.dnse.com.vn/conditional-order-api/v1/orders/{id}

method

GET

header

Authorization: Bearer <token>

path

id : id của lệnh điều kiện

request body

success response body

{ "accountNo": "0001000006", "category": "STOP", "condition": "price <= 26650", "createdAt": "2024-10-23T04:21:30.508841Z", "createdBy": "064C000006", "id": "csc7jii45sbpqutqm820", "investorId": "0001000006", "metadata": { "errorMessage": "", "externalOrderId": 122, "status": "OK" }, "productGroupId": 0, "props": { "marketId": "UNDERLYING", "stopPrice": 26650, "trailingAmount": 0, "trailingPercent": 0 }, "status": "ACTIVATED", "symbol": "HPG", "targetOrder": { "loanPackageId": 1531, "orderType": "LO",

"price": 26600,

"quantity": 100,

"side": "NB"

},

"timeInForce": {

"expireTime": "2024-10-23T07:30:00Z", "kind": "GTD" }, "updatedAt": "2024-10-23T04:21:33.640466Z", "updatedBy": "064C000006" }

error response body

{ "message": "Invalid signature" }

6.4 Huỷ lệnh điều kiện

Field
Description

url

https://api.dnse.com.vn/conditional-order-api/v1/orders/{id}/cancel

method

PATCH

header

Authorization: Bearer <token>

path

id: id của lệnh điều kiện

success response body

{

"id": "csc7iqa45sbpqutqm81g" }

error response body

{ "message": "Invalid signature" }

Response body

Field
Type
Description

id

String

id của lệnh điều kiện


II. Market Data

1. Giới thiệu chung

1.1 Mục đích của tài liệu

Tài liệu mô tả thông tin giá thị trường được DNSE publish. Cấu trúc message và các thông tin đặc tả kèm theo.

1.2 Phạm vi của tài liệu

  • Tài liệu được sử dụng dưới sự trao đổi hợp pháp giữa Đối tác và DNSE. Mọi thông tin được mô tả trong tài liệu này cần được Đối tác cam kết bảo mật theo quy định yêu cầu bảo mật do DNSE ban hành.

  • DNSE đảm bảo về sự đúng đắn và không có sai lệch về thông tin được mô tả.

2. Đặc tả thông tin các message

Hệ thống DNSE đẩy event real-time ra MQTT. Đối tác tích hợp qua WSS protocol. Cấu trúc message đẩy ra dưới dạng json

2.1. Môi trường

Với các topic public không cần authentication:

Field
Description

Host

datafeed-lts-krx.dnse.com.vn

Port

443

Path

/wss

ClientID

<dnse-price-json-mqtt-ws-sub>-<username>-<random_sequence>

Username

Lấy từ trường investorId trong phần 2.1.b

Password

Lấy từ trường token trong phần 2.1.a

a. Đăng nhập

Resquest Header

Field
Type
Description

N/A

Resquest Body

Field
Type
Description

username

String

ID đăng nhập: Email hoặc Số điện thoại hoặc Số lưu ký

password

String

Mật khẩu

Response Body

Field
Type
Description

token

String

JWT token (có hiệu lực trong 8 tiếng

b. Thông tin tài khoản

Request Header

Field
Type
Description

Authorization

Bearer Bearer <JWT token>

Bearer <JWT token> -> lấy JWT token từ mục 2.1.a

Request Body

Field
Type
Description

N/A

OK

Response Body

Field
Type
Description

investorId

String

Mã khách hàng

name

String

Họ và tên

custodyCode

String

Số lưu ký

mobile

String

Số điện thoại

email

String

Email

<others>

2.2 Market_Data Topics

Field
Description

Stock Info

plaintext/quotes/krx/mdds/stockinfo/v1/roundlot/symbol/{symbol}

Top Price

plaintext/quotes/krx/mdds/topprice/v1/roundlot/symbol/{symbol}

Board Event

plaintext/quotes/krx/mdds/boardevent/v1/roundlot/market/{market}/product/{tsczProductGrpId}

Market Index

plaintext/quotes/krx/mdds/index/{indexName}

Stock OHLC

plaintext/quotes/krx/mdds/v2/ohlc/stock/{resolution}/{symbol}

Derivative OHLC

plaintext/quotes/krx/mdds/v2/ohlc/derivative/{resolution}/{symbol}

Index OHLC

plaintext/quotes/krx/mdds/v2/ohlc/index/{resolution}/{indexName}

Tick

plaintext/quotes/krx/mdds/tick/v1/roundlot/symbol/{symbol}

Field
Type
Description

symbol

String

Mã chứng khoán

indexName

String

Mã Index:

  • VN30

  • VNINDEX

  • HNX30

  • HNX

  • UPCOM

resolution

String

Resolution của OHLC:

  • 1: Phút

  • 1H: Giờ

  • 1D: Ngày

  • W: Tuần

marketId

String

Ký hiệu sàn:

  • STO: HoSE Stock Market

  • STX: HNX Listed Stock Market

  • BDX: HNX Government Bond Market

  • DVX: HNX Derivative Market

  • UPX: HNX UpCoM Stock Market

  • HCX: HNX Corporate Bond Market

tscProductGrpId

String

Loại chứng khoán/nhóm sản phẩm trên sàn:

  • STO : HoSE Stock

  • BDX : Government Bond

  • FIO : HoSE Index Futures (thuộc marketId DVX)

  • FBX : HNX Bond Futures (thuộc marketId DVX)

  • STX : HNX Stock

  • UPX : HNX UpCom

  • HCX : HNX Corporate Bond

Cấu trúc message được nhận qua WebSocket. Định dạng JSON

Type
Payload
Mô tả
Topic MQTT

MARKET_INDEX

MarketIndex

Chứa thông tin chỉ số

Market Index

STOCK_INFO

StockInfo

Chứa thông tin giá của mã

Stock Info

TOP_PRICE

TopPrice

Chứa thông tin Bid/Offer

Top Price

BOARD_EVENT

BoardEvent

Chứa thông tin thay đổi phiên

Board Event

OHLC

OHLC

Thông tin nến

OHLC

TICK

Tick

Thông tin khớp lệnh

Tick

Chi tiết message xem tại file 1. DNSE MDDS System - KRX v1.4.xlsx đính kèm.

(MQTT X client dùng để test kết nối: https://www.emqx.com/en/try?product=MQTTXarrow-up-right)

file-download
2KB

Last updated