Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

КГТУ Лаб 1: Stocks / FIX / FAST

2,432 views

Published on

Курс Лекций:
Обеспечение Качества Программного Обеспечения

Лаб. 1: Stocks / FIX / FAST
Максим Рудовский, Инновационные Трейдинговые Системы
Иосиф Иткин, Exactpro Systems
Александр Орлов, Инновационные Трейдинговые Системы

  • Be the first to comment

  • Be the first to like this

КГТУ Лаб 1: Stocks / FIX / FAST

  1. 1. Курс Лекций:Обеспечение Качества Программного ОбеспеченияЛаб. 1: Stocks / FIX / FASTМаксим Рудовский, Инновационные Трейдинговые СистемыИосиф Иткин, Exactpro SystemsАлександр Орлов, Инновационные Трейдинговые Системы
  2. 2. Plan:1. Введение a. Реальная стоимость vs. Биржевая стоимость b. Биржа и для чего она нужна?2. Order: Direction, Type, Qty, Price, TimeInForce, Instr3. Reject GW&ME validation4. Схема функционирования биржи a. Reject GW & Reject ME b. Order Accepted & Market Data5. Order Book6. FIX Protocol7. Работа с терминалом
  3. 3. Order parameters: MARKET LIMIT STOPMARKET STOPLIMIT ICEBERG BUY SELL DAY GTT - Good Till Time GTD - Good Till Day ORDER GTC - Good Till Cancel PRICE IOK - Immediatly Or Cancel FOK - Fill Or Kill OPG - for Opening Auction ATC - for Closing Auction GFA - for any Auction QUANTITY INSTRUMENT
  4. 4. Reject GW & Reject ME Clients & Vendors (MD receivers) Brokers Executeion Report Reject Status = Rejected UDP MULTICAST Message 2 1 FIX Gateways FAST / Market Data 2 MATCHING Distribution Sequencer ENGINE Server
  5. 5. Order Accepted & Market Data Clients & Vendors (MD receivers) Brokers Executeion Report Status = Accept UDP MULTICAST FIX Gateways FAST / Market Data 1 2 MATCHING Distribution Sequencer ENGINE Server
  6. 6. FIX message (simple example) Symbol = AAPL, Side = Sell, OrderQty = 1000, [35=D;55=AAPL;54=2;38=1000;40=1] OrdType = Market EXCHANGECLIENT FIX Order FIX Order Accept (Execution Report) Symbol = AAPL Side = Sell [35=8;55=AAPL;54=2;38=1000;40=1;39=0] OrderQty = 1000, OrdType = Market OrdStatus = New
  7. 7. FIX message (real example) <Header> … omitted … </Header> <ApplicationMessage> <Order> <ClOrdID>ORD_1</ClOrdID>^ <HandInst Value="2" /> <MinQty>1000</MinQty>11=ORD_1^21=2^110=1000^55=EK^22= <Instrument> 1^48=277461109^54=1^60=20000907 <Symbol>EK</Symbol> <IDSource>1</IDSource> - <SecurityID>277461109</SecurityID> 09:25:56^38=5000^40=2^44=62.5^15 </Instrument> <Side Value="1" /> =USD^47=A <TransactTime>20000907-09:25:56</TransactTime> <OrderQuantity>^ <OrderQty>5000</OrderQty> </OrderQuantity>10=165 <OrderType> <LimitOrder Value="2"> <Price>62.5</Price> </LimitOrder>8=FIX.4.2^9=199^35=D^34=10^49=VENDOR^115=C </OrderType> USTOMER^144=BOSTONEQ^56=BROKER^57 <Currency Value="USD" /> =DOT^143=NY^52=20000907-09:25:58 <Rule80A Value="A" /> <Order> </ApplicationMessage> </FIXMLMessage></FIXML <FIXML><FIXMLMessage>
  8. 8. FAST (field encoding) <template name="ExampleOrder"> <messageRef name="NewOrderSingle"/> <string name="BeginStr"> <constant value="FIX.4.4"/> </string> <u32 name="SeqNum"> <increment/> </u32> <string name="SenderID"> <copy/> </string> <string name="SendingTime"> <delta/> </string> <decimal name="Price"> <delta/> </decimal> <string name="Symbol"> <copy/> </string> </template>BeginStr SeqNum SenderID SendingTime Price Symbol8=FIX.4.4|34=10000|49=CLIENT1|52=20060126-13:06:58.100|44=1200|55=FOO1|8=FIX.4.4|34=10001|49=CLIENT1|52=20060126-13:06:58.200|44=1210|55=FOO1|8=FIX.4.4|34=10002|49=CLIENT1|52=20060126-13:06:58.300|44=1190|55=BAR2|Original size 71 bytes | 10000| CLIENT1| 20060126-13:06:58.100| 1200| FOO1| | | | 200| 10| | | | | 300| -20| BAR2|
  9. 9. Simple Stock System Architecture Clients & Vendors (MD receivers) Brokers UDP MULTICAST FIX Gateways FAST / Market Data MATCHING Distribution Sequencer ENGINE Server

×