FINBOURNE’s ICE RemotePlus integration gives you a reliable, configurable feed of instrument prices and FX spot rates from ICE Data Services into the LUSID Quote Store. Rather than uploading prices manually or maintaining your own scripts, you set it up once and let it run on a schedule you define.
Prerequisites
Before getting started, ensure you have:
An active contract with ICE Data Services and an account username and password with access to RemotePlus (the one you use for RemotePlus for Excel will work here)
If you intend to use WM FX spot fields, a separate WM rate entitlement from ICE
An ICE Data Services
Contacted your FINBOURNE representative to enable the integration in your LUSID domain
Supported data types
Instrument prices
Bid, mid, ask, best price, high, low, open, primary exchange, and composite trade values.
FX spot rates
WM and OTCD bid, mid, and ask rates, fixed to your chosen snapshot time.
Setting up the integration
Note
Before getting started, ensure the instruments you intend to import quotes for are set up in LUSID with at least one of the following instrument identifiers:
Cusip
Sedol
Isin
An integration instance configures the snapshot timing, price types, and instruments for your quote import:
Navigate to Integrations > Dashboard.
Select Create instance and choose ICE RemotePlus.

Specify a friendly Name and Description for the integration instance.
Specify the following in the Integration settings tab:
Prices
The Prices tab controls which instruments to import prices for, which price fields to fetch, and where to save the results.
Instrument selection
Choose which instruments to import prices for using one of the following instrument selection types:
Filter: Select instruments by their scope and, optionally, a custom filter expression
Instrument Scope: A LUSID instrument scope
Instrument Filter: Uses LUSID filtering syntax, for example
properties[Instrument/Ibor/Industry] eq 'Energy'
Portfolio: Select instruments from a particular portfolio and, optionally, a custom filter expression
Portfolio Scope and Portfolio Code: A LUSID portfolio scope and code
Instrument Filter: As above
Portfolio Group: Select instruments from a particular portfolio group and, optionally, a custom filter expression
Portfolio Scope and Portfolio Code: A LUSID portfolio group scope and code
Instrument Filter: As above

Price type
Choose which category of prices to request.
Price type | Supports requests across date ranges? | Typical use |
|---|---|---|
Unadjusted historical | Bonds | |
Adjusted historical | Equities adjusted for corporate actions | |
Latest | Intraday or most-recent prices | |
Latest per-share | Equities only |
Price fields to request
Select the quote data points you want to import into LUSID. The integration creates a separate quote for each price field.
Historical date
If you specified a price type of Unadjusted historical or Adjusted historical, you can optionally specify a date range and time period to retrieve quotes for.
Price source
Specify how the integration should label the data source on each quote loaded into LUSID:
Use Family: Attaches price type name as the quote label
User Defined: Attaches a string you define as the quote label
Not Specified: No label
You can also specify a Time Zone and Cut Time to append to the quote effectiveAt date.
Quote store output
Optionally, customise the Quote scope to save quotes to, as well as the quote Provider. Learn more about quotes in LUSID.
FX Spot
The FX Spot tab controls which FX fields and currency pairs to fetch and where to save the results.
Spot rate fields
Select which FX fields you want to include in integration runs. The integration stores each FX field you select as a separate entry in the Quote Store.
Note
WM fields are fixed to London Close by default and require a separate licence from ICE.
Currency pairs
Specify the pairs you want to retrieve as a comma-separated list; each pair must have six letters with no separator, for example GBPUSD, EURUSD, USDJPY.
Snapshot time
Specify the effectiveAt time the integration should record for each quote.
Historical date
As with the Prices tab, you can optionally specify a date range and time period to retrieve quotes for.
Quote store output
Optionally, customise the Quote scope to save quotes to, as well as the quote Provider. The settings are completely independent of the Prices tab, so you can choose to save FX data to a different location. Learn more about quotes in LUSID.

Connection
Use the Connection tab to enter your ICE credentials and, if your network requires it, proxy settings.
Diagnostics
The Diagnostics tab allows you to configure useful troubleshooting tools.
You can enable Save raw payloads to Drive to save the exact data the integration sent to ICE, and the response received, to your specified folder in LUSID Drive. Note the folder path must begin with LUSID-Horizon. See Monitoring and troubleshooting integration runs for details on the payload contents.

Running the integration
See how to run the integration.
When the integration runs, it requests prices and FX rates from ICE for the instruments included in your configuration. The integration then checks the results it receives from ICE and saves them to the Quote Store under the scope and provider you configured; see how the integration maps ICE fields to your LUSID quotes.
If you run the integration more than once for the same date and fields, the integration overwrites the existing quotes rather than creating duplicates.
Monitoring and troubleshooting integration runs
See how to monitor integrations and troubleshoot general issues.
Troubleshooting
Missing prices
ICE RemotePlus sometimes returns a code rather than a numeric price, for example !NA (not available) or !NE (not entitled). When this happens, the integration skips that instrument and field for the current run and logs it as skipped, but continues processing other quotes.
If you notice prices missing for certain instruments, check the run log to see:
Whether they were skipped
Which code ICE returned
The full list of codes ICE may return is as follows:
!NA: Not available!NE: Not expected (for example, a future date)!NR: Not reported!NH: Holiday (US/Canadian)!N5: ICE error code 5000!N6: ICE error code 6000!N7: ICE error code 7000!N8: ICE error code 8000
Incorrect data
If prices are coming through incorrectly - for example, a field is mapping to the wrong value, or an instrument is not being recognised - enable Save Raw Payloads to Drive on the Diagnostics tab (if you haven’t already done so).
You can then examine the exact data the integration sent to ICE, and the exact response received, in Drive.
Appendix A: Quote Store field mappings
Instrument prices
The integration imports two quotes for each ICE RemotePlus price field, allowing you to retrieve the quote by both the LUID and Cusip/Sedol/Isin.
LUSID quote field | Source |
|---|---|
| Quote Store Output > Provider |
| Quote Store Output > Quote Scope |
|
|
| The instrument’s LUID or |
| Quote Store Output > Provider |
| Price fields to create; the integration maps ICE mnemonics to LUSID field names, see price fields mapping table |
|
|
| Combines Price Source > Cut Time and Time Zone and converts to UTC |
| Numeric price from ICE |
| Currency from ICE |
| If Save Raw Payloads to Drive is enabled, the response filename. If not enabled, a run and timestamp reference. |
Price fields
ICE mnemonic | LUSID price field mapping |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FX spot rates
The integration imports a quote for each ICE RemotePlus price field, identified by the currency pair.
LUSID quote field | Source |
|---|---|
| Quote Store Output > Provider |
| Quote Store Output > Quote Scope |
|
|
| The currency pair formatted as |
| |
| |
|
|
| Snapshot Time converted to UTC |
| Numeric rate from ICE |
| Quote currency from ICE (the second currency in the pair - for example |
| If Save Raw Payloads to Drive is enabled, the response filename. If not enabled, a run and timestamp reference. |