JPMorgan Investment Middle Office Service (JPM IMOS)

Prev Next

Our JPMorgan Investment Middle Office Service (JPM IMOS) integration leverages FINBOURNE's partnership with JPMorgan to enable seamless integration of Investment Middle Office Service data with your LUSID domain.

Supported data types

Valued Holdings

JPM IMOS provides position data including:

  • Quantity measures: Traded, Settled and Pending quantities

  • Economic measures: Market Value and Cost using specific FX reference rates at specified valuation points

  • Currency dimensions: Data across Local Currency, Portfolio Base Currency, and Fund Base Currency

Transactions

JPM IMOS provides transaction data that encompasses movements in Valued Holdings from previous day to current day.

Note

Our JPMorgan Athena integration complements the JPM IMOS integration by providing enriched instrument data for the instrument definitions created by JPM IMOS.

Setting up the integration

Prerequisites

Before getting started, ensure you have:

Once provisioned to your domain, you simply need to configure the integration to load each of the following data types as required for your use case.

  • Instruments (from JPM Valued Holdings)

  • Holdings (from JPM Valued Holdings)

  • Quotes (Pricing and FX Rates from JPM Valued Holdings)

  • Transactions (from JPM Transactions)

Step 1: Create an integration instance

An integration instance is a configuration for data to import from JPM IMOS.

To create a new instance:

  1. Navigate to Integrations > Dashboard.

  2. Select Create instance.

  3. Specify a friendly Name and Description for the integration instance

  4. Specify the following in the Integration settings tab:

    Understanding JPM IMOS file names

    You can locate the values you need to provide using the names of files delivered by JPM IMOS. LUSID receives files with the following naming structure:

    <JPM Internal Client Identifier>_<Valuation Type>_<Valuation Date>_<Region>_<JPM Environment>_<data type>_<File Creation Datetime>_<IMOS Version>.csv

    For example, a file containing EMEA EOD Valued Holdings data with a valuation date of 15 Sep 2025 might be named:

    CLIENT_EOD_20250915_EMEA_PROD_ValuedHoldings_2025091509000000_V0730.csv

    You can configure each integration instance to be triggered by the delivery of a single JPM IMOS file, or related Valued Holdings and Transactions file pairs using these values.

    • Source File Location: Drive path to deliver incoming JPM IMOS files for processing (we recommend /sftp)

    • Quote Source: Override Price Source value; if unspecified, the value defaults to JPM IMOS

    • Quote Field: Override Field value; if unspecified, the value defaults to close

    • Valuation Type

    • JPM Internal Client Identifier: Your client identifier

    • Regions: One or more regions to retrieve data files for, out of ANZ, AMEA, and WHEM

    • Which data types to process:

      • Should Process Instruments: Creates instruments from Valued Holdings data

        • Allow FX Forwards to be Non-Deliverable

      • Should Process Quotes: Creates prices and FX-rates in the Quote Store and structured result store from Valued Holdings data

      • Should Process Holdings: Sets Holdings from Valued Holdings data. We recommend you also process instruments with this selection so LUSID can resolve the holdings to instruments.

      • Should Process Transactions: Creates transactions from Transactions data

    • IMOS Version

    • JPM Environment

    • Optionally, if using the integration instance for testing or processing specific files:

      • Override Holdings File Name: Override the configuration above and only process the specified Valued Holdings filename

      • Override Transactions File Name: Override the configuration above and only process the specified Transactions filename

    • Under Cut Times:

      • FX Cut Time: A time in HH:mm:ss to append to the date when processing FX-Quotes, along with the Local Time Zone Identifier

      • Region ANZ/EMEA/WHEM Cut Time: A time in HH:mm:ss to append to the date when loading files for the specified region, along with the Local Time Zone Identifier

      • Region DEFAULT Cut Time: A time in HH:mm:ss to append to the date when loading files that are not in ANZ, EMEA, or WHEM regions, along with the Local Time Zone Identifier

      • Local Time Zone Identifier: A timezone for the data, for use alongside the Cut Time

  5. Click Edit imported properties > Add properties and select which JPM IMOS data fields to import.

  6. Click Save to create the integration instance. Note the Instance ID, which you need for the next step.

Step 2: Configure the portfolios to import data for

Follow these steps to add the following properties to each portfolio that should receive JPM IMOS data:

Required properties

  • Portfolio/LUSIDConfig-JPM-IMOS/IsIncluded set to true; this property enables JPM IMOS data retrieval for the portfolio

  • Portfolio/LUSIDConfig-JPM-IMOS/LinkedCode set to the <Client Portfolio ID> code from the file you want to load data from, for example ANZ; you can link multiple LUSID portfolios to a single Client Portfolio ID

  • Portfolio/LUSIDConfig-JPM-IMOS/OnboardingDate set to the earliest date for data loading

  • Portfolio/LUSIDConfig-JPM-IMOS/Version set to V0608 or V0730

Optional properties

  • Portfolio/LUSIDConfig-JPM-IMOS/LoadHoldings set to true to enable holdings data loading

  • Portfolio/LUSIDConfig-JPM-IMOS/LoadTransactions set to true to enable transactions data loading

This enables a data load to take place for the portfolio the next time the integration instance runs.

Note

  • LUSID only loads data for instruments that have a holding in the portfolio

  • You can update a property value at any time to:

    • false to no longer retrieve data for a particular portfolio or data type

    • A different code to retrieve data using a different Client Portfolio ID

  • Alternatively, there are many other ways to add properties to your portfolios if you prefer. Read more on adding a property to an entity.

Running the integration

Automated runs

LUSID automatically triggers an integration run when a file matching your integration instance criteria is loaded into your specified Source File Location.

For example, if you’ve created an instance to load instrument quotes, and holdings from Valued Holdings files for the ANZ and EMEA regions:

CLIENT_SOD_20241008_ANZ_UAT_ValuedHoldings_20241007102343_V0730.csv
CLIENT_SOD_20241008_EMEA_UAT_ValuedHoldings_20241007102343_V0730.csv
  • JPM IMOS produces data files at different times

  • LUSID triggers an integration run twice daily, once for each region

Alternatively, if you’ve created an instance to load all data types for the ANZ, EMEA, and WHEM regions:

CLIENT_SOD_20241008_ANZ_ProdParallel_ValuedHoldings_20241007100000_V0730.csv
CLIENT_SOD_20241008_ANZ_ProdParallel_Transactions_20241007100100_V0730.csv

CLIENT_SOD_20241008_EMEA_ProdParallel_ValuedHoldings_20241007120000_V0730.csv
CLIENT_SOD_20241008_EMEA_ProdParallel_Transactions_20241007120100_V0730.csv

CLIENT_SOD_20241008_WHEM_ProdParallel_ValuedHoldings_20241007190000_V0730.csv
CLIENT_SOD_20241008_WHEM_ProdParallel_Transactions_20241007190100_V0730.csv
  • JPM IMOS produces data files for the different regions at different times

  • Two files are produced for each region: a Valued Holdings file and a Transactions file

  • LUSID only triggers an integration run when both files for a region have been delivered

  • LUSID triggers an integration run thrice daily, once for each region

Manual runs

When you configure an integration instance with file overrides, you can run the integration instance manually at any time.

Call the ExecuteInstance API, for example:

curl -X POST 'https://<your-domain>.lusid.com/horizon/api/integrations/instances/<your-integration-instance-ID>/execute'
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer <your-API-access-token>'

Write a Luminesce SQL query using the Integration.Execute provider and execute it using a tool such as the LUSID web app, for example:

select * from Integration.Execute where InstanceId ='<your-integration-instance-ID>';

Monitoring and troubleshooting integration runs

See how to monitor integrations and troubleshoot general issues.


Troubleshooting

The integration instance has run but no instruments have been created

Check the portfolios you want to import data for have been decorated with the required properties and values; see step 2.

The imported instrument definition is not accurate

LUSID uses the dataset provided by JPM IMOS to create a LUSID instrument for the associated holdings data. If the JPM IMOS dataset does not provide a particular data point, LUSID uses default values to construct the instrument definition.

LUSID adds the Instrument/LUSIDConfig-Horizon/RequiresValidation property, set to true, to all instruments it creates in this way (excluding Equity types). This indicates the instrument definition requires manual validation and corrections.

Appendix: Instrument coverage

Currently, you can model the following JPM IMOS instruments in LUSID:

Click to expand table

Instrument Group

Type

Sub-type

Category

Modelled as LUSID Type

Enrichment available from JPM Athena

Asset Backed Securities

CLO

Corporate

ComplexBond

Asset Backed Securities

CMO

FHLMC

ComplexBond

Asset Backed Securities

CMO

FNMA

ComplexBond

Asset Backed Securities

CMO

GNMA

ComplexBond

Asset Backed Securities

CMO

Other Gov't Agencies

ComplexBond

Asset Backed Securities

Commercial MBS

Non-Agency

ComplexBond

Asset Backed Securities

Credit Card Receivables

Corporate

ComplexBond

Asset Backed Securities

Equipment Loans & Leases

Corporate

ComplexBond

Asset Backed Securities

Manufactured Homes

Corporate

ComplexBond

Asset Backed Securities

Mortgage Pass Thru

FHLMC Gold

ComplexBond

Asset Backed Securities

Mortgage Pass Thru

FNMA

ComplexBond

Asset Backed Securities

Mortgage Pass Thru

GNMA II

ComplexBond

Asset Backed Securities

Mortgage Pass Thru

UMBS

ComplexBond

Asset Backed Securities

Motor Vehicle Loan

Corporate

ComplexBond

Asset Backed Securities

Other Secured Loans

Corporate

ComplexBond

Asset Backed Securities

Small Business Loans

Corporate

ComplexBond

Asset Backed Securities

Student Loans

Private

ComplexBond

Asset Backed Securities

TBA

UMBS

ComplexBond

Asset Backed Securities

Whole Loans

Corporate

ComplexBond

Bank Loans

Non Syndicated

Bond

Bank Loans

Syndicated

Term Loan

Bond

Cash

Currency

Derivatives

Futures

Index

Future

Derivatives

Futures

Interest Rate

Future

Derivatives

Futures

Other

Future

Derivatives

Futures

Others

Future

Equity

Common Shares

Other

Equity

Equity

Common Shares

REIT

Equity

Equity

Depositary Receipts

ADR

Equity

Equity

Depositary Receipts

Certificate

Equity

Equity

Depositary Receipts

GDR

Equity

Equity

Depositary Receipts

Other

Equity

Equity

Equity Units

Other

Equity

Equity

Funds

Other

Equity

Equity

Preferred Shares

Other

Equity

Fixed Income

Bank Loans

Term Loans

Bond

Fixed Income

Bond

Corporate

Bond

Fixed Income

Bond

Gov't Agency (Non-US)

Bond

Fixed Income

Bond

Government

Bond

Fixed Income

Bond

Government (Non-US)

Bond

Fixed Income

Bond

International Authority

Bond

Fixed Income

Bond

Local Authority

Bond

Fixed Income

Convertible Bond

Bond

Fixed Income

Discount Notes

Gov't Agency

Bond

Fixed Income

Medium Term Note

Bank Note

Bond

Fixed Income

Medium Term Note

Corporate

Bond

Fixed Income

Medium Term Note

Gov't Agency (Non-US)

Bond

Fixed Income

Medium Term Note

Government (Non-US)

Bond

Fixed Income

Notes

Corporate

Bond

Fixed Income

Notes

Government

Bond

Foreign Exchange

Forward

FxForward

Foreign Exchange

NDF

FxForward

Foreign Exchange

Simplex Exotic

Barrier

FxForward

Foreign Exchange

Simplex Exotic

Basket

FxForward

Foreign Exchange

Simplex Exotic

Digital

FxForward

Foreign Exchange

Spot

FxForward

Foreign Exchange

Vanilla Option

FxForward

Money Markets

Bill

Government

Bond

Money Markets

Certificate of Deposit

Bank

Bond

Money Markets

Deposits

Time Deposits

TermDeposit

OTC Credit

Index

CDX

CdsIndex

✅

OTC Credit

Index

CMBX

CdsIndex

✅

OTC Credit

Index

iTraxx

CdsIndex

✅

OTC Equity

Swap

Parameter Return Variance

EquitySwap

✅

OTC Equity

Swap

Parameter Return Volatility

EquitySwap

✅

OTC Equity

Swap

Price Return Basic Dividend

EquitySwap

✅

OTC Equity

Swap

Price Return Basic Performance

EquitySwap

✅

OTC Rates

Cross Currency

Basis

InterestRateSwap

✅

OTC Rates

Cross Currency

Fixed Fixed

InterestRateSwap

✅

OTC Rates

Cross Currency

Fixed Float

InterestRateSwap

✅

OTC Rates

Inflation Swap

Fixed Float

InflationSwap

✅

OTC Rates

IR Swap

Basis

InterestRateSwap

✅

OTC Rates

IR Swap

Fixed Float

OIS

InterestRateSwap

✅

OTC Rates

IR Swap

Fixed Float

Vanilla

InterestRateSwap

✅

OTC Rates

IR Swap

Fixed Float

Zero Coupon

InterestRateSwap

✅

OTC Rates

Option

Swaption

InterestRateSwaption

✅

Rights and Warrants

Rights

Allotment Rights

EquityOption

Rights and Warrants

Rights

Purchase Rights

EquityOption

Rights and Warrants

Rights

Subscription Rights

EquityOption

Rights and Warrants

Warrants

Basket

EquityOption

Rights and Warrants

Warrants

Commodity

EquityOption

Rights and Warrants

Warrants

Common Stock

EquityOption

Rights and Warrants

Warrants

Currency

EquityOption

Rights and Warrants

Warrants

Fixed Income

EquityOption

Rights and Warrants

Warrants

Index

EquityOption

Rights and Warrants

Warrants

Interest Rate

EquityOption

Rights and Warrants

Warrants

Other

EquityOption

Rights and Warrants

Warrants

Preferred Stock

EquityOption

Note LUSID models any instrument group, type, sub-type, or category not covered in this table as a SimpleInstrument.