Overview
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
As mentioned above, the FundApps XML input file contains three sections. Each section can be thought of as a wrapper around certain information. As wrappers, each section is defined by a Start and an End. Below is a very basic XML file displaying the three sections.
Snapshot
The Snapshot is specified around the entire file and lists the NAV date (data date) of the positions included in the file. It is the overall wrapper in the XML file, wrapping around all relevant information for the specified NAV date (Data date).
Instruments
The instruments section of the XML contains all information about the securities held in the portfolios. This section can be thought of as a security master, which 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 that these two holdings have in common, such as the issuer and security-specific properties like TotalSharesOutstanding or the CountryOfIncorporation of Nokia.
Portfolios
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 understanding how the Instrument and Portfolio/Asset sections work together. To understand the link between the two sections, please have a look at this article.
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 Product Documentation page to clarify the meaning of the various properties.