Overall Statistics |
Total Trades 29 Average Win 0.00% Average Loss 0.00% Compounding Annual Return -0.679% Drawdown 0.000% Expectancy -0.842 Net Profit -0.029% Sharpe Ratio -20.06 Probabilistic Sharpe Ratio 0% Loss Rate 86% Win Rate 14% Profit-Loss Ratio 0.11 Alpha -0.006 Beta 0.002 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -1.469 Tracking Error 0.118 Treynor Ratio -2.992 Total Fees $29.00 |
import random random.seed(1) class DynamicModulatedRegulators(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 7, 15) # Set Start Date self.SetCash(100000) # Set Strategy Cash self.AddEquity("SPY", Resolution.Hour) self.yesterday_total_profit = 0 self.yesterday_total_fees = 0 def OnData(self, data): random_num = random.random() if random_num > 0.7 and not self.Portfolio.Invested: self.entry_price = self.MarketOrder("SPY", 1).AverageFillPrice if self.Portfolio.Invested and random_num < 0.4: self.exit_price = self.MarketOrder("SPY", -1).AverageFillPrice self.Plot("Daily Realized Pnl", "Value", self.get_daily_realized_pnl()) def OnEndOfDay(self): self.yesterday_total_profit = self.Portfolio.TotalProfit self.yesterday_total_fees = self.Portfolio.TotalFees def get_daily_realized_pnl(self): daily_gross_profit = self.Portfolio.TotalProfit - self.yesterday_total_profit daily_fees = self.Portfolio.TotalFees - self.yesterday_total_fees return daily_gross_profit - daily_fees