Portfolio File Upload

How to create a portfolio file and upload it into your FundApps environment

Creating A Portfolio File

We use a CSV formatted 'Portfolios file' provided to us by our customers to create an Aggregation structure, which is used within our Rules Engine to determine the aggregation of assets for rules that run on Umbrellas and Entities.

📘

See here for understanding what constitutes a Portfolio, Entity and Umbrella

A detailed implementation and help guide can be found here

Each Portfolio, Umbrella or Entity is represented with a single row within the Portfolios file. Using the properties as defined below, a full aggregation structure can be modelled.

Required Properties

All rows within the Portfolios File have a set of required properties:

  • PortfolioId: A user defined ID to refer to a single portfolio - used to refer to the portfolio in other uploads. PortfolioId values used in the positions file must correspond to a PortfolioId used in this portfolio file.
  • PortfolioName: The name of the portfolio
  • PortfolioType: The declared type of the portfolio (Portfolio, Entity or Umbrella)
  • PortfolioCurrency: The currency the portfolio trades in (by default), such as USD
  • PortfolioCompany: The company which owns the portfolio (used to limit views)
  • InceptionDate: The date a fund starts (yyyy-mm-dd) - can be left blank if inception date unknown
  • LiquidationDate: The date a fund closes (yyyy-mm-dd) - left blank if not yet liquidated
  • RuleFolders: The valid rule folders for a portfolio (e.g. Disclosure) - required for a Portfolio only
  • ExcludedRuleCodes: Any Rule Codes excluded from executing on that Portfolio, Entity or Umbrella

🚧

The PortfolioId needs to be unique. In the scenario where a PortfolioId is uploaded which already exists, the previous portfolio details associated with that PortfolioId will be overridden, so if any columns are blank (e.g. disclosure form properties, then existing values will be overridden)


Portfolios

📘

A Portfolio is a vehicle that holds assets directly (see here for a more detailed explanation).

In the Portfolios File, the PortfolioType must be set to Portfolio for each Portfolio.

PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany,InceptionDate,RuleFolders,ExcludedRuleCodes
MyPortfolio,My Portfolio,Portfolio,USD,Company Ltd,2020-10-01,"Disclosure, Validation, Validation Disclosure, Short Selling",

Entities

📘

A Legal entity, such as a company, that holds multiple portfolios.

In the Portfolios File, the PortfolioType must be set to Entity for each Entity.

PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany,InceptionDate,RuleFolders,ExcludedRuleCodes
MyEntity,My Entity,Entity,USD,Company Ltd,2020-10-01,,"MajorAR"

Umbrellas

📘

The legal personality which acts as the umbrella which can be used to group together portfolios that are also representing sleeves or sub-funds of the same fund-entity.

In the Portfolios File, the the PortfolioType must be set to Umbrella for each Umbrella. Umbrellas are an optional feature and are not required in modelling an aggregation structure.

PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany,InceptionDate,RuleFolders,ExcludedRuleCodes
MyUmbrella,My Umbrella,Umbrella,USD,Company Ltd,2020-10-01,,"MajorAR"

Setting Properties

Portfolios have a range of properties that should be set for modelling rules. See our service documentation for the specification of all Portfolio properties. Each of these properties can be set by including the value as a column in the CSV. If left blank, the property will be treated as not set.

For example, to set the property IsAIF (a boolean property) on an Entity, the CSV would look like:

PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany,IsAIF
MyEntity,My Entity,Entity,USD,Company Ltd,true

Each property has a Data Type that must be readable from the value given in the CSV:

Data TypeExplanationExample
BooleanMust be the word true or false (case sensitive)true
DateMust be in "YYYY-MM-DD" format (ISO 8601)2015-12-31
Decimal(Precision,Scale)Must use "." as decimal separator. Group (thousand) separators are not allowed, exponential formatting not allowed. Up to 21 decimal places are supported.123444.227566
IntegerWhole number (positive or negative). Group (thousand) separators are not allowed, exponential formatting not allowed19944
StringA sequence of characters. When using CSV format must not include commas (","). All strings are case-INSENSITIVE (except currencies)Nokia
ListComma separated string"XNYC,XLON"

Setting The Relationships Within An Aggregation Structure

For each Aggregation Structure (defined in your FundApps environment), the aggregation relationship (parent-child) can be created to map the controlling relationships between Portfolios, Umbrellas and Entities.

The following Scenarios for an Aggregation Structure named Legal (i.e. for the Legal Aggregation Type) cover the basics of creating a tree.

  • Setting an Entity as top-level: Set the LegalParentId to the same value as declared PortfolioId of the Entity (both fields should have the same value for the row)
  • Setting a Portfolio as child of an Entity: Set the LegalParentId of the Portfolio as the PortfolioId of the Entity
  • Setting an Umbrella as a child of an Entity: Set the LegalParentId of the Umbrella as the PortfolioId
  • Setting a Portfolio, Umbrella or Entity as not in the Aggregation Structure: Leave LegalParentId blank

👍

Entities and Umbrellas only should be at the top of each Aggregation Structure. Portfolios should have Entities and Umbrellas set as a Parent.

Examples

PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany
100,FundApps Alternatives Ltd,Entity,GBP,FundApps
101,FundApps AM Europe Ltd,Entity,EUR,FundApps
102,FundApps AM USA Inc,Entity,USD,FundApps
11,Tax Haven Fund,Portfolio,EUR,FundApps
12,Global Macro Fund,Portfolio,EUR,FundApps
13,Special Interest Fund,Portfolio,USD,FundApps
PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,PortfolioCompany,LegalParentId,LegalDelegatorParentId,VotingParentId,ManagementParentId,ManagementDelegatorParentId,RuleFolders,InceptionDate,LiquidationDate,Address,AUSellerId,IsAIF,BafinID,BicCode,City,CompanyName,CompanyNumber,CompanyType,ContactPersonFirst,ContactPersonLast,Country,Custodian,Email,EntityCountryOfIncorporation,Fax,FundDomicile,HongKongSPRID,IEIdentifierCode,IndianPAN,PostCode,Province,ReportingPersonAddress,ReportingPersonCity,ReportingPersonCompany,ReportingPersonCountry,ReportingPersonEmail,ReportingPersonFax,ReportingPersonFirst,ReportingPersonLast,ReportingPersonPhone,ReportingPersonPosition,ReportingPersonPostCode,ReportingPersonProvince,SSRUKHolderID,Telephone,USReportingPersonType,ZARegistrationNo
100,FundApps Alternatives Ltd,Entity,GBP,FundApps Alternatives,100,,100,100,,,,2015-08-15,10 High Street,124348,,FUN01234,BI298741999,London,FundApps Alternatives Ltd,,"CA-AMRS,UKIM,US-QII",John,Smith,GB,,[email protected],GB,+44 20 9766 7777,,948958,3987487,65401681,EC1Y 2BJ,London,10 High Street,London,FundApps,GB,[email protected],0207 154 1544,John,Smith,0207 154 1544,Compliance Manager,EC1Y 2BJ,,FUN01234,+44 20 9766 7766,CO,
103,Management Entity,Entity,EUR,FundApps Alternatives,103,,103,103,,,,2015-08-15,10 High Street,124348,,FUN01234,BI298741999,London,FundApps Alternatives Ltd,,"CA-AMRS,UKIM,US-QII",John,Smith,GB,,[email protected],GB,+44 20 9766 7777,GB,948958,3987487,65401681,EC1Y 2BJ,London,10 High Street,London,FundApps,GB,[email protected],0207 154 1544,John,Smith,0207 154 1544,Compliance Manager,EC1Y 2BJ,,FUN01234,+44 20 9766 7766,,
105,FundApps AM USA Ltd,Entity,USD,FundApps AM USA,105,,105,105,,,,2015-08-15,20 Main Street,124348,,,BI598741123,New York,FundApps AM USA Ltd,,"CA-AMRS,UKIM,US-QII",Adam,Smith,US,,[email protected],US,+1 20 9766 7777,,248958,23957487,65401681,10007,New York,78 Madison Avenue,New York,FundApps Inc,US,[email protected],0207 154 1544,Adam,Smith,0207 154 1544,Compliance Manager,EC1Y 2BJ,NY,FUN04321,+1 20 9766 7766,IV,
12,Tax Haven Fund,Portfolio,EUR,FundApps Alternatives,105,,105,,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-09-12,2015-08-15,10 High Street,124348,FALSE,FUN01234,BI598741123,London,FundApps Ltd,15643045,,John,Smith,GB,HSBC,[email protected],GB,+44 20 9766 7777,,948958,3987487,65401681,EC1Y 2BJ,,10 High Street,London,FundApps,GB,[email protected],0207 154 1544,John,Smith,0207 154 1544,Compliance Manager,EC1Y 2BJ,,FUN01234,+44 20 9766 7766,IV,564887842
11,Global Macro Fund,Portfolio,EUR,FundApps Alternatives,103,,,103,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-08-12,,10 High Street,,FALSE,,,London,FundApps Alternatives Ltd,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
16,Managed (Voting) Fund,Portfolio,EUR,FundApps Alternatives,103,,,103,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-01-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15,Managed Fund,Portfolio,GBP,FundApps Alternatives,103,,,103,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-03-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13,Special Interest Fund,Portfolio,EUR,FundApps Alternatives,13,,13,,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-06-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
14,US Fund I,Portfolio,USD,FundApps AM USA,100,,,100,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-11-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17,US Fund II,Portfolio,EUR,FundApps AM USA,105,,,105,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-01-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
106,FundApps Strat Ltd,Entity,GBP,FundApps Alternatives,106,,106,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
107,FundApps Advisors Ltd,Entity,GBP,FundApps Alternatives,106,,106,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
108,FundApps Global Ltd,Entity,GBP,FundApps Alternatives,106,,106,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
109,FundApps Ltd,Entity,GBP,FundApps Alternatives,106,,106,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
110,FundApps Partners Ltd,Entity,GBP,FundApps Alternatives,109,,109,109,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
18,Delegated,Portfolio,GBP,FundApps Alternatives,108,107,108,108,107,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-03-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
19,MultiDelegated,Portfolio,GBP,FundApps Alternatives,109,"107,108",109,109,"107,108","Disclosure, Validation, Validation Disclosure, Short Selling",2013-06-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
20,Non_Delegated_2,Portfolio,GBP,FundApps Alternatives,110,,110,110,,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-11-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
21,DelegatedExternally,Portfolio,GBP,FundApps Alternatives,109,110,109,,110,"Disclosure, Validation, Validation Disclosure, Short Selling",2013-01-12,,,,FALSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
PortfolioId,PortfolioName,PortfolioType,PortfolioCurrency,InceptionDate,PortfolioCompany,LegalParentId,RuleFolders,CompanyName,ExchangeAccountType
100,FundApps Alternatives Ltd,Entity,GBP,,FundApps Alternatives,100,,FundApps Alternatives Ltd,"XAMSClientAccount,XEURMarketMakerAccount,XKFEInstitutionalAccount,XSESHedgeAccount"
103,Management Entity,Entity,EUR,,FundApps Alternatives,103,,FundApps Alternatives Ltd,
105,FundApps AM USA Ltd,Entity,USD,,FundApps AM USA,105,,FundApps AM USA Ltd,
12,Tax Haven Fund,Portfolio,EUR,2013-09-12,FundApps Alternatives,105,"Position Limits, Position Limits - Mifid II",FundApps Ltd,
11,Global Macro Fund,Portfolio,EUR,2013-08-12,FundApps Alternatives,105,"Position Limits, Position Limits - Mifid II",FundApps Alternatives Ltd,
16,Managed (Voting) Fund,Portfolio,EUR,2013-01-12,FundApps Alternatives,105,"Position Limits, Position Limits - Mifid II",,
15,Managed Fund,Portfolio,GBP,2013-03-12,FundApps Alternatives,105,"Position Limits, Position Limits - Mifid II",,
13,Special Interest Fund,Portfolio,EUR,2013-06-12,FundApps Alternatives,105,"Position Limits, Position Limits - Mifid II",,
14,US Fund,Portfolio,USD,2013-11-12,FundApps AM USA,105,"Position Limits, Position Limits - Mifid II",,
17,US Fund II,Portfolio,EUR,2013-01-12,FundApps AM USA,105,"Position Limits, Position Limits - Mifid II",,

Uploading A Portfolios File

The Portfolios file can be uploaded using the Portfolios import endpoint of the main API, either as a CSV in the body of the request, or using a Zip file.

See the OpenAPI reference for details on using the endpoint.