| 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