Document toolboxDocument toolbox

Cinnamon Data Interface - Valuation

Key Principles

Principle

Decision / Discussion

Principle

Decision / Discussion

Figures

  • the number and types of figures to be reported should be flexible (MarketValue, Duration, etc.) 

  • while some figures can be aggregated by simple summing up, other figures have a specific "aggregation weight" to be used when aggregating

  • for details see Cinnamon Data Interface - Figures

(Breakdown) Segments

  • should be included in a flexible manner

  • translations to be done in reporting via the translation dictionary

  • breakdown hierarchies are delivered by the separate interface Cinnamon Data Interface - Segmentations

Aggregation

  • The reporting engine should be flexible to aggregate positions from instrument level to any segment level (never to portfolio level)

Scope is Portfolio

  • the interface should always deliver data on the scope of a single portfolio (or benchmark)

  • the interface delivers key figures also on aggregated level (portfolio or benchmark)

Unbundling / Legs

  • All unbundling positions have to be provided with all figures (e.g. weights) prepared to be directly included in the overall analysis (replacing the figures of the originating position).

  • Unbundling support three different concepts

    • Constituents: a constituent (like a position of a fund held in the portfolio) is assumed to be a different financial instrument and therefore should provide all needed segments and details for the position. The original position is completely replaced.

    • Legs: derivative instruments (e.g. FX forwards) can be unbundled into two or more legs that can have differing segments and details from the original position. Currently they are handeled identically to constituents.

    • Lots: a position considered a lot, is assumed to stem from the same financial instrument as the original position so only detailing the position with some respect. Therefore the segments as well as details are inherited from the original position but can be overwritten in the lot.

  • When unbundling positions, the following precedence is taken

    • 1. Constituents

      • A constituents of a fund can still have legs and lots

    • 2. Legs

      • Only interpreted if there are no constituents

      • A leg can still have lots

    • 3. Lots

      • Only interpreted if there are neither constituents nor legs.

Benchmark Data

  • the structures of benchmark constituent positions should be same to portfolio positions (so a portfolio can be used as benchmarks)

Interface "PortfolioValuation"

Usage & Contents

used to produce

  • Asset Breakdowns (e.g. AB001-AB007)

  • Asset Structures (e.g. AS003, AS004)

  • Position Lists (e.g. PL001, PL002)

contains

  • portfolio level key figures (marketValue, duration etc.)

  • instrument level position for portfolio

Reporting Business Logic

  • aggregation from position to sector/portfolio level of simple and weighted figures

  • top n / bottom 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
  • [P01] All figures used within a valuation object must be defined in the figures declaration

  • [P02] All figures having an aggregationMethod <> none have to match the top level figure value when aggregating up the positions

  • [P03] All segmentationIds referenced within positions must be defined in the Segmentations call

  • [P04] All segmentIds referenced within positions must be defined under the corresponding segmentation in the Segmentations call

  • [P05] All segmentIds referenced within positions must be "leaf-level" segments within the segmentation (no more child segments)

Path

/portfolio/valuation

Parameters

portfolioId*

string

The id of the portfolio (or consolidation) in the data source

reportingDate*

string (date)

The business date the valuations are queried for.

segmentationDate

string (date)

Date as of the instruments are segmented and the segmentation definition is valid (equals reportingDate if omitted)

Example call

/portfolio/valuation?portfolioId=E0002&reportingDate=2019-03-31&segmentationDate=2019-06-30

Schema

on request

Response

on request

Interface "BenchmarkValuation"

Usage & Contents

used to produce

  • Asset Breakdowns AB001-AB007

  • Asset Structures AS003, AS004

contains

  • benchmark level key figures (duration etc.)

  • instrument level position for benchmark

Reporting Business Logic

  • for comparison with portfolio all same logic needed as stated under PortfolioValuation

Consistency Rules

The following rules should be adhered to by any response and will be checked when consuming a response:

  • [B01] All figures used within a valuation object must be defined in the figures declaration

  • All figures having an aggregationMethod <> none have to match the top level figure value when aggregating up the positions

  • [B02] All segmentationIds referenced within positions must be defined in the Segmentations call

  • [B03] All segmentIds referenced within positions must be defined under the corresponding segmentation in the Segmentations call

  • All segmentIds referenced within positions must be "leaf-level" segments within the segmentation (no more child segments)

Path

/benchmark/valuation

Parameters

benchmarkId*

string

The id of the benchmark in the data source

reportingDate*

string (date)



segmentationDate

string (date)



Example call

/benchmark/valuation?benchmarkId=B0002&reportingDate=2019-03-31&segmentationDate=2019-06-30

Schema

on request

Response

on request