mirror of
https://github.com/wassname/catalyst.git
synced 2026-10-29 13:00:42 +08:00
ENH: vectorize mean algorithm returns calculation
In a sample backtest on my machine, this takes the final risk calculations down from ~10 seconds to ~0.8 seconds.
This commit is contained in:
1 parent
358ab41569
commit
b0b159e12d
1 file changed
+3
-6
@@ -100,12 +100,9 @@ class RiskMetricsPeriod(object):
|
||||
self.num_trading_days = len(self.benchmark_returns)
|
||||
self.trading_day_counts = pd.stats.moments.rolling_count(
|
||||
self.algorithm_returns, self.num_trading_days)
|
||||
self.mean_algorithm_returns = pd.Series(
|
||||
index=self.algorithm_returns.index)
|
||||
for dt, ret in self.algorithm_returns.iteritems():
|
||||
self.mean_algorithm_returns[dt] = (
|
||||
self.algorithm_returns[:dt].sum() /
|
||||
self.trading_day_counts[dt])
|
||||
|
||||
self.mean_algorithm_returns = \
|
||||
self.algorithm_returns.cumsum() / self.trading_day_counts
|
||||
|
||||
self.benchmark_volatility = self.calculate_volatility(
|
||||
self.benchmark_returns)
|
||||
|
||||
Reference in new issue
Block a user