---
title: "Resampling-Based Minimum Variance Portfolio"
method: POST
path: "/portfolios/optimization/minimum-variance/resampling-based"
tags: ["Portfolio Optimization / Mean-Variance"]
---

# Resampling-Based Minimum Variance Portfolio

`POST /portfolios/optimization/minimum-variance/resampling-based`

Compute the asset weights of the resampling-based minimum variance portfolio, optionally subject to:  
* Minimum and maximum weights constraints
* Minimum and maximum group weights constraints
* Minimum and maximum portfolio exposure constraints

References
 * [Richard O Michaud, Robert O Michaud, Efficient Asset Management: A Practical Guide to Stock Portfolio Optimization and Asset Allocation](https://academic.oup.com/book/52209/chapter-abstract/421081595?redirectedFrom=fulltext)       
 * [F. Fabozzi, P. Kolm, D. Pachamanova, and S. Focardi. Robust portfolio optimization and management. John Wiley & Sons, 2007](https://www.wiley.com/en-us/Robust+Portfolio+Optimization+and+Management-p-9780471921226)

## Request body

- object
  - `assets` integer, required — The number of assets
  - `assetsMeanReturns` number[] — assetsMeanReturns[i] is the arithmetic (expected) return of asset i
  - `assetsCovarianceMatrix` array[], required — assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j arithmetic returns
    - number[]
  - `simulatedPortfolios` integer — The number of portfolios to simulate
  - `simulatedPortfoliosAggregationMethod` 'average' | 'median' — The method to aggregate the simulated portfolios
  - `assetsMeanReturnsUncertaintyIntervals` array[]
    - number[] — assetsMeanReturnsUncertaintyIntervals[i][0] (resp. assetsMeanReturnsUncertaintyIntervals[i][1]) is the lower (resp. upper) bound of the uncertainty interval around the i-th asset arithmetic mean return assetsMeanReturns[i]; defaults to the interval [0.95* assetsMeanReturns[i], 1.05 * assetsMeanReturns[i]]
  - `assetsStandardDeviationsUncertaintyIntervals` array[]
    - number[] — assetsStandardDeviationsUncertaintyIntervals[i][0] (resp. assetsStandardDeviationsUncertaintyIntervals[i][1]) is the lower (resp. upper) bound of the uncertainty interval around the i-th asset standard deviation sqrt(assetsCovarianceMatrix[i][i]); defaults to the interval [0.95 * sqrt(assetsCovarianceMatrix[i][i]), 1.05 * sqrt(assetsCovarianceMatrix[i][i])]
  - `assetsCorrelationMatrixUncertaintyLevel` number — The uncertainty level on the coefficients of the asset correlation matrix associated to assetsCovarianceMatrix; defaults to 0.10
  - `constraints` object
    - `minimumAssetsWeights` number[] — minimumAssetsWeights[i] is the minimum weight of the asset i in the portfolio, in percentage
    - `maximumAssetsWeights` number[] — maximumAssetsWeights[i] is the maximum weight of the asset i in the portfolio, in percentage
    - `assetsGroups` array[]
      - integer[] — assetsGroups[k] is the indexes of the assets belonging to the assets group k in the portfolio; exclusive with assetsGroupsMatrix
    - `assetsGroupsMatrix` array[] — assetsGroupsMatrix[k][i] is the weight of the asset i in the group of assets k; exclusive with assetsGroups
      - number[]
    - `maximumAssetsGroupsWeights` number[] — maximumAssetsGroupsWeights[k] is the maximum weight of the assets group k in the portfolio, in percentage between 0 and 1 if assetsGroups is provided
    - `minimumPortfolioExposure` number — The minimum portfolio exposure; must be lower than or equal to maximumPortfolioExposure
    - `maximumPortfolioExposure` number — The maximum portfolio exposure; must be higher than or equal to minimumPortfolioExposure

## Response `200`

OK

- object
  - `assetsWeights` number[], required — assetsWeights[i] is the weight of the asset i in the portfolio, in percentage

---

[API](https://skmtc.net/portfoliooptimizer/apis/portfolio-optimizer.md) · [All operations](https://skmtc.net/portfoliooptimizer/apis/portfolio-optimizer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/portfoliooptimizer/portfolio-optimizer/versions/479fd4ac44aa/schema)
