action portfoliooptimizer_post_portfolio_construction_random { label: "Random Portfolio" description: "Construct one or several random portfolio(s), optionally subject to: \n* Minimum and maximum weights constraints\n* Minimum and maximum portfolio exposure constraints\n\n> Because of the nature of the endpoint, subsequent calls with the same input data will result in different output data.\n\nReferences\n* [William Thornton Shaw, Monte Carlo Portfolio Optimization for General Investor Risk-Return Objectives and Arbitrary Return Distributions: A Solution for Long-Only Portfolios](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1680224)\n" provider: portfoliooptimizer method: POST path: "/portfolio/construction/random" encoding: json input: { type: "object" required: ["assets"] properties: { assets: { type: "integer" description: "The number of assets" } constraints: { type: "object" properties: { maximumAssetsWeights: { type: "array" description: "maximumAssetsWeights[i] is the maximum weight of the asset i in the portfolio, in percentage" items: { type: "number" } } maximumPortfolioExposure: { type: "number" description: "The maximum portfolio exposure; must be higher than or equal to minimumPortfolioExposure" } minimumAssetsWeights: { type: "array" description: "minimumAssetsWeights[i] is the minimum weight of the asset i in the portfolio, in percentage" items: { type: "number" } } minimumPortfolioExposure: { type: "number" description: "The minimum portfolio exposure; must be lower than or equal to maximumPortfolioExposure" } } } portfolios: { type: "integer" description: "The number of portfolios to construct" } } } output: { type: "object" required: ["portfolios"] properties: { portfolios: { type: "array" items: { type: "object" required: ["assetsWeights"] properties: { assetsWeights: { type: "array" description: "assetsWeights[i] is the weight of the asset i in the portfolio, in percentage" items: { type: "number" } } } } } } } }