def test_alpha_beta_equality(self, returns, benchmark):
alpha, beta = self.empyrical(
pandas_only=len(returns) != len(benchmark),
return_types=tuple,
).alpha_beta(returns, benchmark)
assert_almost_equal(
alpha,
self.empyrical.alpha(returns, benchmark),
DECIMAL_PLACES)
assert_almost_equal(
beta,
self.empyrical.beta(returns, benchmark),
DECIMAL_PLACES)
if len(returns) == len(benchmark):
# Compare to scipy linregress
returns_arr = returns.values
benchmark_arr = benchmark.values
mask = ~np.isnan(returns_arr) & ~np.isnan(benchmark_arr)
slope, intercept, _, _, _ = stats.linregress(returns_arr[mask],
benchmark_arr[mask])
assert_almost_equal(
alpha,
intercept
)
assert_almost_equal(
beta,
slope
)
评论列表
文章目录