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:
An active JPM IMOS account with data that can be pushed to LUSID via SFTP
Contacted your FINBOURNE representative to provision your LUSID domain with integration
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:
Navigate to Integrations > Dashboard.
Select Create instance.
Specify a friendly Name and Description for the integration instance
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 toJPM IMOS
Quote Field: Override
Field
value; if unspecified, the value defaults toclose
Valuation Type
JPM Internal Client Identifier: Your client identifier
Regions: One or more regions to retrieve data files for, out of
ANZ
,AMEA
, andWHEM
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 IdentifierRegion 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 IdentifierRegion 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 IdentifierLocal Time Zone Identifier: A timezone for the data, for use alongside the Cut Time
Click Edit imported properties > Add properties and select which JPM IMOS data fields to import.
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 totrue
; this property enables JPM IMOS data retrieval for the portfolioPortfolio/LUSIDConfig-JPM-IMOS/LinkedCode
set to the<Client Portfolio ID>
code from the file you want to load data from, for exampleANZ
; you can link multiple LUSID portfolios to a singleClient Portfolio ID
Portfolio/LUSIDConfig-JPM-IMOS/OnboardingDate
set to the earliest date for data loadingPortfolio/LUSIDConfig-JPM-IMOS/Version
set toV0608
orV0730
Optional properties
Portfolio/LUSIDConfig-JPM-IMOS/LoadHoldings
set totrue
to enable holdings data loadingPortfolio/LUSIDConfig-JPM-IMOS/LoadTransactions
set totrue
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 typeA 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 | |||
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 | ||||
Bank Loans | Syndicated | Term Loan | Bond | ||
Cash | Currency | ||||
Derivatives | Futures | Index | |||
Derivatives | Futures | Interest Rate | Future | ||
Derivatives | Futures | Other | Future | ||
Derivatives | Futures | Others | Future | ||
Equity | Common Shares | Other | |||
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 | ||||
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 |
| ||
OTC Credit | Index | CDX | CdsIndex | ||
OTC Credit | Index | CMBX | CdsIndex | ||
OTC Credit | Index | iTraxx | CdsIndex | ||
OTC Equity | Swap | Parameter Return Variance | |||
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 | |||
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 | |||
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.