Introduction to the XML File
One of the most fundamental parts of implementing FundApps is understanding the XML file structure, aka the cornerstone of FundApps. The file contains three different sections, namely the Snapshot, Instrument, and Portfolio sections. This article describes the basic structure of the file and how the various parts of the file work together when a file is uploaded
The XML Positions file
The FundApps XML input file contains three different sections as mentioned above. Each section can be thought of as a wrapper around certain information. As they are wrappers, each section is defined by a Start and an End. Below is a very basic XML file displaying the three sections.
The Snapshot is specified around the entire file and lists the NAV date (data date) of the positions that are included in the file. The Snapshot is the overall wrapper in the XML file, wrapping around all relevant information for the NAV date (Data date) specified.
The instruments section of the XML contains all information around the securities that are held in the portfolios. This section can be thought of as a security master, which is something that we know many asset managers have available. The FundApps Instrument properties, which are specified for each unique instrument, are properties that are the same across all holdings of a given instrument, even if that instrument is held by several assets across multiple portfolios.
In the example file above the Instrument "Nokia equity" is held in both portfolios 11 and 15. The Instrument properties are all those properties that these two holdings have in common. For example, the issuer and security-specific properties like TotalSharesOutstanding or the CountryOfIncorporation of Nokia.
The Portfolios section contains the specific assets held in the portfolios. As seen from the example file, each individual portfolio is specified by a PortfolioId. The XML file can house as many portfolios as required. In the example, only two portfolios, 11 and 15, are specified. Within each portfolio are specified all the Asset-related properties. As opposed to the Instrument properties, the Asset properties are specific to each holding, i.e. properties which are not the same across holdings in the same security. These are properties such as the Quantity of a position, which of course may differ across multiple portfolios.
As an alternative, if the NAV date is not provided on the Snapshot, it can be provided on each portfolio. However, users have to ensure the NAV date is consistent across ALL portfolios. Given that this method is more prone to error, we strongly recommend you provide the NAV date on the snapshot.
Note: We recommend that the XML file is encoded in UTF-8, which will avoid any issues when using extended character sets in the XML file (e.g. umlauts).
This is a basic introduction to the three sections of the XML file. The next step to understanding the structure is to understand how the Instrument and Portfolio/Asset sections work together. To understand the link between the two sections please have a look at the article "Assets and Instruments".
We try our best to provide tools and examples to smooth the process of creating the XML file, as it is definitely the largest part of implementing with FundApps. We have example files available in our Github repository and the data spec is available on our documentation page to clarify the meaning of the various properties.