Beispiel #1
0
 def bootstrap_rules(self, n=10000, **kw):
     z = self.forecast_returns(**kw)
     a = pd.Series({k: v.shape[0] for k, v in z.items()})
     b = (a / a.sum())
     sharpes = []
     corrs = {}
     for k, v in b.iteritems():
         for x in range(0, int(round(v * n))):
             sample = draw_sample(z[k], 252)
             sharpes.append(sharpe(sample).rename(k))
             corrs[(k, x)] = (sample.resample('W').sum().corr())
     return pd.DataFrame(sharpes), pd.Panel(corrs).mean(axis=0)
Beispiel #2
0
 def bootstrap_rules(self, n=10000, **kw):
     z = self.forecast_returns(**kw)
     a = pd.Series({k: v.shape[0] for k, v in z.items()})
     b=(a/a.sum())
     sharpes = []
     corrs = {}
     for k, v in b.iteritems():
         for x in range(0,int(round(v*n))):
             sample = draw_sample(z[k], 252)
             sharpes.append(sharpe(sample).rename(k))
             corrs[(k, x)] = (sample.resample('W').sum().corr())
     return pd.DataFrame(sharpes), pd.Panel(corrs).mean(axis=0)
 def sharpe(self):
     return sharpe(np.trim_zeros(self.returns().sum(axis=1)))
 def gross_sharpe(self):
     return sharpe(
         np.trim_zeros((self.position_returns() -
                        self.transaction_returns()).sum(axis=1)))
Beispiel #5
0
 def sharpe(self):
     return sharpe(np.trim_zeros(self.returns().sum(axis=1)))
Beispiel #6
0
 def gross_sharpe(self):
     return sharpe(np.trim_zeros((self.position_returns() - self.transaction_returns()).sum(axis=1)))