Market Data
Establishing Connection
To establish connection with Mirae WebSocket for Market Feed, you can to the below endpoint using WebSocket library.
wss://ws.mstock.trade?API_KEY=KEY&ACCESS_TOKEN=ACXX
Auth
- Authentication is done based on the Access Token generated in Login
- The Access Token is then passed in Query Paramater of the WebSocket URL
- Sample: ws://192.168.0.1:8003?ACCESS_TOKEN= abcxxx
- The IP:Port will be replaced with UAT and PROD urls.
- If the Access Token is not authenticated, the connection will not be made.
- Once the connection is successful, LOGIN:AccessToken has to be sent on the WebSocket connection to maintain the connection.
- If not sent, the connection will be auto disconnected in 10 seconds
- Sample: LOGIN:abcxxx
Request Structure -
Requests are simple JSON messages with two parameters, a (action) and v (value).
- Available Actions (a) : subscribe, unsubscribe, mode
- Available Values (v): These represents array of tokens in case of subscribe and unsubscribe. In case of mode, the available mode values are expected here.
- Available Modes: ltp, quote, full
Subscribe :
{
"a": "subscribe",
"v": [
55256,
55412
]
}
unsubscribe :
{
"a": "unsubscribe",
"v": [
55256,
55412
]
}
mode :
{
"a": "mode",
"v": [
"ltp"
]
}
Response Structure -
Quotes delivered via the API are always binary messages. These have to be read as bytes and then type-casted into appropriate quote data structures.
Each binary message consists of Header and the actual Quote Packet. The structure is as follows,
- The first two bytes [short] are for number of packets in the message.
- The next two bytes [short] are for number of total bytes in the quote packet.
- The remaining bytes are for quote packet
Note
Please Note : 1. [short]: 2 Bytes | [int]: 4 Bytes
Quote Packet Structure: (64 Bytes + Market Depth)
Field | Type | Bytes |
---|---|---|
Token | [int] | 0 - 4 |
LTP | [int] | 4 - 8 |
Last Traded Qty | [int] | 8 - 12 |
Average Traded Price | [int] | 12 - 16 |
Volume Traded Today | [int] | 16 - 20 |
Total Buy Qty | [int] | 20 - 24 |
Total Sell Qty | [int] | 24 - 28 |
Open | [int] | 28 - 32 |
High | [int] | 32 - 36 |
Low | [int] | 36 - 40 |
Close | [int] | 40 - 44 |
Last Traded Timestamp | [int] | 44 - 48 |
Open Interest | [int] | 48 - 52 |
Open Interest High | [int] | 52 - 56 |
Open Interest Low | [int] | 56 - 60 |
Exchange Timestamp | [int] | 60 - 64 |
Market Depth | [byte[]] | 64 -184 |
Market Depth Structure: (120 Bytes)
Field | Type | Bytes |
---|---|---|
Bid Qty 1 | [int] | 64 - 68 |
Bid Price 1 | [int] | 68 - 72 |
Bid Number Of Orders 1 | [short] | 72 - 74 |
Padding | [short] | 74 - 76 |
Bid Qty 2 | [int] | 76 - 80 |
Bid Price 2 | [int] | 80 - 84 |
Bid Number Of Orders 2 | [short] | 84 - 86 |
Padding | [short] | 86 - 88 |
Bid Qty 3 | [int] | 88 - 92 |
Bid Price 3 | [int] | 92 - 96 |
Bid Number Of Orders 3 | [short] | 96 - 98 |
Padding | [short] | 98 - 100 |
Bid Qty 4 | [int] | 100 - 104 |
Bid Price 4 | [int] | 104 - 108 |
Bid Number Of Orders 4 | [short] | 108 - 110 |
Padding | [short] | 110 - 112 |
Bid Qty 5 | [int] | 112 - 116 |
Bid Price 5 | [int] | 116 - 120 |
Bid Number Of Orders 5 | [short] | 120 - 122 |
Padding | [short] | 122 - 124 |
Ask Qty 1 | [int] | 124 - 128 |
Ask Price 1 | [int] | 128 - 132 |
Ask Number Of Orders 1 | [short] | 132 - 134 |
Padding | [short] | 134 - 136 |
Ask Qty 2 | [int] | 136 - 140 |
Ask Price 2 | [int] | 140 - 144 |
Ask Number Of Orders 2 | [short] | 144 - 146 |
Padding | [short] | 146 - 148 |
Ask Qty 3 | [int] | 148 - 152 |
Ask Price 3 | [int] | 152 - 156 |
Ask Number Of Orders 3 | [short] | 156 - 158 |
Padding | [short] | 158 - 160 |
Ask Qty 4 | [int] | 160 - 164 |
Ask Price 4 | [int] | 164 - 168 |
Ask Number Of Orders 4 | [short] | 168 - 170 |
Padding | [short] | 170 - 172 |
Ask Qty 5 | [int] | 172 - 176 |
Ask Price 5 | [int] | 176 - 180 |
Ask Number Of Orders 5 | [short] | 180 - 182 |
Padding | [short] | 182 - 184 |
Index Packet Structure: (32 Bytes)
Specifically created for non tradable Index Tokens (Mentioned below)
Field | Type | Bytes |
---|---|---|
Token | [int] | 0 - 4 |
Last traded price | [int] | 4 - 8 |
High of the day | [int] | 8 - 12 |
Low of the day | [int] | 12 - 16 |
Open of the day | [int] | 16 - 20 |
Close of the day | [int] | 20 - 24 |
Price change | [int] | 24 - 28 |
Exchange timestamp | [int] | 28 - 32 |