...
Key Principles
Principle | Decision / Discussion |
---|
Status | Status |
---|
colour | Green |
---|
title | Specified |
---|
|
| Status |
---|
colour | Green |
titleSpecified | Status |
---|
colour | Green |
---|
title | Specified |
---|
|
| Breakdown Segments & Sorting |
| Status |
---|
colour | Green |
---|
title | Specified |
---|
|
| Aladdin as with Valuation effects → see CSAM Data Hub - Segmentations & Figures Status |
---|
colour | Green |
---|
title | Specified |
---|
|
| Interface "PortfolioAttributions"
...
Status
...
Usage & Contents | used to produce attribution tables and charts CA001-CA004 and CA007 all available attributions for the portfolio calculated portfolio & segment level key figures (e.g. relative return, selection effect etc.)
|
---|
Path | /portfolio/attributions |
---|
Parameters | portfolioId | string | The id of the portfolio (or consolidation) in the data source |
---|
reportingDate | string (date) | The date, the reporing is produced for. |
Example call | /portfolio/attributions?portfolioId=E0002&reportingDate=2019-03-31 |
---|
Response structure | If the API can fulfill the request (response status code 200 = OK) the response must follow the below json-schema.
Note |
---|
The request part of the response has to match the path and parameters used in the API call/request The json schema currently excludes the schema for dataVersioning (should be designed by CSAM) Segmentations will be defined separately
|
Schema | https://bitbucket.org/banknotes/ngr/src/df61b39d18a16581cd95aed9694991bbe39c5fb1/ngr-csamsolution/src/Model/schema/PortfolioAttributions.schema.json?at=release%2Fcurrent |
---|
Error handling | If the request can't be fulfilled an appropriate response status code (4xx or 5xx) must be used. Possible errors could be
The body of the response should contain information about the reason of the error in plain text or as json object.Reporting Business Logic | aggregation from segments to derived segments for simple and weighted figures aggregation of figures / measures top n, filtering, sorting build hierarchical view from segment data translation of segment labels
|
---|
Consistency Rules | The following rules should be adhered to by any response and will eventually be checked when consuming a response: Consistency Rules Code Block |
---|
| * All figures used within an attribution object should be defined in the figures declaration
* A model referenced in an attribution object has to be declared under models
* Every effect used within an attribution object has to be a declared effect of the referenced model
* Every effect declared within a model has to be also declared as figure
* If the attribution has a segmentationId, it also has to deliver the breakdown
* All effects of a model having effectAggregation = sum should sum up to the value of the figure they explain
* All figure having an aggregationMethod = sum has to match the top level figure value when summing up the breakdown figure values
* All attribution objects have to name a period that ends earlier than or at the reportingDate
* All end dates of attribution periods have to be the same and have to be a month's ultimo date
* All period's start dates have to be earlier than the end date |
|
---|
Later we will check against the segmentations request:
Code Block |
---|
* All segmentations referenced in attribution objects have to be declared within the response
* All segments used within the breakdown of an attribution object have to be declared as segments of the attributions segmentation |
|
Reporting Business Logic | aggregation from segments to derived segments for simple and weighted figures aggregation of figures / measures top n, filtering, sorting build hierarchical view from segment data translation of segment labels
|
---|
Potential Problems | Offering should be aligned to not confuse MWR-type contributions with contribution figures as part of attributionPath | /portfolio/attributions
|
---|
Parameters | portfolioId
| string | The id of the portfolio (or consolidation) in the data source |
---|
reportingDate
| string (date) | The date, the reporing is produced for. |
---|
Example call | /portfolio/attributions?portfolioId=E0002&reportingDate=2019-03-31
|
---|
Schema | |
---|
Example | |
---|