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
# 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)