Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 12.339% Drawdown 13.200% Expectancy 0 Net Profit 79.243% Sharpe Ratio 1.005 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.139 Beta -0.754 Annual Standard Deviation 0.123 Annual Variance 0.015 Information Ratio 0.843 Tracking Error 0.123 Treynor Ratio -0.164 Total Fees $3.29 |
from datetime import timedelta ### <summary> ### Basic template algorithm simply initializes the date range and cash. This is a skeleton ### framework you can use for designing an algorithm. ### </summary> class BasicTemplateAlgorithm(QCAlgorithm): '''Basic template algorithm simply initializes the date range and cash''' 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(2013,10, 7) #Set Start Date self.SetEndDate(2018,10,11) #Set End Date self.SetCash(100000) #Set Strategy Cash # Find more symbols here: http://quantconnect.com/data self.AddEquity("SPY", Resolution.Minute) # define a 10-period RSI indicator with indicator constructor self.rsi30m = RelativeStrengthIndex(10, MovingAverageType.Simple) # register the daily data of "SPY" to automatically update the indicator self.RegisterIndicator("SPY", self.rsi30m, timedelta(minutes=30)) # self.rsiDay = self.RSI("SPY", 10, MovingAverageType.Simple, Resolution.Daily) def OnData(self, data): '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. Arguments: data: Slice object keyed by symbol containing the stock data ''' if not self.Portfolio.Invested: self.SetHoldings("SPY", 1) def OnEndOfDay(self): self.Plot('RSI', '30m', self.rsi30m.Current.Value) self.Plot('RSI', 'Daily', self.rsiDay.Current.Value)