<aside> 📐 SDR Sharpe Ratio

$$ \text{SDRSR}=\frac{\text{ACR}-\text{RF}}{\sqrt{2} * \text{DD}} $$

where:

The downside deviation (DD) is calculated as:

$$ ⁍ $$

where:

Then, to find the minimum value of SDRSR for any 28-day daily incremented successive rolling windows, we write:

$$ \min_{t} \left\{ \text{SDRSR}_{t:t+28} \right\} $$

where:

Each $\text{SDRSR}_{t:t+28}$ is calculated using the original SDRSR formula, but with $N = 28$ and the return and deviation variables $(X_i$, $\overline{X}$, and DD) computed over the $t$ to $t+28$ window.

</aside>

Explanation

The symmetric downside-risk (SDR) Sharpe ratio, introduced by William T. Ziemba, is similar to the Sortino ratio in purpose and construction. However, it addresses a crucial issue of upward bias in the Sortino ratio compared to the Sharpe ratio. The SDR Sharpe ratio is calculated by subtracting the risk-free return from the compounded return and then dividing it by the downside deviation. The downside deviation is calculated similarly to the Sortino ratio but with one important difference: a multiplier of 2.0 is applied to account for the fact that only returns below a specified benchmark are considered in the deviation calculation.

<aside> 💡 Note that the product of the square roots of two numbers is equal to the square root of the product of those numbers. In other words: $\sqrt{A} \cdot \sqrt{B} = \sqrt{A \cdot B}$

</aside>

The benchmark used for the downside deviation can be set at any level, with the same choices as the MAR in the Sortino ratio: zero, risk-free return, or average return. (Ziemba uses zero as the benchmark in his article.) Unlike the Sortino ratio, the SDR Sharpe ratio (with the benchmark set to the average) can be directly compared to the Sharpe ratio.

Since the SDR Sharpe ratio only contains the downside deviation, multiplying by the square root of 2, a result of the squared deviations being doubled, is akin to assuming the upside deviation mirrors the downside. This substitute for the upside deviation enables the comparison of SDR Sharpe and Sharpe ratio values.

The SDR Sharpe ratio, with any standard benchmark value, is favoured over the Sharpe ratio, considering it factors in the substantial disparity in risk implications of downside versus upside deviations from an investor's viewpoint. The SDR Sharpe ratio is also favoured over the Sortino ratio, given its nearly identical computation, but crucially, it aligns directly with the extensively used Sharpe ratio.

Further, contrasting a manager’s SDR Sharpe ratio with the Sharpe ratio, allows an investor to perceive whether the manager’s returns skew positively or negatively.

Ziemba used the term benchmark instead of MAR in defining downside deviation. If the median were used as the benchmark, only half the returns would be used to calculate the downside deviation, and a multiplier of 2.0 would then provide an exact compensating adjustment. For other choices for the benchmark (e.g., zero, risk-free return, average), the number of points below the benchmark would not necessarily be exactly half, and a multiplier of 2.0 would provide an approximate adjustment.

To be perfectly precise, there would be a tendency for the SDR Sharpe ratio to be slightly lower for a symmetric distribution of returns because the SDR Sharpe ratio uses the compounded return rather than the arithmetic return used in the Sharpe ratio, and the arithmetic return will always be equal to or higher than the compounded return. If, however, zero or the risk-free return is used as the benchmark in the downside deviation calculation, assuming the manager’s average return is greater than the risk-free return, there would be a tendency for the SDR Sharpe ratio to be higher than the Sharpe ratio for a symmetric distribution of returns for two reasons:

  1. There will be fewer than half the returns below the benchmark, so the multiplication by 2.0 will not fully compensate.
  2. Downside deviations from the risk-free return (and especially zero) would be smaller than deviations from the average.

These two factors would cause the downside deviation to be smaller than the standard deviation, implying a higher SDR Sharpe ratio than Sharpe ratio.

Python implementation

import numpy as np

def calculate_sdrsr(returns, risk_free_rate, benchmark):
    # Calculate Annual Compounded Return (ACR)
    acr = np.prod(1 + np.array(returns))**(1/len(returns)) - 1

    # Calculate Downside Deviation (DD)
    downside_returns = [min(ret - benchmark, 0) for ret in returns]
    dd = np.sqrt(np.sum(np.square(downside_returns)) / (len(returns) - 1))

    # Calculate Symmetric Downside-Risk Sharpe Ratio (SDRSR)
    sdrsr = (acr - risk_free_rate) / (np.sqrt(2) * dd)
    
    return sdrsr

def find_min_sdrsr(returns, risk_free_rate, window_length=28):
    min_sdrsr = float('inf')
    for i in range(len(returns) - window_length + 1):
        window_returns = returns[i:i + window_length]
        benchmark = np.mean(window_returns)  # replace with your data
        sdrsr = calculate_sdrsr(window_returns, risk_free_rate, benchmark)
        if sdrsr < min_sdrsr:
            min_sdrsr = sdrsr

    return min_sdrsr

returns = [0.1, -0.05, 0.2, -0.1, 0.15, -0.05, 0.1, -0.15, 0.2, -0.05, 0.15, -0.1, 0.2, -0.05, 0.15, -0.1, 0.2, -0.05, 0.1, -0.15, 0.2, -0.05, 0.15, -0.1, 0.2, -0.05, 0.15, -0.1, 0.2, -0.05, 0.15]  # replace with your data
risk_free_rate = 0.02  # replace with your data

min_sdrsr = find_min_sdrsr(returns, risk_free_rate)

print("The minimum Symmetric Downside-Risk Sharpe Ratio in 28-day windows is:", min_sdrsr)

Appendix

The Symmetric Downside-Risk Sharpe Ratio (SDRSR) is defined as:

<aside> 📐 Sharpe ratio

Sharpe ratio is a measure for calculating risk-adjusted return, and this formula is widely used in the finance industry. The formula is as follows:

$$ ⁍ $$

where: