I have been working with the IB TWS API for most of the year. IB's platform offers good spreads, quick execution, and a decent trading API.
Unfortunately, IB FX trades typically settle in two days. This is acceptable for simple directional trades (USD->EUR followed by EUR->USD, for example), but introduces significant interest risk to trades that involve more than two currencies.
With TWS, I can execute the following set of trades:
USD->EUR
EUR->GBP
GBP->USD
If it is Monday, and there are no holidays, this set of trades will execute perfectly. If tomorrow is a holiday in the EU, but not in the UK or USA, then my set of trades will not settle simultaneously. The USD->GBP trade will settle in two days, but the USD->EUR and EUR->GBP trades will settle in three days. This will create a hedged short position in GBP. This, in turn, will incur one day of interest cost, often wiping out the profit of the trade-set.
What broker should I work with that supports:
(1) a trade API (C++ is ideal, Java, C#, or FIX is also acceptable)
(2) support for complex trades
(3) 1-day or 0-day trade settlement
Unfortunately, IB FX trades typically settle in two days. This is acceptable for simple directional trades (USD->EUR followed by EUR->USD, for example), but introduces significant interest risk to trades that involve more than two currencies.
With TWS, I can execute the following set of trades:
USD->EUR
EUR->GBP
GBP->USD
If it is Monday, and there are no holidays, this set of trades will execute perfectly. If tomorrow is a holiday in the EU, but not in the UK or USA, then my set of trades will not settle simultaneously. The USD->GBP trade will settle in two days, but the USD->EUR and EUR->GBP trades will settle in three days. This will create a hedged short position in GBP. This, in turn, will incur one day of interest cost, often wiping out the profit of the trade-set.
What broker should I work with that supports:
(1) a trade API (C++ is ideal, Java, C#, or FIX is also acceptable)
(2) support for complex trades
(3) 1-day or 0-day trade settlement