Workflow
Taker ESP or Taker RFS.
FXSpotStream is a connectivity provider FXSpotStream (FSS) is a multi-bank portal with access to multiple bank liquidity providers (LPs). Liquidity may be aggregated according to the following workflows and modes:
- Taker ESP, Taker RFS - FSS offers Full Amount and Passthrough modes
- Market Data, Orders - FSS offers a Limit mode
Supported Instruments
| Expand |
|---|
| Table Filter |
|---|
| totalrow | ,,,,,,,,,,,, |
|---|
| hidelabels | false |
|---|
| sparkName | Sparkline |
|---|
| hidePane | true |
|---|
| sparkline | false |
|---|
| default | fxspotstream,ExecutionVenue&&MDBookType(PricingSession)&&MDEntryType(PricingSession)&&Comments&&MDBookType (SessionType == Pricing)&&MDEntryType (SessionType == Pricing)&&MDBookType&&MDEntryType |
|---|
| isFirstTimeEnter | false |
|---|
| cell-width | 250,250 |
|---|
| hideColumns | true |
|---|
| disabled | false |
|---|
| enabledInEditor | false |
|---|
| globalFilter | false |
|---|
| id | 1687963659478_-930383553 |
|---|
| order | 0,1 |
|---|
| hideControls | false |
|---|
| inverse | false,false |
|---|
| column | Venue |
|---|
| disableSave | false |
|---|
| separator | Point (.) |
|---|
| labels | Venue‚Hide columns |
|---|
| ddOperator | OR |
|---|
| datepattern | dd M yy |
|---|
| updateSelectOptions | false |
|---|
| worklog | 365|5|8|y w d h m|y w d h m |
|---|
| isOR | AND |
|---|
| | Table Excerpt Include |
|---|
| name | SupportedInstruments |
|---|
| merge-tables | true |
|---|
| page | Supported Instruments |
|---|
| type | page |
|---|
|
|
|
Please refer to Supported Instruments to view across all venues.
NOTE: FSS does support Term currency limit orders.
PartyIDs
| Expand |
|---|
| Table Filter |
|---|
| hideControls | true |
|---|
| inverse | false |
|---|
| sparkName | Sparkline |
|---|
| hidePane | true |
|---|
| isNew | false |
|---|
| separator | Point (.) |
|---|
| ddSeparators | true |
|---|
| default | fxspotstream |
|---|
| isFirstTimeEnter | false |
|---|
| userfilter | Venue |
|---|
| datepattern | dd M yy |
|---|
| id | 1655720330267_-1542429409 |
|---|
| worklog | 5|8|w d h m|w d h m |
|---|
| isOR | AND |
|---|
| order | 0 |
|---|
| | Table Excerpt Include |
|---|
| copytable | true |
|---|
| name | PartyIDs |
|---|
| page | PartyIDs |
|---|
| type | page |
|---|
|
|
|
Please refer to PartyIDs to view across all venues.
Regulatory Fields
| Expand |
|---|
| Table Filter |
|---|
| hideControls | true |
|---|
| inverse | false |
|---|
| sparkName | Sparkline |
|---|
| hidePane | true |
|---|
| isNew | false |
|---|
| separator | Point (.) |
|---|
| ddSeparators | true |
|---|
| default | fxspotstream |
|---|
| isFirstTimeEnter | false |
|---|
| userfilter | Venue |
|---|
| datepattern | dd M yy |
|---|
| id | 1655720358165_1570431775 |
|---|
| worklog | 5|8|w d h m|w d h m |
|---|
| isOR | AND |
|---|
| order | 0 |
|---|
| | Table Excerpt Include |
|---|
| copytable | true |
|---|
| name | RegulatoryFields |
|---|
| page | Regulatory Fields |
|---|
| type | page |
|---|
|
|
|
Please refer to Regulatory Fields to view across all venues.
Passthru Fields
| Expand |
|---|
| Table Filter |
|---|
| hideControls | true |
|---|
| inverse | false |
|---|
| sparkName | Sparkline |
|---|
| hidePane | true |
|---|
| isNew | false |
|---|
| separator | Point (.) |
|---|
| ddSeparators | true |
|---|
| default | fxspotstream |
|---|
| isFirstTimeEnter | false |
|---|
| userfilter | Venue |
|---|
| datepattern | dd M yy |
|---|
| id | 1655720372079_-1766816656 |
|---|
| worklog | 5|8|w d h m|w d h m |
|---|
| isOR | AND |
|---|
| order | 0 |
|---|
| | Table Excerpt Include |
|---|
| copytable | true |
|---|
| name | PassthruFields |
|---|
| page | Passthru Fields |
|---|
| type | page |
|---|
|
|
|
Please refer to Passthru Fields to view across all venues.
Details
| Warning |
|---|
| title | FSS SIM vs UAT environments |
|---|
|
Formal certification testing should only be performed in the FSS UAT environment, which is integrated with the individual LP's own UAT systems and accurately reflects PROD. The FSS SIM environment is intended for technical integration only and uses mock/simulator implementations which do not necessarily reflect real-world LP functionality. Problems may occasionally be observed in SIM, including: - Not all LPs supported
- Sweepable vs FullAmount liquidity styles for a given LP may not match availability in UAT/PROD (see below)
- Prices and quantities may not be rounded correctly
- Edge-cases, such as uneven swaps may not function correctly
- Instruments may not be supported
- Value dates may be incorrect
|
| Note |
|---|
| title | Sweepable vs FullAmount |
|---|
|
Both Sweepable and FullAmount trading is supported: - Sweepable - "Stacked". VWAP orders are supported on a per-LP basis in Passthrough mode.
- FullAmount - "Tiered"
In the FSS SIM environment, this is configured using the Account field as follows. Sweepable: - Citi
- HSBC
- JPMorgan Chase
- Morgan Stanley
- Standard Chartered
- UBS
FullAmount: - Bank of America
- CommerzBank
- Goldman Sachs
|
LP selection
FSS supports both Bilateral Quote negotiation and Basket functionality where Quote messages are received from multiple providers.
The client is required to can specify which LPs to receive quotes from by populating the NoPartyIDs repeating group in the MF QuoteRequest – use PartyRole (452) = ExecutionVenue (73). Multiple QuoteRequest NoPartyIDs with PartyRole ExecutionVenue. Multiple LPs are supported for ESP requests but only a single LP is supported for RFS requestsboth ESP and RFS.
For ESP, Clients will always receive MassQuotes. NoQuoteEntries will only have BidPx or OfferPx per QuoteEntry and sorted by best price.
For RFS, Clients will either receive Quotes or MassQuotes depending on the number of LP's:
- Single LP (Bilateral) -
QuoteRequest contains NoPartyIDs group with single PartyRole ExecutionVenue with PartyID populated with a LP. Clients will receive Quote message from requested LP. - Multiple LPs (Basket) -
QuoteRequest contains NoPartyIDs group with multiple PartyRole ExecutionVenues with PartyIDs populated with LPs. Clients will receive MassQuote messages with each LP as a QuoteEntry. - All LPs (Basket) -
QuoteRequest does not contain PartyRole ExecutionVenue in NoPartyIDs. Clients will subscribe to all available LPs and they will receive MassQuote messages with each LP as a QuoteEntry.
The supported LPs are:
MF | PartyID (MIC) | FSS ID |
|---|
| ANZ Bank | ANZL | ANZA |
| Bank of America | BAML | BAML |
| Barclays | BARX | BARX |
| BNP Paribas | BNPS | BNP |
MUFG BankMUTIBTMU| BNYM |
| Citi | CGMI | CITI |
| CommerzBank | CBKA | COBA |
Credit SuisseCSAGCS| DBES |
| Goldman Sachs | GSCO | GS |
| HSBC | HSBC | HSBC |
| JPMorgan Chase | JPSI | JPMC |
| Morgan Stanley | MSAX | MS |
|
| MUFG Bank | MUTI | BTMU |
| NatWest Markets | NWMS | NWM |
Standard Chartered | STAN | SCB |
| Societe Generale | XSGA | SGSP |
| Standard Chartered | STAN | SCB |
| State Street | SSBI | STS |
| UBS | UBSG | UBS |
| Wells Fargo* | WFLB | WFNA |
* Wells Fargo currently offer ESP only.
Example:
| Code Block |
|---|
8=FIXT.1.1|9=423|35=R|1129=5 18444 1179469389 189|34=603|49=CL_dev-fxspotstream-pricing|56=MF_dev-fxspotstream-pricing|52=20200723-17:30:50.905000000|20003=N N|20004=N|60=20200723-18:30:50.905000000|131=qr_2/ftY4_1595525350490|2115=101|55=EUR/USD|167=1|20021=N N N N|453=2|452=11|448=testTrader|452=73|448=CGMI|555=1|609=1|624=1|556=EUR|685=1000000|587=28|670=1|671=testAccount|672=1|673=1000000|58=testText|10=000| |
| Note |
|---|
| title | FSS SIM vs UAT environments |
|---|
|
Note: not all LPs are supported in the FSS simulator environment, and detailed behaviour may occasionally be incorrect. |
| Note |
|---|
| title | Allocation are supported |
|---|
|
Multi Allocations are supported by FSS for fxspotstream for both ESP and RFS. , RFS and Orders: - ESP/Orders - Multi Allocations are only supported for full amount orders
on ESP. For RFS, the QuoteRequst - RFS -
QuoteRequest and NewOrderMultileg must have exactly the same allocations, otherwise venue reject |
Regulatory Detail
| Info |
|---|
| title | LP-specific Regulatory Detail |
|---|
|
| Anchor |
|---|
| RegulatorySpreadSheet |
|---|
| RegulatorySpreadSheet |
|---|
|
FXSpotStream supports both MiFID and EMIR trades. The values required by FxSpotstream FSS are dependent on the target ExecutionVenue. FxSpotStream Regulatory fields.xlsx Execution Venue. The Regulatory fields table(attached below) describes all regulatory fields that are supported, and which Execution Venue require ExecutionVenue requires the field. "Other" column means that this field is used by no Execution Venue no ExecutionVenue in particular. | Anchor |
|---|
| RegulatorySpreadSheet | RegulatorySpreadSheet | Please find the table attached here: FxSpotStream Regulatory fields.xlsxNOTE: FSS supports both MiFID and EMIR regulatory regimes.| Warning |
|---|
Given that LPs have changing requirements, we recommend that you implement sending this data regardless of the LP. |
...