mirror of
https://github.com/wassname/catalyst.git
synced 2026-06-30 05:55:30 +08:00
PERF: Pass known calculations into empyrical methods
For example, to prevent `alpha` from internally calling `beta` a second time, pass the previously-calculated `beta` value in. Requires empyrical 0.1.10 from pypi
This commit is contained in:
@@ -66,4 +66,4 @@ intervaltree==2.1.0
|
||||
cachetools==1.1.5
|
||||
|
||||
# For financial risk calculations
|
||||
empyrical==0.1.9
|
||||
empyrical==0.1.10
|
||||
|
||||
@@ -263,7 +263,8 @@ algorithm_returns ({algo_count}) in range {start} : {end} on {dt}"
|
||||
)
|
||||
self.alpha[dt_loc] = alpha(
|
||||
algorithm_returns_series,
|
||||
benchmark_returns_series
|
||||
benchmark_returns_series,
|
||||
_beta=self.beta[dt_loc]
|
||||
)
|
||||
self.sharpe[dt_loc] = sharpe_ratio(
|
||||
algorithm_returns_series,
|
||||
@@ -275,7 +276,8 @@ algorithm_returns ({algo_count}) in range {start} : {end} on {dt}"
|
||||
)
|
||||
self.sortino[dt_loc] = sortino_ratio(
|
||||
algorithm_returns_series,
|
||||
benchmark_returns_series
|
||||
benchmark_returns_series,
|
||||
_downside_risk=self.downside_risk[dt_loc]
|
||||
)
|
||||
self.information[dt_loc] = information_ratio(
|
||||
algorithm_returns_series,
|
||||
|
||||
@@ -129,7 +129,8 @@ class RiskMetricsPeriod(object):
|
||||
)
|
||||
self.sortino = sortino_ratio(
|
||||
self.algorithm_returns,
|
||||
self.benchmark_returns
|
||||
self.benchmark_returns,
|
||||
_downside_risk=self.downside_risk
|
||||
)
|
||||
self.information = information_ratio(
|
||||
self.algorithm_returns,
|
||||
@@ -141,7 +142,8 @@ class RiskMetricsPeriod(object):
|
||||
)
|
||||
self.alpha = alpha(
|
||||
self.algorithm_returns,
|
||||
self.benchmark_returns
|
||||
self.benchmark_returns,
|
||||
_beta=self.beta
|
||||
)
|
||||
self.excess_return = self.algorithm_period_returns - \
|
||||
self.treasury_period_return
|
||||
|
||||
Reference in New Issue
Block a user