Overview
Request for quote is a control used for buying and selling bonds. The Kodiak implementation implements Directed Request for Quote where counterparties need to be selected to send the quote to.
TODO: Update page with information for how to use the new token service
Server
Setup
Currently the quote server is hosted on kodiak-dev → C:\temp\publish\Kodi.Kodiak.Quotes.Api . To start the server, simply run the application as administrator.
The swagger for the server can then be viewed on kodiak-dev here: http://localhost:7080/swagger/index.html
Or on your local machine here:
https://kodiak-dev.kodi.is:7081/swagger/index.html
The server validates tokens from Kodiak Token Issuer and it is necessary to include tokens from there as bearer tokens to communicate with the RFQ server.
The server contains the following operations:
Code Block |
---|
GET
"/api/quotes/login/{token}"
Returns an object containing all quotes, quote offers and quote trades for today.
POST
"/api/quotes"
Body: CreateQuoteRequest
To send a new quote request
DELETE
"/api/quotes/{quoteId}"
Body: CancelQuoteRequest
To cancel the quote specified by the quoteId
POST
"/api/quotes/{quoteId}/offer_quote"
Body: CreateQuoteOfferRequest
To send a quote offer to the quote specified by the quoteId
POST
"/api/quotes/{quoteId}/accept_quote"
Body: AcceptQuoteOfferRequest
To accept a quote offer for the quote. Quote offer specified in accept quote type |
Client
You can open a new quote window under Trading → Quotes
Flow
The initiator starts the process by creating a quote. The required fields are buyBuy/sellSell, quantity, Symbol, Price and a list of counterpartiesCounterparties.
...
All counterparties specified in the counterparties list will receive the quote and have around 3 minutes to respond before the quote expires.
...
When a quote offer is accepted, a manual trade is generated.
Using Postman collection to call EMS
It isn’t possible to respond to a quote internally, and we’re unsure about whether or not we will implement it in the future. Therefore, to go through the entire flow from creating a quote to generating a quote trade, you can use the postman collection included here to call ems-s and ems-s2 for testing purposes:
...
In order to be able to send requests to ems-s or ems-s2, you’ll first have to authenticate through “Get token - y48/y49”. The token response will then be saved in the environment and you can send requests to ems-s and/or ems-s2.
Examples
Example flow using the OMS Client as an initiator and a y_49 user as the respondent using postman:
...
You create a new quote in postman under “Enter quote - y49”
You send a quote offer in the OMS Client
The id to accept the quote offer through ems-s2 isn’t available to us anywhere so the flow can’t be completed as of right now…
Trade ticker
Optionally, quotes can be displayed in the trade ticker for Genium/Inet bonds. Quotes are marked orange in the trade ticker. The trade ticker can only display quote offers and generated quote trades.
...