Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 0.815% Drawdown 0.200% Expectancy 0 Net Profit 0.687% Sharpe Ratio 1.575 Probabilistic Sharpe Ratio 71.077% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.01 Beta -0.006 Annual Standard Deviation 0.005 Annual Variance 0 Information Ratio -2.175 Tracking Error 0.175 Treynor Ratio -1.428 Total Fees $0.00 Estimated Strategy Capacity $0 |
class MultidimensionalCalibratedChamber(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 6, 9) self.SetCash(10000) properties = SymbolProperties("EUR", "USD", 1, 0.0001, 1, "EURUSD") exchangeHours = SecurityExchangeHours.AlwaysOpen(TimeZones.NewYork) self.symbol = self.AddData(USDRUB, "EURUSD", properties, exchangeHours) self.Log(f"{self.symbol.SymbolProperties.MinimumPriceVariation}") def OnData(self, data): if not self.Portfolio.Invested: self.StopMarketOrder(self.symbol.Symbol, 10, 1.39140) class USDRUB(PythonData): ''' Weather based rebalancing''' def GetSource(self, config, date, isLive): source = "https://raw.githubusercontent.com/shilewenuw/FileHost/master/%5Eusdrub_price-history-09-09-2020.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(',') usdrub = USDRUB() usdrub.Symbol = config.Symbol usdrub.Time = datetime.strptime(data[0].split(' ')[0], '%m/%d/%Y') usdrub.Value = float(data[4]) usdrub['Open'] = float(data[1]) usdrub['High'] = float(data[2]) usdrub['Low'] = float(data[3]) usdrub['Close'] = float(data[4]) usdrub['Volume'] = float(data[6]) usdrub['pct_change'] = float(data[5]) return usdrub