Finances
Trader types:
Types of investment companies:
Read more: Back Office Definition | Investopedia http://www.investopedia.com/terms/b/backoffice.asp#ixzz3rxxmtflS Follow us: Investopedia on Facebook: https://www.facebook.com/Investopedia?_rdr=p
Example: GBP-USD
GBP is the 'base' (what we use to buy and sell) and USD is the counter (i.e.: what we are really buying or selling)
- In FX market we have retailers (post office where we go to exchange EUR for GBP) and wholesale. MyCompany is the latter. An example is all the banks taking the small quantities exchanges in their retail market and go to our venue to change it. Much narrow spread than in the retail market (e.g. people buying to them EUR/GBP and then they coming to us to change all those EUR back to GBP )
- Not just the simple case exposed above. For instance, if a big company like BMW wants to buy a factory in USA, it will go to the market to buy USD (EUR/USD). However, the fact that is pumping such a big amount of EUR in USA, makes the EUR weaker. That's why this operation is done is small chunks.
Check this video for an example of how a MyCompany-like platform works. ) - Quotes for a instrument. - Once we buy/sell instrument, we have opened a EUR/USD position. Before buying or selling, we can see the potential gain/losses. - With the bought quantity in point one, we close the position when we sell it back to the market. - Pending order is an order that will be executed if certain market conditions are met.
- Order Book: List of orders used to record the interest of buyers and sellers in a particular financial instrument. A matching engine uses the book to determine which orders can be fulfilled i.e. what trades can be made. Here is a good explanation about how an order book works. - Pulsed Market Data: The Market Data Server sends, by multicast, a whole view of the Order Book every 500ms.
tail -100000 MyCompany-bnpt1oe_04281603010951.R0.summary | tr '\1' ',' | grep -v "35=0" | grep --color=always "35=h"
Fix specifications:
Instrument: A financial instrument is a tradeable asset of any kind; either cash, evidence of an ownership interest in an entity, or a contractual right to receive or deliver cash or another financial instrument.
FIX: Messages : MD (market data) , Order Entry http://www.onixs.biz/fix-dictionary/4.4/tagNum_150.html Clord …
MARKET MAKING AND ORDER EXECUTION
The MyCompany Trading Platform accepts LIMIT, MARKET orders that can be listed in a single message
Customer) ----- ORDER (replace, new, cancel) -----> (Book)
|
<------ ACK Green_Room ---------------------- |
|
<------ ACK Book --------------------------------- _| (Green room delay)
First delay: Time it takes to get to the OE –> ME ; Second delay: Artificially introduced by the ME (green room)
ExecutionReport (~ACK) will be sent for each fill (order), cancel or replace
Msg type
To see if an order that has been OrderCancelRequest (35=F) was already in the market, don't rely on the ClOrdID(11) but on the OrigClOrdID(41) (Required specifically in response to cancel or replace order requests)..: The client should chain client order IDs on an ‘optimistic’ basis, ie. set the OrigClOrdID (tag 41) to the last non-rejected ClOrdID (tag 11) sent…
35=8 (ExecReport) > 150= (ExecType) > 39= (OrdStatus)
Execution Report - ExecType (150) (i.e. 35=8 ; 150= ) - Check pg 29
Specifies purpose of this report. Values are:
39 OrdStatus: Identifies current status of order. {0 new ; 1 Partially-filled; 2 Filled; 4 cancelled ; 8 rejected ..)
Other fields
9 : BodyLength
11 : ClOrderID. (ClOrdID) (See also 37, 41) Client assigned ID uniquely identifying the order. This ID must be unique during the day session and can be re-used next business day.
17 ExecID : Must be unique for each Execution Report message
PB.PC–EB
31: Price at which the order is filled (response to tag 44)
TRADE AMOUNT: 38 OrderQty ; 44 Price of the order
6 AvgPx ; 14 CumQty ; 381 GrossTradeAmt (Total amount of trade: GrossTradeAmt = CumQty * AvgPx
IDENTITY
(SenderCompID)49 —→ (TargetCompID)56 …
compId in our case can be used to discriminate MM (e.g.: BARCOE3_PFX) from non MM (without that)
Username(553) ; Password(554)
REJECTS:
From MyCompany to customer 35=8 ; OrdRejReason(103)=6 ←- Duplicate Order (note that this is also an execution report)
From the customer to MyCompany : malformed . {CheckSum(10)←- this is part of the message trailer}
Aggressive vs Passive executions: (Source)
An aggressive execution results from an order executing against an order that already resides on the order book. Entry of any order type can result in an aggressive execution except for Indicative and Firm Exposure orders.
An aggressive order chases the price. Hit against the first level of the book to achieve a trade immediately
A passive order wait for the price to come to it. Set to a new price, creating a new level in the order book, waiting for other participants to hit it.
NEW ORDER SINGLE
MARKET DATA (This data includes not only price tiers but also trades)
Returns one or more Market Data messages containing one or more Market Data Entries. Each Market Data Entry is a Bid, an Offer, a Trade.
Requests (MsgType=V)
Reply:
Scenarios:
(35=2)Messages Resend
Any changes between two pulses are sent in the next pulse
Book and updates are per instrument
Example of subscription : AggregatedBook(266) = True, SubscriptionRequestType(263) = snapshot+updates, MDUpdateType(265) = full refresh, see my subscription message below
PRICE REJECTS (What to do if):
* DTS(DACS)==⇒ feed RICS –> TSP2K8CTX04 trading.operations – spreadsheet run by Trading ops
ERROR COLLAR:
The system needs a mid-point.If there is not enough liquidity (not busy) or the book is half sided an order may reach and see no match.
That's why the external error collar is used
Corvil Notes
https://sites.google.com/site/techknw/home/nms