Wednesday, August 19, 2009

credit check by forex ECNs

Each hedge fund using an FX ECN has a credit limit imposed by his backing prime broker, who is underwriting all his trades. Let's not go into the business details, but once a HF has a 100m credit limit set up, then any of his trades will /eat/ up on this limit until there's too little remaining.

Q: when HF sells a foreign currency position for cash (in "home currency"), will credit limit recover?
A: I think so.

From system perspective, Credit limit check is on the pre-trade critical path. If credit insufficient, then ECN won't execute the trade. The check could take a few ms, but the entire trade takes a few milliseconds through the ECN, so this latency is significant. The check is serialized because any trade against this same HF needs to queue up for the credit limit check.

Why is execution latency so critical to ECNs and exchanges (including option exchanges)? Well, bid/ask price is the first competition among ECN's and execution latency might well be the 2nd. Some algo shops pay a real price in terms of execution latency -- They send an order, wait for the execution report then adjust their algo. In other cases, a trading house monitors execution latency across competing ECN's.

EBS, Hotspot, Currenex, FXAll ... all (Yes!) have this same credit check capability, probably because participants need it.

In exchange trading, all trades are booked under "member" name. So the prime broker (members) actually pays (or sells) from his pocket on behalf of the HF -- That's a huge risk to the PB. Therefore credit limits needed.

Prime brokers (PB) can't perform any pre-trade credit check on the trades executed by their clients (i.e. hedge funds). They aren't in the pre-trade flow. The best they can do is to receive the post-trade messages in real time and analyze market risk (which they assume due to HF trades) in real time. Hedge funds themselves "don't care" about credit limit, since it's OtherPeople'sMoney lent to them. Therefore, I believe no one but ECN has the job to enforce credit checks. PB has the option to instruct an ECN to adjust the credit limit for a client intra-day, but rarely. Therefore the credit limit is *almost* static.

Something taken from an ad -- Prime brokers want real-time visibility of consolidated client activity. In real-time, they can manage the credit /extended/ to clients, trading with both executing banks and ECNs. The increase in high frequency and algorithmic FX trading has made the provision of adequate controls critically important to prime brokers managing risk across clients trading on ECNs. Prime brokers now have the ability to monitor their clients' credit risk across multiple ECNs on a real-time basis, change or close credit lines to manage risk while maximizing clients' trading ability. With real-time integration to ECN credit and post-trade APIs, Harmony (a post-trade service) will proactively notify the Prime Broker of limit breaches and allow the prime broker to modify credit lines or terminate trading activity. By providing centralized, automated and secure ECN limit management, credit risk for all counter-parties will be significantly reduced.

No comments:

Total Pageviews

my favorite topics (labels)

_fuxi (302) _misLabel (13) _orig? (3) _rm (2) _vague (2) clarified (58) cpp (39) cpp_const (22) cpp_real (76) cpp/java/c# (101) cppBig4 (54) cppSmartPtr (35) cppSTL (33) cppSTL_itr (27) cppSTL_real (26) cppTemplate (28) creditMkt (14) db (65) db_sybase (43) deepUnder (31) dotnet (20) ECN (27) econ/bank` (36) fin/sys_misc (43) finGreek (34) finReal (45) finRisk (30) finTechDesign (46) finTechMisc (32) finVol (66) FixedIncom (28) fMath (7) fMathOption (33) fMathStoch (67) forex (39) gr8IV_Q (46) GTD_skill (15) GUI_event (30) inMemDB (42) intuit_math (41) intuitFinance (57) javaMisc (68) javaServerSide (13) lambda/delegate (22) marketData (28) math (10) mathStat (55) memIssue (8) memMgmt (66) metaProgram` (6) OO_Design (84) original_content (749) polymorphic/vptr (40) productive (21) ptr/ref (48) py (28) reflect (8) script`/unix (82) socket/stream (39) subquery/join (30) subvert (13) swing/wpf (9) sysProgram` (16) thread (164) thread_CAS (15) thread_cpp (28) Thread* (22) timeSaver (80) transactional (23) tune (24) tuneDB (40) tuneLatency (30) z_ajax (9) z_algoDataStruct (41) z_arch (26) z_arch_job (27) z_automateTest (17) z_autoTrad` (19) z_bestPractice (39) z_bold (83) z_bondMath (35) z_book (18) z_boost (19) z_byRef^Val (32) z_c#GUI (43) z_c#misc (80) z_cast/convert (28) z_container (67) z_cStr/arr (39) z_Favorite* (8) z_FIX (15) z_forex (48) z_fwd_Deal (18) z_gz=job (33) z_gzBig20 (13) z_gzMgr (13) z_gzPain (20) z_gzThreat (19) z_hib (19) z_IDE (52) z_ikm (5) z_IR_misc (36) z_IRS (26) z_javaWeb (28) z_jdbc (10) z_jobFinTech (46) z_jobHunt (20) z_jobRealXp (10) z_jobStrength (15) z_jobUS^asia (27) z_letter (42) z_linq (10) z_memberHid` (11) z_MOM (54) z_nestedClass (5) z_oq (24) z_PCP (12) z_pearl (1) z_php (20) z_prodSupport (7) z_py (31) z_quant (14) z_regex (8) z_rv (38) z_skillist (48) z_slic`Problem (6) z_SOA (14) z_spring (25) z_src_code (8) z_swingMisc (50) z_swingTable (26) z_unpublish (2) z_VBA/Excel (8) z_windoz (17) z_wpfCommand (9)

About Me

New York (Time Square), NY, United States