Overall Statistics |
Total Trades 40 Average Win 1037.21% Average Loss -5.15% Compounding Annual Return 229.860% Drawdown 70.900% Expectancy 35.807 Net Profit 1705.240% Sharpe Ratio 2.833 Probabilistic Sharpe Ratio 89.133% Loss Rate 82% Win Rate 18% Profit-Loss Ratio 201.44 Alpha 1.698 Beta 0.032 Annual Standard Deviation 0.617 Annual Variance 0.38 Information Ratio 0.208 Tracking Error 0.907 Treynor Ratio 55.398 Total Fees $478.73 Estimated Strategy Capacity $2800000.00 |
from clr import AddReference AddReference("System") AddReference("QuantConnect.Algorithm") AddReference("QuantConnect.Common") from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Indicators import * from QuantConnect.Data.Market import TradeBar class RollingWindowAlgorithm(QCAlgorithm): def Initialize(self): '''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.''' self.SetStartDate(2016,6,1) #Set Start Date self.SetEndDate(2018,11,1) #Set End Date self.SetCash(1000) #Set Strategy Cash self.symbol= "BTCUSD" btc = self.AddCrypto("BTCUSD", Resolution.Daily,Market.GDAX) btc.SetLeverage(1) self.period = 200 self.sma = self.SMA(self.symbol,self.period ) self.SetBrokerageModel(BrokerageName.GDAX, AccountType.Cash) #self.SetBrokerageModel(BrokerageName.AlphaStreams) self.invested = 0 self.Schedule.On(self.DateRules.MonthStart("BTCUSD"), self.TimeRules.BeforeMarketClose("BTCUSD",0),self.deposit) def deposit(self): self.Portfolio.CashBook["USD"].AddAmount(100) self.invested += 100 def OnData(self, data): close = self.Securities[self.symbol].Close if close > self.sma.Current.Value: self.SetHoldings(self.symbol, 1) else: self.SetHoldings(self.symbol, 0) #self.SetHoldings([PortfolioTarget(self.symbol, 0)]) #self.Liquidate()