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