Overall Statistics |
Total Trades 2 Average Win 0.07% Average Loss 0% Compounding Annual Return -64.503% Drawdown 8.800% Expectancy 0 Net Profit -6.484% Sharpe Ratio -4.22 Probabilistic Sharpe Ratio 9.522% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha 0.275 Beta 0.33 Annual Standard Deviation 0.218 Annual Variance 0.047 Information Ratio 6.239 Tracking Error 0.433 Treynor Ratio -2.785 Total Fees $1.00 |
class VentralDynamicCircuit(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 2, 19) # Set Start Date self.SetCash(100000) # Set Strategy Cash self.AddEquity("SPY", Resolution.Minute) option = self.AddOption("SPY") option.SetFilter(-3, 3, timedelta(0), timedelta(7)) self.contract = None def OnData(self, data): for chain in data.OptionChains: contracts = [contract for contract in chain.Value]; puts = [contract for contract in contracts if contract.Right == OptionRight.Put] sortedPuts = sorted(puts, key=lambda p: p.Strike, reverse=False) sortedByExpiry = sorted(sortedPuts[:5], key=lambda p: p.Expiry, reverse=True) if self.contract == None: self.contract = sortedByExpiry[0] self.MarketOrder(self.contract.Symbol, -1) self.Debug(f"{self.contract.Symbol}, {self.contract.Strike}, {self.contract.Expiry}") def OnOrderEvent(self, orderevent): self.Debug(f"{self.Securities['SPY'].Close} with {orderevent}")