Using a Daily Risk-Free Rate in an Annualized Sharpe Ratio
Summary
The document explains how to supply a daily risk-free rate proxy when calculating an annualized Sharpe ratio from daily returns. It describes the ratio as the average return minus the risk-free rate, divided by the standard deviation of returns, and says the rate can be converted from a monthly figure to a daily equivalent before use. The question also mentions setting the annualization scale to the number of trading days in a year.
The answer confirms this general approach but offers no worked calculation, software-specific details, or independent evidence. It does not discuss how to align the rate and return observations, whether the monthly rate uses the same compounding convention, or how missing data and alternative risk measures affect the result. Those details may matter in practice, so the guidance is a brief conceptual clarification rather than a full implementation reference.
Key ideas
- A Sharpe ratio compares average excess return with return variability.
- A risk-free rate expressed monthly can be converted to a daily proxy for daily-return analysis.
- The annualization scale should reflect the return sampling frequency.
- The answer does not address alignment, compounding assumptions, or implementation edge cases.
Tags
Full text
# How to correctly use SharpeRatio.annualized function with daily returns and proxy for daily risk free rate # How to correctly use SharpeRatio.annualized function with daily returns and proxy for daily risk free rate I am not sure if am correctly using SharpeRatio.annualized function. I am passing following parameters (dailyRet, dailyRF, scale = 252), where dailyRet is an XTS type for daily returns, dailyRF is an proxy calculated based on formula (1+Rm)^1/20 = 1+Rd (Rm is 1 mo Risk Free rate). I read through documentation but could not find example using daily risk free rate. Thank you for help. ## Answer by mbison (score 0, accepted) https://quant.stackexchange.com/a/37513 Looks like the way you are using this function is correct. the way the function SharpeRatio works is that it computes the mean of your input time series, in your case mean(dailyRet). It deducts the rate, and then divides it by the standard deviation (or other risk measure which you can select as parameter), i.e. (mean(dailyRet) - rate) / stdev(dailyRet) In this context rate is a input number, for example (1+monthlyRate)^1/20 like you computed.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.