---
title: "Multivariate Empirical Value at Risk Contributions"
method: POST
path: "/portfolios/analysis/contributions/value-at-risk/empirical/multivariate"
tags: ["Portfolio Analysis / Contributions"]
---

# Multivariate Empirical Value at Risk Contributions

`POST /portfolios/analysis/contributions/value-at-risk/empirical/multivariate`

## Request

- Base URL: `https://api.portfoliooptimizer.io/v1`
- URL: `https://api.portfoliooptimizer.io/v1/portfolios/analysis/contributions/value-at-risk/empirical/multivariate`
- Auth: API key in header `X-API-Key`

Perform a value-at-risk contribution analysis of a portfolio, using the empirical multivariate distribution of the portfolio asset returns.

References
* [Ballotta, Laura and Fusai, Gianluca, A Gentle Introduction to Value at Risk](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2942138)
* [Hallerbach, W. G. (2002). Decomposing portfolio value-at-risk: a general analysis. The Journal of Risk 5(2), 1–18](https://www.risk.net/journal-risk/2161136/decomposing-portfolio-value-risk-general-analysis)
* [Boudt, Kris and Peterson, Brian G. and Croux, Christophe, Estimation and Decomposition of Downside Risk for Portfolios with Non-Normal Returns. Journal of Risk, Vol. 11, No. 2, pp. 79-103, 2008](https://www.risk.net/journal-of-risk/2160992/estimation-and-decomposition-of-downside-risk-for-portfolios-with-non-normal-returns)
* [Mausser, H. (2003). Calculating quantile-based risk analytics with L-estimators. Journal of Risk Finance 4 (3), 61–74](https://www.emerald.com/jrf/article/4/3/61-74/250994)

## Request body

- object
  - `assets` union[], required
    - union
      - object
        - `assetReturns` number[], required: assetReturns[t] is the logarithmic return of the asset at the time t; all assetReturns arrays must have the same length
      - object
        - `assetPrices` object[], required: assetPrices[t] contains price information for the asset at the date t; all assetPrices arrays must have the same length; all assetPrices arrays must be consistent
          - `date` string, required: The date corresponding to the date t in format YYYY-MM-DD; all dates must be distinct
          - `close` number, required: The close price of the asset at the date t
  - `confidenceLevel` number: The confidence level
  - `empiricalQuantileEstimationMethod` 'linearInterpolationQuantileEstimation' | 'harrellDavisQuantileEstimation': The empirical quantile estimation method to use
  - `assetsGroups` array[]
    - integer[]: assetsGroups[k] is the indexes of the assets belonging to the assets group k
  - `portfolios` object[], required
    - `assetsWeights` number[], required: assetsWeights[i] is the weight of the asset i in the portfolio over the considered time period, in percentage

## Response `200`

OK

- object
  - `portfolios` object[], required
    - `assetsMarginalValueAtRiskContributions` number[], required: assetsMarginalValueAtRiskContributions[i] is the marginal contribution of the asset i to the value-at-risk of the portfolio
    - `assetsRelativeValueAtRiskContributions` number[]: assetsRelativeValueAtRiskContributions[i] is the relative contribution of the asset i to the value-at-risk of the portfolio, in percentage; assetsRelativeValueAtRiskContributions is not provided when the value-at-risk of the portfolio is equal to 0
    - `assetsTotalValueAtRiskContributions` number[], required: assetsTotalValueAtRiskContributions[i] is the total contribution of the asset i to the value-at-risk of the portfolio
    - `assetsGroupsRelativeValueAtRiskContributions` number[]: assetsGroupsRelativeValueAtRiskContributions[k] is the relative contribution of the group of assets k to the value-at-risk of the portfolio, in percentage; assetsGroupsRelativeValueAtRiskContributions is not provided when the value-at-risk of the portfolio is equal to 0
    - `assetsGroupsTotalValueAtRiskContributions` number[]: assetsGroupsTotalValueAtRiskContributions[k] is the total contribution of the group of assets k to the value-at-risk of the portfolio

## Changes

- **2026-06-08** `614076795988`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/changes/portfolios/analysis/contributions/value-at-risk/empirical/multivariate/post.md)

---

[API](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer.md) - [All operations](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/llms.txt) - [OpenAPI document](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/revisions/9d075aa717bf?raw)
