---
title: "Portfolio Weights Rounding"
method: POST
path: "/portfolios/post-optimization/rounding"
tags: ["Portfolio Post-Optimization"]
---

# Portfolio Weights Rounding

`POST /portfolios/post-optimization/rounding`

Round the asset weights of a portfolio, optionally subject to:
* Minimum and maximum weights constraints 
* Minimum and maximum group weights constraints
* Minimum and maximum portfolio exposure constraints

References
* [M. Bomze, S. Gollowitzer, and E.A. Yildirim, Rounding on the unit simplex: Regular grids for global optimization, J. Global Optim. 59 (2014), pp. 243–258](https://doi.org/10.1007/s10898-013-0126-2)

## Request body

- object
  - `portfolios` object[], required
    - `assets` integer, required — The number of assets
    - `assetsWeights` number[], required — assetsWeights[i] is the weight of the asset i in the portfolio, in percentage
    - `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
      - `portfolioWeightIncrement` number — The portfolio weight increment, that is, the minimum additional asset weight allowed in the portfolio, in percentage between 0 and 1

## Response `200`

OK

- object
  - `portfolios` object[], required
    - `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/revisions/d016f340e91c/schema)
