Overall Statistics |
Total Trades 63 Average Win 0.03% Average Loss -0.02% Compounding Annual Return 0.004% Drawdown 2.200% Expectancy 0.639 Net Profit 0.001% Sharpe Ratio 0.021 Loss Rate 33% Win Rate 67% Profit-Loss Ratio 1.46 Alpha 0.218 Beta -11.345 Annual Standard Deviation 0.04 Annual Variance 0.002 Information Ratio -0.453 Tracking Error 0.04 Treynor Ratio 0 Total Fees $63.00 |
from clr import AddReference AddReference("System") AddReference("QuantConnect.Algorithm") AddReference("QuantConnect.Indicators") AddReference("QuantConnect.Common") from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Indicators import * from QuantConnect.Python import PythonQuandl import math import pandas as pd import numpy as np from decimal import * class DailyAlgorithm(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.''' # Context self.stock = 'SPY' self.SetStartDate(2018,4,1) #Set Start Date self.SetEndDate(2018,7,1) #Set End Date self.SetCash(10000) #Set Strategy Cash self.AddEquity('SPY', Resolution.Daily) def OnData(self, slice): self.close_price = self.Securities[self.stock].Price self.open_price = self.Securities[self.stock].Open self.high_price = self.Securities[self.stock].High self.low_price = self.Securities[self.stock].Low daily_perf = (self.close_price - self.open_price) / self.open_price if daily_perf < 0.003: self.MarketOrder(self.stock, 1) elif daily_perf > 0.003: self.MarketOrder(self.stock, -1) self.Plot('Stock Plot', 'close', self.close_price) self.Plot('Stock Plot', 'open', self.open_price) self.Plot('Stock Plot', 'high', self.high_price) self.Plot('Stock Plot', 'low', self.low_price)