投資組合管理

夏普比率:為什麼是正規化因子?

  • January 19, 2018

我試圖理解為什麼 $ \sqrt{252} $ 正規化因子對夏普比率很有用:

在此處輸入圖像描述

讓我們計算這個假想投資組合的夏普比率,用於不同的採樣週期:

import numpy as np
import matplotlib.pyplot as plt

T = 252                       # 252 days ~ 52 weeks of 5 days ~ 12 months of 21 days
for period in [1, 5, 21]:     # sample every 1 day, 1 week, or 1 month
   x = np.arange(0, T, period)
   y = 100 + x + 3 * np.sin(x)
   returns = (y[1:] / y[:-1] - 1)     # will be daily, weekly, monthly returns
   plt.plot(x, y)
   plt.show()
   plt.plot(returns)
   plt.show()    
   print 'Sharpe Ratio: %.5f' % (np.sqrt(T/period) * returns.mean() / returns.std())    
   # sqrt(T/period) is sqrt(252), ~ sqrt(52), sqrt(12)

結果

  • 我得到了幾乎不變的東西:

夏普比率:7.24790

夏普比率:10.49590

夏普比率:7.84525

我發現這非常連貫且很好,因為對於這 3 個採樣率,比率是相似的:它不依賴於採樣率**,而是投資組合本身所固有的

問題 :

我看這是連貫的。但是為什麼夏普比率中有這個正規化因子呢?

如果你用它來年化你的數據,T它應該總是一樣的,而不是隨著數據的長度而變化。

為了證明年化月回報率,夏普比率結果非常相似:-

在此處輸入圖像描述

筆記

乘以 12 的原因是平均回報是年化的乘以 12,波動率是年化的m = 12

在此處輸入圖像描述

夏普比率分子上的 12 和分母上的 12 根等於乘以 12 根。

我會嘗試根據我讀過的內容來回答(我希望大部分都能理解)。

假設日收益率的平均值為 1%,日收益率的標準差為 1%。然後:

$$ Sharpe = \sqrt{252} \frac{mean(daily\ return)}{stddev(daily\ return)} \approx \sqrt{252} \frac{1 %}{1 %} = \sqrt{252} $$ 現在讓我們假設我們使用每月收益。一個月內,平均回報將比以前大〜21倍,標準差為〜 $ \sqrt{21} $ 平均比以前大幾倍(為什麼?見下面的註釋……),即:

$$ Sharpe = \sqrt{12} \frac{mean(daily\ return)}{stddev(daily\ return)} \approx \sqrt{12} \frac{21 %}{\sqrt{21} %} \approx \sqrt{12} \sqrt{21} = \sqrt{252} $$ 這表明夏普比率與採樣率無關;我們只需要注意乘以 $ \sqrt{252} $ 使用每日回報時,或 $ \sqrt{12} $ 使用每月回報時。


注:由於變異數有 $ V(a X) = a^2 V(X) $ , 標準差有 $ \sigma_{a X} = |a| \sigma_X $ ,所以我不明白為什麼將收益乘以 21 會使其標準差乘以 $ \sqrt{21} $ . 這需要解釋一下。

引用自:https://quant.stackexchange.com/questions/22397