openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 270 kB
JSON
{"openapi":"3.0.1","servers":[{"url":"https://api.portfoliooptimizer.io/v1"},{"url":"https://eu-west-1.api.portfoliooptimizer.io/v1"}],"info":{"contact":{"email":"contact@portfoliooptimizer.io","name":"Support","url":"https://portfoliooptimizer.io/"},"description":"Portfolio Optimizer is a [Web API](https://en.wikipedia.org/wiki/Web_API) to analyze and optimize investment portfolios (collection of financial assets such as stocks, bonds, ETFs, crypto-currencies) using modern portfolio theory algorithms (mean-variance, VaR, etc.).\n\n# API General Information\n\n Portfolio Optimizer is based on [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) for easy integration, uses [JSON](https://en.wikipedia.org/wiki/JSON) for the exchange of data and uses a standard [HTTP verb](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods) (`POST`) to represent the action(s).\n\nPortfolio Optimizer is also as secured as a Web API could be: \n* [256-bit HTTPS Encryption](https://en.wikipedia.org/wiki/HTTPS)\n* No usage of cookies\n* No usage of personal data \n\n## API Headers \nThe following HTTP header(s) are required when calling Portfolio Optimizer endpoints:\n* `Content-type: application/json` \n This header specifies that the data provided in input to the endpoint is in JSON format\n\nThe following HTTP header(s) are optional when calling Portfolio Optimizer endpoints:\n* `Content-Encoding: gzip` \n This header indicates that the data provided in input to the endpoint is compressed with gzip.\n* `X-API-Key: <private API key>` \n This header enables [authenticated users](#auth) to provide their private [API key](#overview--api-key) in order to [benefit from higher API limits](#overview--api-limits)\n\n## API Key\nPortfolio Optimizer is free to use, but not free to run.\n\nIn order to obtain an API key and benefit from [higher API limits](#overview--api-limits), a *small* participation to Portfolio Optimizer running costs is required.\n\nThis participation takes the form of coffee(s), with one coffee = one month of usage.\n\n<p><a href=\"https://www.buymeacoffee.com/portfolioopt\"><img alt='Buy a Coffee at buymeacoffee.com' src=\"https://img.buymeacoffee.com/button-api/?text=Buymeacoffee.com&emoji=&slug=portfolioopt&button_colour=000000&font_colour=ffffff&font_family=Cookie&outline_colour=ffffff&coffee_colour=FFDD00\"></a></p>\n\n\n> **Notes:** \n> * Please make sure not to expose your API key publicly!\n\n## API Limits \n\nPortfolio Optimizer comes with *fairly reasonable* API limits.\n\nFor anonymous users: \n* The API requests are restricted to a subset of all the available endpoints and/or endpoints features \n* The API requests are limited to 1 request per second for all the anonymous users combined, with concurrent requests rejected \n* The API requests are limited to 1 second of execution time\n* The API requests are limited to 20 assets, 250 portfolios, 500 series data points and 5 factors\n\nFor authenticated users with an [API key](#overview--api-key): \n* The API requests have access to all the available endpoints and endpoints features\n* The API requests are limited to 10000 requests per 24 hour per API key, with concurrent requests queued\n* The API requests are limited to 2.5 seconds of execution time\n* The API requests are limited to 100 assets, 1250 portfolios, 2500 series data points and 25 factors\n\n> **Notes:** \n> * It is possible to further relax the API limits, or to disable the API limits alltogether; please [contact the support](https://portfoliooptimizer.io/contact/) for more details.\n> * Information on the API rate limits are provided in response messages HTTP headers `x-ratelimit-*`: \n> * `x-ratelimit-limit-second`, the limit on the number of API requests per second\n> * `x-ratelimit-remaining-second`, the number of remaining API requests in the current second \n> * `x-ratelimit-limit-minute`, the limit on the number of API requests per minute\n> * ...\n\n## API Regions\nPortfolio Optimizer servers are located in Western Europe.\n\n> **Notes:** \n> * It is possible to deploy Portfolio Optimizer in other geographical regions, for example to improve the API latency; please [contact the support](https://portfoliooptimizer.io/contact/) for more details. \n\n## API Response Codes \n\nStandard [HTTP response codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) are used by Portfolio Optimizer to provide details on the status of API requests.\n\n| HTTP Code | Description | Notes |\n| --------- | ----------- | ----- |\n| 200 | Request successfully processed | - |\n| 400 | Request failed to be processed because of incorrect content | The response message body contains information on the incorrect content |\n| 401 | Request failed to be processed because of invalid API key | - |\n| 404 | Request failed to be processed because of non existing endpoint | The requested endpoint might exist, but needs to be accessed with another HTTP method (e.g., `POST` instead of `GET`) |\n| 429 | Request failed to be processed because of API limits violated | The response message HTTP headers `x-ratelimit-*` contain information on the [API limits](#overview--api-limits) |\n| 500 | Request failed to be processed because of an internal error | Something went wrong on Portfolio Optimizer side, do not hesitate to [report the issue](#overview--support) |\n| 502 | Request failed to be processed because of a temporary connectivity error | Something went wrong on Portfolio Optimizer side, please check the [API status](#overview--api-status) and do not hesitate to [report the issue](#overview--support) |\n\n## API Status \n\nPortfolio Optimizer is monitored 24/7 by [UptimeRobot](https://stats.uptimerobot.com/wgW71SL1AW).\n\n# Support\n\nFor any issue or question about Portfolio Optimizer, please do not hesitate to [contact the support](https://portfoliooptimizer.io/contact/).\n","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://portfoliooptimizer.io/terms-of-service","title":"Portfolio Optimizer","version":"1.0.9","x-apisguru-categories":["financial"],"x-logo":{"url":"https://portfoliooptimizer.io/assets/images/88x88.png"},"x-origin":[{"format":"openapi","url":"https://docs.portfoliooptimizer.io/openapi/portfoliooptimizer.yaml","version":"3.0"}],"x-providerName":"portfoliooptimizer.io"},"externalDocs":{"description":"External documentation","url":"https://docs.portfoliooptimizer.io/"},"security":[{"ApiKeyAuth":[]}],"paths":{"/assets/analysis/absorption-ratio":{"post":{"description":"Compute the absorption ratio associated to a universe of assets.\n\nReferences\n* [Mark Kritzman, Yuanzhen Li, Sebastien Page and Roberto Rigobon, Principal Components as a Measure of Systemic Risk, The Journal of Portfolio Management Summer 2011, 37 (4) 112-126](https://jpm.pm-research.com/content/37/4/112)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Compute the absorption ratio of 2 assets","value":{"assets":2,"assetsCovarianceMatrix":[[9,1],[1,1]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":1,"type":"integer"},"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsCovarianceMatrixEigenvectors":{"properties":{"eigenvectorsRetained":{"description":"The number of eigenvectors to retain in the numerator of the absorption ratio, which must be lower than the number of assets; defaults to [1/5-th] the number of assets","minimum":1,"type":"integer"}},"type":"object"}},"required":["assets","assetsCovarianceMatrix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed absorption ratio of 2 assets","value":{"assetsAbsorptionRatio":0.9123105625617661}}},"schema":{"properties":{"assetsAbsorptionRatio":{"description":"The absorption ratio of the universe of assets","type":"number"}},"required":["assetsAbsorptionRatio"],"type":"object"}}},"description":"OK"}},"summary":"Absorption Ratio","tags":["Assets / Analysis"],"x-codegen-request-body-name":"body"}},"/assets/analysis/turbulence-index":{"post":{"description":"Compute the turbulence index associated to a universe of assets.\n\nReferences\n* [M. Kritzman, Y. Li, Skulls, Financial Turbulence, and Risk Management,Financial Analysts Journal, Volume 66, Number 5, Pages 30-41, Year 2010](https://www.tandfonline.com/doi/abs/10.2469/faj.v66.n5.3)\n* [Kinlaw, W., Turkington, D. Correlation surprise. J Asset Manag 14, 385–399 (2013)](https://link.springer.com/article/10.1057/jam.2013.27)\n","requestBody":{"content":{"application/json":{"examples":{"Example (1 asset)":{"description":"Compute the turbulence index of 1 asset","value":{"assets":1,"assetsAverageReturns":[0.5],"assetsCovarianceMatrix":[[1]],"assetsReturns":[1]}},"Example (2 assets)":{"description":"Compute the turbulence index of 2 assets","value":{"assets":2,"assetsAverageReturns":[1,1],"assetsCovarianceMatrix":[[9,1],[1,1]],"assetsReturns":[1,0]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":1,"type":"integer"},"assetsAverageReturns":{"description":"assetsAverageReturns[i] is the average return of asset i over an historical reference period","items":{"type":"number"},"minItems":1,"type":"array"},"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j over an historical reference period","items":{"items":{"type":"number"},"minItems":1,"type":"array"},"minItems":1,"type":"array"},"assetsReturns":{"description":"assetsReturns[i] is the return of asset i over a period different from the historical reference period","items":{"type":"number"},"minItems":1,"type":"array"}},"required":["assets","assetsCovarianceMatrix","assetsAverageReturns","assetsReturns"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed turbulence index","value":{"assetsTurbulenceIndex":0.5624999999999999}}},"schema":{"properties":{"assetsTurbulenceIndex":{"description":"the turbulence index of the universe of assets","type":"number"}},"required":["assetsTurbulenceIndex"],"type":"object"}}},"description":"OK"}},"summary":"Turbulence Index","tags":["Assets / Analysis"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix":{"post":{"description":"Compute the Pearson asset correlation matrix from either: \n* The asset returns\n* The asset covariance matrix\n\nReferences\n* [Wikipedia, Correlation and Dependence](https://en.wikipedia.org/wiki/Correlation_and_dependence#Correlation_matrices)\n","requestBody":{"content":{"application/json":{"examples":{"From covariance matrix":{"description":"Computes the correlation matrix of 2 assets based on their covariance matrix","value":{"assets":2,"assetsCovarianceMatrix":[[0.01,-0.0025],[-0.0025,0.0025]]}},"From returns":{"description":"Computes the correlation matrix of 2 assets based on 4 returns per asset","value":{"assets":[{"assetReturns":[0.01,0,0.02,-0.03]},{"assetReturns":[0.01,0,0.02,-0.03]}]}}},"schema":{"oneOf":[{"properties":{"assets":{"items":{"properties":{"assetReturns":{"description":"assetReturns[t] is the return of the asset at the time t; all the assetReturns arrays must have the same length","items":{"type":"number"},"minItems":2,"type":"array"}},"required":["assetReturns"],"type":"object"},"minItems":2,"type":"array"}},"required":["assets"],"type":"object"},{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCovarianceMatrix"],"type":"object"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed correlation matrix","value":{"assetsCorrelationMatrix":[[1,0.5],[0.5,1]]}}},"schema":{"properties":{"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/bounds":{"post":{"description":"Compute the lower bounds and the upper bounds of an asset correlation matrix associated to a given group of assets.\n \n References\n * [Kawee Numpacharoen & Kornkanok Bunwong (2013) Boundaries of Correlation Adjustment with Applications to Financial Risk Management, Applied Mathematical Finance, 20:4, 403-414](http://dx.doi.org/10.1080/1350486X.2012.723517).\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Compute the lower and upper bounds of a 4x4 correlation matrix associated to the group of the 3 last assets","value":{"assets":4,"assetsCorrelationMatrix":[[1,-0.55,-0.15,-0.1],[-0.55,1,0.4,0.3],[-0.15,0.4,1,0.5],[-0.1,0.3,0.5,1]],"assetsGroup":[2,3,4]}}},"schema":{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsGroup":{"description":"assetsGroup[k] is the indexes of the assets belonging to the assets group k","items":{"minimum":1,"type":"integer"},"minItems":2,"type":"array","uniqueItems":true}},"required":["assets","assetsCorrelationMatrix","assetsGroup"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed lower and upper bounds of a 3x3 correlation matrix associated to the group of the last 2 assets","value":{"assetsCorrelationMatrixLowerBounds":[[1,0.5,0.5,0],[0.5,1,0.5,0.3],[0.5,0.5,1,-0.6659],[0,0.3,-0.6659,1]],"assetsCorrelationMatrixUpperBounds":[[1,0.5,0.5,0],[0.5,1,0.5,0.3],[0.5,0.5,1,0.8659],[0,0.3,0.8659,1]]}}},"schema":{"properties":{"assetsCorrelationMatrixLowerBounds":{"description":"assetsCorrelationMatrixLowerBounds[i][j] is the lower bound of the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsCorrelationMatrixUpperBounds":{"description":"assetsCorrelationMatrixUpperBounds[i][j] is the upper bound of the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrixLowerBounds","assetsCorrelationMatrixUpperBounds"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Bounds","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/denoised":{"post":{"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","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Denoise an asset correlation matrix of 3 assets","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"assetsCorrelationMatrixAspectRatio":0.5}}},"schema":{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsCorrelationMatrixAspectRatio":{"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","exclusiveMinimum":true,"minimum":0,"type":"number"},"denoisingMethod":{"default":"eigenvaluesClipping","description":"The method used to denoise the asset correlation matrix","enum":["eigenvaluesClipping"],"type":"string"}},"required":["assets","assetsCorrelationMatrix","assetsCorrelationMatrixAspectRatio"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Denoised correlation matrix","value":{"assetsCorrelationMatrix":[[1,0.6838346015086407,0.7246659534718176],[0.6838346015086407,1,0.6978824315038066],[0.7246659534718176,0.6978824315038066,1]]}},"Example of failing denoising method":{"description":"No denoised correlation matrix","value":{"assetsCorrelationMatrix":null}}},"schema":{"properties":{"assetsCorrelationMatrix":{"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":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Denoised Correlation Matrix","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/distance":{"post":{"description":"Compute the distance between an asset correlation matrix and a reference correlation matrix, using one of the following distance metrics:\n* Euclidean distance (default), which is the distance induced by [the Frobenius norm](https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm)\n* Correlation matrix distance, defined in the first reference, which corresponds to [the cosine distance](https://en.wikipedia.org/wiki/Cosine_similarity) between the two vectorized asset correlation matrices\n* Bures distance, defined in the second reference\n\n References\n * [M. Herdin, N. Czink, H. Ozcelik and E. Bonek, Correlation matrix distance, a meaningful measure for evaluation of non-stationary MIMO channels, 2005 IEEE 61st Vehicular Technology Conference, 2005, pp. 136-140 Vol. 1](https://ieeexplore.ieee.org/document/1543265)\n * [Rajendra Bhatia, Tanvi Jain, Yongdo Lim, On the Bures–Wasserstein distance between positive definite matrices, Expositiones Mathematicae, Volume 37, Issue 2, 2019](https://www.sciencedirect.com/science/article/pii/S0723086918300021)\n","requestBody":{"content":{"application/json":{"examples":{"Example (correlation matrix distance)":{"description":"Compute the correlation matrix distance between an asset correlation matrix and an equicorrelation matrix","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"distanceMetric":"correlationMatrix","referenceCorrelationMatrix":[[1,1,1],[1,1,1],[1,1,1]]}},"Example (euclidean distance)":{"description":"Compute the euclidean distance between an asset correlation matrix and an equicorrelation matrix","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"referenceCorrelationMatrix":[[1,1,1],[1,1,1],[1,1,1]]}}},"schema":{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"distanceMetric":{"default":"euclidean","description":"The distance metric to use to compute the distance between the asset correlation matrix and the reference correlation matrix","enum":["euclidean","correlationMatrix","bures"],"type":"string"},"referenceCorrelationMatrix":{"description":"referenceCorrelationMatrix[i][j] is the reference correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix","referenceCorrelationMatrix"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed distance","value":{"assetsCorrelationMatrixDistance":0.8366600265340757}}},"schema":{"properties":{"assetsCorrelationMatrixDistance":{"description":"The computed distance between the two correlation matrices","minimum":0,"type":"number"}},"required":["assetsCorrelationMatrixDistance"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Distance","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/effective-rank":{"post":{"description":"Compute the effective rank of an asset correlation matrix.\n\nReferences\n* [Olivier Roy and Martin Vetterli, The effective rank: A measure of effective dimensionality, 15th European Signal Processing Conference, 2007](https://ieeexplore.ieee.org/document/7098875)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Compute the effective rank of a correlation matrix of 2 assets","value":{"assets":2,"assetsCorrelationMatrix":[[1,0],[0,1]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed effective rank","value":{"assetsCorrelationMatrixEffectiveRank":2}}},"schema":{"properties":{"assetsCorrelationMatrixEffectiveRank":{"description":"The effective rank of the asset correlation matrix","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrixEffectiveRank"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Effective Rank","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/informativeness":{"post":{"description":"Compute the informativeness of an asset correlation matrix, using one of the following distance metrics:\n* Euclidean distance (default), which is the distance induced by [the Frobenius norm](https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm)\n* Correlation matrix distance, defined in the second reference, which corresponds to [the cosine distance](https://en.wikipedia.org/wiki/Cosine_similarity) between the two vectorized asset correlation matrices\n* Bures distance, defined in the third reference\n\n References\n * [Austin J. Brockmeier and Tingting Mu and Sophia Ananiadou and John Y. Goulermas, Quantifying the Informativeness of Similarity Measurements, Journal of Machine Learning Research, 2017](http://jmlr.org/papers/v18/16-296.html)\n * [M. Herdin, N. Czink, H. Ozcelik and E. Bonek, Correlation matrix distance, a meaningful measure for evaluation of non-stationary MIMO channels, 2005 IEEE 61st Vehicular Technology Conference, 2005, pp. 136-140 Vol. 1](https://ieeexplore.ieee.org/document/1543265)\n * [Rajendra Bhatia, Tanvi Jain, Yongdo Lim, On the Bures–Wasserstein distance between positive definite matrices, Expositiones Mathematicae, Volume 37, Issue 2, 2019](https://www.sciencedirect.com/science/article/pii/S0723086918300021)\n","requestBody":{"content":{"application/json":{"examples":{"Example (Bures distance)":{"description":"Compute the informativeness of an asset correlation matrix usingn the Bures distance","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"distanceMetric":"bures"}},"Example (euclidean distance)":{"description":"Compute the informativeness of an asset correlation matrix usingn the euclidean distance","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]]}}},"schema":{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"distanceMetric":{"default":"euclidean","description":"The distance metric to use to compute the informativeness of the asset correlation matrix","enum":["euclidean","correlationMatrix","bures"],"type":"string"}},"required":["assets","assetsCorrelationMatrix"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed informativeness","value":{"assetsCorrelationMatrixInformativeness":0.020539611658192996}}},"schema":{"properties":{"assetsCorrelationMatrixInformativeness":{"description":"The informativeness of the asset correlation matrix","minimum":0,"type":"number"}},"required":["assetsCorrelationMatrixInformativeness"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Informativeness","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/nearest":{"post":{"description":"Compute the _closest_ - in terms of [the Frobenius norm](https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm) - asset correlation matrix to an approximate asset correlation matrix, optionally keeping a selected number of correlations fixed.\n\nReferences\n* [Nicholas J. Higham, Computing the Nearest Correlation Matrix—A Problem from Finance, IMA J. Numer. Anal. 22, 329–343, 2002.](http://www.maths.manchester.ac.uk/~higham/narep/narep369.pdf)\n","requestBody":{"content":{"application/json":{"examples":{"Nearest correlation matrix":{"description":"Compute the nearest correlation matrix to an approximate correlation matrix","value":{"assets":3,"assetsApproximateCorrelationMatrix":[[1,1,0],[1,1,1],[0,1,1]]}},"Nearest correlation matrix with fixed a correlation":{"description":"Compute the nearest correlation matrix to an approximate correlation matrix, keeping one correlation coefficient fixed","value":{"assets":3,"assetsApproximateCorrelationMatrix":[[1,0.5,0.9],[0.5,1,-0.2],[0.9,-0.2,1]],"assetsFixedCorrelations":[[2,3]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsApproximateCorrelationMatrix":{"description":"assetsApproximateCorrelationMatrix[i][i] is the approximate correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsFixedCorrelations":{"description":"assetsFixedCorrelations[k] is the couple of indices (i,j) of the assets i and j for which to keep the approximate correlation assetsApproximateCorrelationMatrix[i][j] fixed","items":{"items":{"type":"integer"},"maxItems":2,"minItems":2,"type":"array"},"type":"array"}},"required":["assets","assetsApproximateCorrelationMatrix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Nearest correlation matrix":{"description":"Computed nearest correlation matrix","value":{"assetsCorrelationMatrix":[[1,0.7606306078350177,0.15733356650676536],[0.7606306078350177,1,0.7606306078350177],[0.15733356650676536,0.7606306078350177,1]]}},"Nearest correlation matrix with fixed a correlation":{"description":"Computed nearest correlation matrix keeping one correlation coefficient fixed","value":{"assetsCorrelationMatrix":[[1,0.4314569968899409,0.7974943959465133],[0.4314569968899409,1,-0.2],[0.7974943959465133,-0.2,1]]}}},"schema":{"properties":{"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Nearest Correlation Matrix","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/random":{"post":{"description":"Generate an asset correlation matrix uniformly at random over the space of positive definite correlation matrices.\n\nReferences\n* [Joe, H., Generating random correlation matrices based on partial correlations. Journal of Multivariate Analysis, 2006, 97, 2177-2189](https://www.sciencedirect.com/science/article/pii/S0047259X05000886)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Generate a 2x2 correlation matrix","value":{"assets":2}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"}},"required":["assets"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed random correlation matrix","value":{"assetsCorrelationMatrix":[[1,0.7606306078350177,0.15733356650676536],[0.7606306078350177,1,0.7606306078350177],[0.15733356650676536,0.7606306078350177,1]]}}},"schema":{"properties":{"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Random Correlation Matrix","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/shrinkage":{"post":{"description":"Compute an asset correlation matrix as a convex linear combination of an asset correlation matrix and a target correlation matrix, the target correlation matrix being either: \n * An equicorrelation matrix made of 1\n * An equicorrelation matrix made of 0\n * An equicorrelation matrix made of -1/(n-1), with n the number of assets\n * A provided correlation matrix\n \n References\n * [Steiner, Andreas, Manipulating Valid Correlation Matrices](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1878165)\n","requestBody":{"content":{"application/json":{"examples":{"Shrinkage toward a provided correlation matrix":{"description":"Shrinkage toward a provided correlation matrix, here the identity matrix","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"shrinkageFactor":0.5,"targetCorrelationMatrix":[[1,0,0],[0,1,0],[0,0,1]]}},"Shrinkage toward an equicorrelation matrix":{"description":"Shrinkage toward the equicorrelation matrix made of 1","value":{"assets":3,"assetsCorrelationMatrix":[[1,0.5,0.9],[0.5,1,0.7],[0.9,0.7,1]],"shrinkageFactor":0.5,"targetEquicorrelationMatrix":"maximumEquicorrelationMatrix"}}},"schema":{"oneOf":[{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"shrinkageFactor":{"description":"The shrinkage factor","maximum":1,"minimum":0,"type":"number"},"targetEquicorrelationMatrix":{"description":"The shrinkage target correlation matrix","enum":["minimumEquicorrelationMatrix","zeroEquicorrelationMatrix","maximumEquicorrelationMatrix"],"type":"string"}},"required":["assets","assetsCorrelationMatrix","targetEquicorrelationMatrix","shrinkageFactor"],"type":"object"},{"properties":{"assets":{"minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"shrinkageFactor":{"maximum":1,"minimum":0,"type":"number"},"targetCorrelationMatrix":{"description":"targetCorrelationMatrix[i][j] is the target correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix","targetCorrelationMatrix","shrinkageFactor"],"type":"object"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Shrinkage":{"description":"Shrunk correlation matrix","value":{"assetsCorrelationMatrix":[[1,0.75,0.95],[0.75,1,0.85],[0.95,0.85,1]]}}},"schema":{"properties":{"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Shrinkage","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/theory-implied":{"post":{"description":"Compute the theory-implied asset correlation matrix associated with:\n* A hierarchical classification of a universe of assets\n* An asset correlation matrix\n\nReferences\n* [Lopez de Prado, Marcos Estimation of Theory-Implied Correlation Matrices (November 9, 2019)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3484152)\n","requestBody":{"content":{"application/json":{"examples":{"Example (integers)":{"description":"Compute the theory-implied asset correlation matrix of 2 assets, using their GICS hierarchical classification","value":{"assets":[{"assetHierarchicalClassification":[35,3510,351010,35101010]},{"assetHierarchicalClassification":[20,2030,203020,20302010]}],"assetsCorrelationMatrix":[[1,-0.00035],[-0.00035,1]]}},"Example (strings)":{"description":"Compute the theory-implied asset correlation matrix of 3 assets, using their MSCI ACWI hierarchical classification","value":{"assets":[{"assetHierarchicalClassification":["acwi","dm","americas"]},{"assetHierarchicalClassification":["acwi","dm","americas"]},{"assetHierarchicalClassification":["standalone","","americas"]}],"assetsCorrelationMatrix":[[1,0.95,0.6],[0.95,1,0.65],[0.6,0.65,1]]}}},"schema":{"properties":{"assets":{"items":{"properties":{"assetHierarchicalClassification":{"description":"assetHierarchicalClassification[i] is the i+1-th level of the hierarchical classification of the asset, from the most generic classification to the most specific classification; all the assetHierarchicalClassification arrays must have the same length","items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"maxItems":4,"minItems":1,"type":"array"}},"required":["assetHierarchicalClassification"],"type":"object"},"minItems":2,"type":"array"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"clusteringMethod":{"default":"averageLinkage","description":"The hierarchical clustering method to use","enum":["singleLinkage","averageLinkage","completeLinkage","wardLinkage"],"type":"string"}},"required":["assets","assetsCorrelationMatrix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed theory-implied asset correlation matrix","value":{"assetsCorrelationMatrix":[[1,-0.00034999999999985043],[-0.00034999999999985043,1]]}}},"schema":{"properties":{"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCorrelationMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Theory-Implied Correlation Matrix","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/correlation/matrix/validation":{"post":{"description":"Validate whether a matrix is an asset correlation matrix.\n\nReferences\n* [Wikipedia, Correlation and Dependence](https://en.wikipedia.org/wiki/Correlation_and_dependence#Correlation_matrices)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Validate whether the provided matrix is a correlation matrix","value":{"assets":2,"assetsCorrelationMatrix":[[1,-0.00035],[-0.00035,1]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Valid correlation matrix","value":{"message":"valid correlation matrix"}}},"schema":{"properties":{"message":{"description":"Indicates whether the matrix is a valid correlation matrix","enum":["valid correlation matrix","invalid correlation matrix - non symmetric matrix","invalid correlation matrix - non positive diagonal elements","invalid correlation matrix - non positive semi-definite matrix"],"type":"string"}},"required":["message"],"type":"object"}}},"description":"OK"}},"summary":"Correlation Matrix Validation","tags":["Assets / Correlation Matrix"],"x-codegen-request-body-name":"body"}},"/assets/covariance/matrix":{"post":{"description":"Compute the covariance matrix of assets from either: \n* The asset correlation matrix and their volatilities (i.e., standard deviations)\n* The asset correlation matrix and their variances\n* The asset returns\n\nReferences\n* [Wikipedia, Covariance Matrix](https://en.wikipedia.org/wiki/Covariance_matrix)\n","requestBody":{"content":{"application/json":{"examples":{"From asset correlation matrix and standard deviations":{"description":"Compute the covariance matrix of 2 assets based on their correlation matrix and their standard deviations","value":{"assets":2,"assetsCorrelationMatrix":[[1,-0.5],[-0.5,1]],"assetsVolatilities":[0.1,0.05]}},"From asset correlation matrix and variances":{"description":"Compute the covariance matrix of 2 assets based on their correlation matrix and their variances","value":{"assets":2,"assetsCorrelationMatrix":[[1,-0.5],[-0.5,1]],"assetsVariances":[0.01,0.0025]}},"From assets returns":{"description":"Compute the covariance matrix of 2 assets based on 4 returns per asset","value":{"assets":[{"assetReturns":[0.01,0,0.02,-0.03]},{"assetReturns":[0.01,0,0.02,-0.03]}]}}},"schema":{"oneOf":[{"properties":{"assets":{"items":{"properties":{"assetReturns":{"description":"assetReturns[t] is the return of the asset at the time t; all the assetReturns arrays must have the same length","items":{"type":"number"},"minItems":2,"type":"array"}},"required":["assetReturns"],"type":"object"},"minItems":2,"type":"array"}},"required":["assets"],"type":"object"},{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsVariances":{"description":"assetsVariances[i] is the variance of the asset i","items":{"minimum":0,"type":"number"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix","assetsVariances"],"type":"object"},{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCorrelationMatrix":{"description":"assetsCorrelationMatrix[i][j] is the correlation between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"},"assetsVolatilities":{"description":"assetsVolatilities[i] is the volatility of the asset i","items":{"minimum":0,"type":"number"},"minItems":2,"type":"array"}},"required":["assets","assetsCorrelationMatrix","assetsVolatilities"],"type":"object"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"From correlation matrix and standard deviations":{"description":"Computed covariance matrix","value":{"assetsCovarianceMatrix":[[0.010000000000000002,-0.0025000000000000005],[-0.0025000000000000005,0.0025000000000000005]]}},"From correlation matrix and variances":{"description":"Computed covariance matrix","value":{"assetsCovarianceMatrix":[[0.010000000000000002,-0.0025000000000000005],[-0.0025000000000000005,0.0025000000000000005]]}},"From returns":{"description":"Computed covariance matrix","value":{"assetsCovarianceMatrix":[[0.00035,0.00035],[0.00035,0.00035]]}}},"schema":{"properties":{"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCovarianceMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Covariance Matrix","tags":["Assets / Covariance Matrix"],"x-codegen-request-body-name":"body"}},"/assets/covariance/matrix/effective-rank":{"post":{"description":"Compute the effective rank of an asset covariance matrix.\n\nReferences\n* [Olivier Roy and Martin Vetterli, The effective rank: A measure of effective dimensionality, 15th European Signal Processing Conference, 2007](https://ieeexplore.ieee.org/document/7098875)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Compute the effective rank of a covariance matrix of 2 assets","value":{"assets":2,"assetsCovarianceMatrix":[[0.00035,-0.00035],[-0.00035,0.00035]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCovarianceMatrix"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed effective rank","value":{"assetsCovarianceMatrixEffectiveRank":1}}},"schema":{"properties":{"assetsCovarianceMatrixEffectiveRank":{"description":"The effective rank of the asset covariance matrix","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCovarianceMatrixEffectiveRank"],"type":"object"}}},"description":"OK"}},"summary":"Covariance Matrix Effective Rank","tags":["Assets / Covariance Matrix"],"x-codegen-request-body-name":"body"}},"/assets/covariance/matrix/exponentially-weighted":{"post":{"description":"Compute an exponentially weighted covariance matrix of assets returns.\n\nReferences\n* [RiskMetrics Group. Longerstaey, J. (1996). RiskMetrics technical document, Technical Report fourth edition](https://www.msci.com/documents/10199/5915b101-4206-4ba0-aee2-3449d5c7e95a)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Computes an exponentially weighted covariance matrix of 2 assets based on 4 returns per asset and a decay factor of 0.5","value":{"assets":[{"assetReturns":[0.01,0.01,0.02,0.01]},{"assetReturns":[-0.02,-0.02,-0.04,-0.02]}],"decayFactor":0.5}}},"schema":{"properties":{"assets":{"items":{"properties":{"assetReturns":{"description":"assetReturns[t] is the return of the asset at the time t; all the assetReturns arrays must have the same length","items":{"type":"number"},"minItems":2,"type":"array"}},"required":["assetReturns"],"type":"object"},"minItems":2,"type":"array"},"decayFactor":{"default":0.94,"description":"The exponential decay factor","exclusiveMaximum":true,"exclusiveMinimum":true,"maximum":1,"minimum":0,"type":"number"}},"required":["assets"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed exponentially weighted covariance matrix","value":{"assetsCovarianceMatrix":[[0.000019583333333333333,-0.000039166666666666665],[-0.000039166666666666665,0.00007833333333333333]]}}},"schema":{"properties":{"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the sample covariance between the asset i returns and the asset j returns","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assetsCovarianceMatrix"],"type":"object"}}},"description":"OK"}},"summary":"Exponentially Weighted Covariance Matrix","tags":["Assets / Covariance Matrix"],"x-codegen-request-body-name":"body"}},"/assets/covariance/matrix/validation":{"post":{"description":"Validate whether a matrix is a covariance matrix.\n\nReferences\n* [Wikipedia, Covariance Matrix](https://en.wikipedia.org/wiki/Covariance_matrix)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Validate whether the provided matrix is a covariance matrix","value":{"assets":2,"assetsCovarianceMatrix":[[0.00035,-0.00035],[-0.00035,0.00035]]}}},"schema":{"properties":{"assets":{"description":"The number of assets","minimum":2,"type":"integer"},"assetsCovarianceMatrix":{"description":"assetsCovarianceMatrix[i][j] is the covariance between the asset i and the asset j","items":{"items":{"type":"number"},"minItems":2,"type":"array"},"minItems":2,"type":"array"}},"required":["assets","assetsCovarianceMatrix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Valid covariance matrix","value":{"message":"valid covariance matrix"}}},"schema":{"properties":{"message":{"description":"Indicates whether the matrix is a valid covariance matrix","enum":["valid covariance matrix","invalid covariance matrix - non symmetric matrix","invalid covariance matrix - non positive diagonal elements","invalid covariance matrix - non positive semi-definite matrix"],"type":"string"}},"required":["message"],"type":"object"}}},"description":"OK"}},"summary":"Covariance Matrix Validation","tags":["Assets / Covariance Matrix"],"x-codegen-request-body-name":"body"}},"/assets/kurtosis":{"post":{"description":"Compute the kurtosis of one or several asset(s), from the asset returns.\n\nReferences\n* [Wikipedia, Kurtosis](https://en.wikipedia.org/wiki/Kurtosis)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Compute the kurtosis of 1 asset based on 4 returns","value":{"assets":[{"assetReturns":[0.01,0,0.02,-0.03]}]}}},"schema":{"properties":{"assets":{"items":{"properties":{"assetReturns":{"description":"assetReturns[t] is the return of the asset at the time t","items":{"type":"number"},"minItems":4,"type":"array"}},"required":["assetReturns"],"type":"object"},"minItems":1,"type":"array"}},"required":["assets"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Example":{"description":"Computed kurtosis of 1 assetx","value":{"assets":[{"assetKurtosis":2}]}}},"schema":{"properties":{"assets":{"items":{"properties":{"assetKurtosis":{"description":"The kurtosis of the asset","type":"number"}},"required":["assetKurtosis"],"type":"object"},"type":"array"}},"required":["assets"],"type":"object"}}},"description":"OK"}},"summary":"Kurtosis","tags":["Assets / Kurtosis"],"x-codegen-request-body-name":"body"}},"/assets/prices/adjusted":{"post":{"description":"Compute the backward-adjusted prices of one or several asset(s) for one or several date(s) from:\n* Unadjusted prices\n* Capital distributions, like stock dividends\n* Splits, like stock splits\n\nThe adjustment base date is chosen to be the last date for which unadjusted prices are available, which implies that:\n* The price on the last date for which unadjusted prices are available is left unadjusted\n* The price on any other date is adjusted based on the capital distributions and the splits which occurred between this date and the last date for which unadjusted prices are available\n\nReferences\n* [Center for Research in Security Prices](https://www.crsp.org/products/documentation/crsp-calculations)\n","requestBody":{"content":{"application/json":{"examples":{"Example":{"description":"Illustrate the 1-to-5 TSLA stock split which took place on August 31, 2020","value":{"assets":[{"assetPrices":[{"close":2213.4,"date":"2025-04-15T13:50:53.043Z"},{"close":498.32,"date":"2025-04-15T13:50:53.043Z"},{"close":475.05,"date":"2025-04-15T13:50:53.043Z"}],"assetSplits":[{"date":"2025-04-15T13:50:53.043Z","factor":5}]}]}}},"schema":{"properties":{"assets":{"items":{"properties":{"assetDividends":{"description":"assetDividends[t] contains dividend information for the asset at the date t","items":{"properties":{"amount":{"description":"The dividend amount distributed by the asset at the date t","exclusiveMinimum":true,"minimum":0,"type":"number"},"date":{"description":"The date corresponding to the date t in format YYYY-MM-DD, which is usually the ex-distribution date","type":"string"}},"required":["date","amount"],"type":"object"},"type":"array"},"assetPrices":{"description":"assetPrices[t] contains price information for the asset at the date t","items":{"properties":{"close":{"description":"The unadjusted close price of the asset at the date t","exclusiveMinimum":true,"minimum":0,"type":"number"},"date":{"description":"The date corresponding to the date t in format YYYY-MM-DD","type":"string"}},"required":["date","close"],"type":"object"},"minItems":1,"type":"array"}