---
title: "Sharpe Stability Ratio"
method: POST
path: "/portfolios/analysis/mean-variance/sharpe-stability-ratio"
tags: ["Portfolio Analysis / Mean-Variance"]
---

# Sharpe Stability Ratio

`POST /portfolios/analysis/mean-variance/sharpe-stability-ratio`

## Request

- Base URL: `https://api.portfoliooptimizer.io/v1`
- URL: `https://api.portfoliooptimizer.io/v1/portfolios/analysis/mean-variance/sharpe-stability-ratio`
- Auth: API key in header `X-API-Key`

Compute the Sharpe Stability Ratio of a portfolio.

References
* [Bajo Traver, Mario and Rodriguez Dominguez, Alejandro, The Sharpe Stability Ratio: Temporal Consistency of Risk-Adjusted Performance](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6344658)

## Request body

- object
  - `riskFreeReturn` number: The constant risk-free arithmetic return over the considered time period, in percentage; exclusive with riskFreeReturns
  - `riskFreeReturns` number[]: riskFreeReturns[t] is the risk-free arithmetic return at the time t; the riskFreeReturns array must have the same length as all the portfolioReturns arrays or the same length minus 1 as all the portfolioValues arrays; exclusive with riskFreeReturn
  - `portfolios` object[], required
    - `portfolioReturns` number[]: portfolioReturns[t] is the arithmetic return of the portfolio at the time t; exclusive with portfolioValues
    - `portfolioValues` number[]: portfolioValues[t] is the value of the portfolio at the time t; exclusive with portfolioReturns
    - `portfolioSharpeStabilityRatioWindowSize` integer: The size of the window over which to compute the portfolio rolling Sharpe Ratios; must be lower than the length of the array portfolioReturns; must be lower than the length of the array portfolioValues - 1
  - `benchmarkSharpeRatio:` number: The benchmark Sharpe Ratio with which to compare the Sharpe Stability Ratio, in the same sampling frequency as the sampling frequency of the portfolio values

## Response `200`

OK

- object
  - `portfolios` object[], required
    - `portfolioSharpeStabilityRatio` number, required: The Sharpe Stability Ratio of the portfolio
    - `portfolioNormalizedSharpeStabilityRatio` number, required: The normalized Sharpe Stability Ratio of the portfolio

## Changes

- **2026-08-23** `7bb43ced69b8`: 1 info
  - added the required property `portfolios/items/portfolioNormalizedSharpeStabilityRatio` to the response with the `200` status
- **2026-08-22** `efac1128c762`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/changes/portfolios/analysis/mean-variance/sharpe-stability-ratio/post.md)

---

[API](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer.md) - [All operations](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/llms.txt) - [OpenAPI document](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/revisions/9d075aa717bf?raw)
