Labels

_fuxi (75) _IV (146) _misc (5) {610610 (30) algo (1) automatedTrading (8) banking/economy (3) book (14) c++misc (125) c++real (15) c++STL/java_container (7) cppTemplate (1) db (13) DB_tuning (4) deepUnder (1) dotnet (69) eTip (17) excelVBA (12) finance+sys (34) financeMisc (24) financeRisk (2) financeTechMisc (4) financeVol (21) finmath (17) fixedIncome (25) forex (16) IDE (24) invest (1) java (43) latency (4) LinearAlgebra (3) math (30) matlab (24) memoryMgmt (11) metaPrograming (2) MOM (15) msfm (1) murex (4) nofx (11) nosql (3) OO_Design (1) original_content (4) scriptUnixAutosys (19) SOA (7) socket/stream (15) sticky (1) subquery+join (2) swing (32) sybase (6) tech_orphan (12) tech+fin_career (30) telco (11) thread (21) timeSaver (13) tune (10) US_imm (2) US_misc (2) windoz (20) z_algo+dataStructure (4) z_arch (2) z_c#GUI (30) z_career (10) z_career]US^Asia (2) z_careerBig20 (1) z_careerFinanceTech (11) z_FIX (6) z_forex (31) z_hib (2) z_ikm (7) z_inMemDB (3) z_j2ee (10) z_oq (14) z_php (1) z_py (26) z_quant (4) z_skillist (3) z_spr (5)
Showing posts with label financeTechMisc. Show all posts
Showing posts with label financeTechMisc. Show all posts

Saturday, March 16, 2013

some modules of an algo trading platform - chat with YH

A few modules I know
* MM (mkt datafeed reader)
* OMS (or order book, or EMS, including exchange gateways and smart order routers.
* PP (pretrade pricer)
* BB (trade booking engine, when an execution comes back successful. BB is the main module affecting the position master DB)
* PNL (real time pnl engine),
* RR (real time risk engine)

I guess BB, PP or PNL might be absorbed into the OMS module. In some places, OMS might be the name for any real time component of
the entire system, so MM, PP, BB, PNL, RR (all real time) can all be considered part of OMS in that sense. There's a narrower
definition of OMS though, so I will just refer to that definition as the EMS (execution management system). For a micro hedge fund,
PP EMS RR may not exist, and the rest (MM BB PNL) can be manual. In contrast algo shops must automate all steps.

Where does MOM fit in? It's an enabling technology, usable in many of the functional modules above.

How does dynamic data fabric fit in? Also known as data grid or in-memory DB. There are 2 types
* generic technology, often integrating SQL, MOM technologies
* functional module with complex business logic, such as CEP engines, often tightly integrated with MM OMS PP RR

These two descriptions are not mutually exclusive. Many data grid systems include features of both. However, for simplicity, in this
write-up I treat data grid as the generic technology just like a DB or MOM.

How do reference data fit in? I guess it's just another separate service to interface with database, which in turn provide reference
data to other modules when needed?

Ref data tend to be fairly static -- update frequency would be once a few hours at most, right? It is essentially a readonly
component to the algo engine modules. Readonly means those modules don't update ref data. It's one-way dependency. In contrast, MM
is also readonly, but more dynamic. MM is the driver in an event-driven algo engine.

I feel ref data read frequency can be high, but update frequency is low. Actually, i feel the occassional update can be a
performance issue. Those dependent modules can't cache ref data if ref data can change mid-day. There are techniques to address this
issue. A fast engine must minimize DB and network access, so if ref data is provided on the network, then every read would be
costly.

Some moules are simpler, like PNL and BB so no big deal. Pricing lib is used for PP and perhaps RR, which are quantatitively
complex. MM EMS are technically challenging.

The "algo" tends to be in the MM PP EMS and RR modules

A High frequency shop also needs to assess market impact. Not sure where it fits in, perhaps the EMS

Where does STP fit in? I feel STP is largely non-realtime.

Sunday, July 27, 2008

OMS in FX vs equities

OMS is often the biggest and the core module in any trading platform that supports pending orders and FIX execution.

What are the differences between an eq OMS (see the Complete Guide) and an FX OMS?

FX is fundamentally OTC and quote-driven, not order driven as listed markets are.

Q: in FX, there's no exchange making the (irrevocable) matching?

Saturday, July 26, 2008

RFS ^ ESP in forex FIX protocol

ESP (Executable Streaming Price) -- executable bids and offers published for instant execution.

RFS/RFQ (RequestForStreaming/Quote) -- these quotes may not be executable.

These are all part of the standard FIX protocol for FX.

See also http://www.360t.com/cnt_trading/i-tex.php.

Friday, July 27, 2007

DB tables]FX cash trading system(any bank

Q999: database tables that are the biggest or busiest

A: see blog on Currency Tables and SymbolSourceMapping tables to compute safe crosses.
A999 from ZJW and Piroz
- Trade table,
- Order table --limit orders are pending and have a lifetime. Also, London traders often need to hand over overnight orders to NY, either mandatory stop-loss-orders or unfilled customer orders.
- A family of RFQ tables like my bidans/bidstreet/bidreq tables.
- IncomingQuote table is (according to ZJW) the biggest and busiest, but there's probably a separate table for each quote source.
- OutgoingQuote table ??
- ClientPosition table has a primary key on (ClientAcct, Currency)
- TraderPosition table is the mos interesting. Even though there could be a small number of trader accounts, I was told it's unlikely that system maintains a separate table for each account. Primary key would be (TraderAcct, Currency). In cash trading, most positions are flat i.e. closed out quickly, so there should be relatively few rows in this table. However, if base currency is USD, then a particular trader's JPY row would get a lot of concurrent updates. Since this row represents real inventory, all updates must follow strict ACID transaction rule. Possibly a bottleneck just like in bond trading.

Q: Any reference data tables

CurrencyPairDescription
CounterPartyAccount
ClientAccount
TraderAccount
FeedSource ??