Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 12.634% Drawdown 33.900% Expectancy 0 Net Profit 50.834% Sharpe Ratio 0.646 Probabilistic Sharpe Ratio 21.554% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.147 Beta -0.199 Annual Standard Deviation 0.19 Annual Variance 0.036 Information Ratio -0.002 Tracking Error 0.295 Treynor Ratio -0.616 Total Fees $23.44 |
class SimpleAlgoWithFundFees(QCAlgorithm): def Initialize(self): self.SetStartDate(2017,2,1) self.SetCash(1000000) self.AddEquity("SPY", Resolution.Daily) self.accum_fees = 0 self.start_tpv = self.Portfolio.TotalPortfolioValue self.Schedule.On(self.DateRules.MonthEnd(), self.TimeRules.Midnight, self.addFee) def OnData(self, data): self.fee_adj_tpv = self.Portfolio.TotalPortfolioValue - self.accum_fees self.Plot("Fee Adjusted Equity", self.fee_adj_tpv) if not self.Portfolio.Invested: self.SetHoldings("SPY", 1) def addFee(self, fix_pct = .02, profit_pct = .2): if not self.Time.month == 12: return self.accum_fees += self.start_tpv * fix_pct + profit_pct * max(0, self.Portfolio.TotalPortfolioValue - self.start_tpv) self.start_tpv = self.Portfolio.TotalPortfolioValue