action portfoliooptimizer_post_assets_correlation_matrix_denoised { label: "Denoised Correlation Matrix" description: "Compute a denoised asset correlation matrix, using one of the following methods:\n * The eigenvalues clipping method, described in the first reference, which is based on random matrix theory\n \n References\n * [Laurent Laloux, Pierre Cizeau, Jean-Philippe Bouchaud, and Marc Potters, Noise Dressing of Financial Correlation Matrices, Phys. Rev. Lett. 83, 1467](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.83.1467)\n" provider: portfoliooptimizer method: POST path: "/assets/correlation/matrix/denoised" encoding: json input: { type: "object" required: ["assets", "assetsCorrelationMatrix", "assetsCorrelationMatrixAspectRatio"] properties: { assets: { type: "integer" } assetsCorrelationMatrix: { type: "array" description: "assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j" items: { type: "array" items: { type: "number" } } } assetsCorrelationMatrixAspectRatio: { type: "number" description: "The aspect ratio of the asset correlation matrix, defined as the number of assets divided by the number of asset returns per asset used to compute the asset correlation matrix" } denoisingMethod: { type: "string" description: "The method used to denoise the asset correlation matrix" enum: ["eigenvaluesClipping"] } } } output: { type: "object" required: ["assetsCorrelationMatrix"] properties: { assetsCorrelationMatrix: { type: "array" description: "assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j; assetsCorrelationMatrix is possibly null in case the denoising method did not manage to denoise the provided asset correlation matrix" items: { type: "array" items: { type: "number" } } } } } }