Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return -33.284% Drawdown 68.300% Expectancy 0 Net Profit -45.173% Sharpe Ratio -0.61 Probabilistic Sharpe Ratio 0.688% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0.334 Annual Variance 0.111 Information Ratio -0.61 Tracking Error 0.334 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset KO.KO 2S |
class MultidimensionalCalibratedChamber(QCAlgorithm): def Initialize(self): self.SetStartDate(1973, 9, 11) # Set Start Date self.SetEndDate(1975, 3, 7) self.SetCash(100000) # Set Strategy Cash self.AddEquity('SPY', Resolution.Daily) self.symbol = self.AddData(KO, 'KO', Resolution.Daily).Symbol def OnData(self, data): if data.ContainsKey(self.symbol): self.Plot('KO', 'Open', data[self.symbol].Open) self.Plot('KO', 'High', data[self.symbol].High) self.Plot('KO', 'Low', data[self.symbol].Low) self.Plot('KO', 'Close', data[self.symbol].Close) self.Plot('KO', 'Volume', data[self.symbol].Volume) if not self.Portfolio.Invested: self.SetHoldings(self.symbol, 1) class KO(PythonData): ''' Weather based rebalancing''' def GetSource(self, config, date, isLive): source = "https://raw.githubusercontent.com/thisisneon/importdata/main/cola_1973_1975.csv" return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile); def Reader(self, config, line, date, isLive): # If first character is not digit, pass if not (line.strip() and line[0].isdigit()): return None data = line.split(',') ko = KO() ko.Symbol = config.Symbol ko.Time = datetime.strptime(data[0].split(' ')[0], '%m/%d/%Y') ko.Value = float(data[4]) ko['Open'] = float(data[1]) ko['High'] = float(data[2]) ko['Low'] = float(data[3]) ko['Close'] = float(data[4]) ko['Volume'] = float(data[6]) return ko