InstrumentId, AssetId and IssuerId

This article explains the difference between the InstrumentId, AssetId and IssuerId required in the Positions File and the practical use of all three properties.


InstrumentId is used to reference relevant data in the file. Please read the articles "Introduction to the XML file" and "Assets and Instruments" for a detailed explanation of InstrumentId in the input XML file. 

InstrumentId should be populated in line with the following:
1. The InstrumentId needs to be globally unique in the XML file.
2. If the InstrumentId is changed, remember to change all references to that instrument as well.
3. InstrumentIds must be different from PortfolioIds.
Obeying those three points is the only thing needed to be set with the creation of the InstrumentId.


FundApps uses AssetId to keep track of each individual holding. Unlike the InstrumentId, the AssetId is not required to be unique globally, but just within each portfolio. FundApps creates a unique asset identifier by combining the AssetId with the PortfolioId of the portfolio holding the asset. In this way, one specific security can be held across multiple portfolios using the same AssetId.

Example: You are holding Apple Class A shares in two portfolios with the PortfolioId of "P1" and "P2" respectively. The AssetId of the Apple Class A shares is chosen to be "AAPL" in both portfolios. FundApps combines the PortfolioId and AssetId, so the two Apple Class A shares are identified as:

The requirements of AssetId:
1. The AssetId needs to be unique within each portfolio.
2. The AssetId must be consistent between NAV dates (it must remain consistent and not change over time).

Consistency is needed on the AssetId because the AssetId is the unique identifier of a specific position. That means, if the AssetId is changed from day T to day T+1, FundApps will interpret that the position held on day T is completely sold out and the position held on day T+1 was just added to the portfolio. This screenshot illustrates an example of inconsistent AssetId:



In this case, the equity is bought on day one (2021-11-24) and has a quantity of 10000. On the second (2021-11-25) day this position is increased by 50 and the new position is now 10050 equities. To the untrained eye that might seem fine, however by hovering over the orange cell for Quantity, the previous value appears as 0, which is inaccurate. The reason for this is the change in AssetId. FundApps reads the asset with AssetId = 123 as completely sold out and a new position in the asset with AssetId = 456 was bought on day 2.

As there are disclosures that trigger based on trades, changing the AssetId can provoke unwanted disclosures to trigger. Therefore it is very important that the AssetId remains consistent across NAV dates.


To ensure that FundApps can maintain continuity in rule results over time, it's critical that the issuer/company of each security is identified by a unique identifier (string) and not only the issuer's name. This IssuerId used to identify the issuer/company should not change over time to ensure consistency in results. Please do not use LEI or Issuer Name.

The main problem with using a company name as an identifier is that company names may change over time. This may occur due to a merger, acquisition, another corporate action, or due to a simple company name change. If the name was used as an identifier, FundApps could not tie previous results under a company's former name to the new company name. This could lead to incorrect rule results and potentially missed disclosures.

We still ask that you provide the name of the company/issuer in the field IssuerName. For EU government bonds, insert the exact sovereign issuer name from ESMA's list of sovereign issuers. For the SSR EU Bonds: United Kingdom rule insert 'United Kingdom'.

The value you use for IssuerID is at your discretion as long as it represents a particular issuer over time. 


Consider a case where IssuerID is set to a company name such as DaimlerChrysler. If the IssuerId was subsequently changed to Daimler AG, the previous disclosure results under Daimler Chrysler would not be linked over time with results from Daimler AG because FundApps would view them as separate issuers.

This may result in missed or incorrect disclosures as Daimler AG would appear as a "new" issuer. 

However, if IssuerId was set to a specific value, e.g. "00DE0391201" for DaimlerChrysler, even after the demerger resulting in a name change to Daimler AG, FundApps would view it as the same company, (as identified by its unchanged IssuerId) rather than a new one. In this case, users could conveniently change the IssuerName to clearly identify the same IssuerId of 00DE0391201, as being either DaimlerChrysler or Daimler AG.

Was this article helpful?
0 out of 0 found this helpful
Share article