MCPcopy
hub / github.com/ranaroussi/quantstats / to_excess_returns

Function to_excess_returns

quantstats/utils.py:159–184  ·  view source on GitHub ↗

Calculates excess returns by subtracting risk-free returns from total returns Args: * returns (Series, DataFrame): Returns * rf (float, Series, DataFrame): Risk-Free rate(s) * nperiods (int): Optional. If provided, will convert rf to different freque

(returns, rf, nperiods=None)

Source from the content-addressed store, hash-verified

157
158
159def to_excess_returns(returns, rf, nperiods=None):
160 """
161 Calculates excess returns by subtracting
162 risk-free returns from total returns
163
164 Args:
165 * returns (Series, DataFrame): Returns
166 * rf (float, Series, DataFrame): Risk-Free rate(s)
167 * nperiods (int): Optional. If provided, will convert rf to different
168 frequency using deannualize
169 Returns:
170 * excess_returns (Series, DataFrame): Returns - rf
171 """
172 if isinstance(rf, int):
173 rf = float(rf)
174
175 if not isinstance(rf, float):
176 rf = rf[rf.index.isin(returns.index)]
177
178 if nperiods is not None:
179 # deannualize
180 rf = _np.power(1 + rf, 1.0 / nperiods) - 1.0
181
182 df = returns - rf
183 df = df.tz_localize(None)
184 return df
185
186
187def _prepare_prices(data, base=1.0):

Callers 1

_prepare_returnsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected