Overall Statistics |
Total Trades 1008 Average Win 1.78% Average Loss -1.94% Compounding Annual Return -47.207% Drawdown 76.400% Expectancy -0.113 Net Profit -72.162% Sharpe Ratio -1.352 Loss Rate 54% Win Rate 46% Profit-Loss Ratio 0.92 Alpha -0.462 Beta -4.563 Annual Standard Deviation 0.409 Annual Variance 0.168 Information Ratio -1.401 Tracking Error 0.409 Treynor Ratio 0.121 Total Fees $2078.91 |
import numpy as np class Algo(QCAlgorithm): def Initialize(self): self.rise = .3 self.fall = .2 self.curr_price = 0 self.SetStartDate(2007, 1, 1) #Set Start Date self.SetEndDate(2009, 1, 1) #Set End Date self.SetCash(10000) #Set Strategy Cash self.AddEquity("AAPL", Resolution.Tick) self.Schedule.On(self.DateRules.EveryDay("AAPL"), self.TimeRules.AfterMarketOpen("AAPL", 0), Action(self.buy_all_morning)) self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.BeforeMarketClose("AAPL", 5), Action(self.sell_all_close)) def OnTick(self, data): if(self.Securities["AAPL"].Price == (self.curr_price + self.rise)): if not self.Portfolio.Invested: self.curr_price = self.Securities["AAPL"].Price self.SetHoldings("AAPL", 0) elif(self.Securities["AAPL"].Price == (self.curr_price - self.fall)): if not self.Portfolio.Invested: self.curr_price = self.Securities["AAPL"].Price self.SetHoldings('AAPL',1) def buy_all_morning(self): self.curr_price = self.Securities["AAPL"].Price self.SetHoldings("AAPL", 1) def sell_all_close(self): self.SetHoldings("AAPL",0)