Overall Statistics |
Total Trades 5 Average Win 1.22% Average Loss 0% Compounding Annual Return 1110.055% Drawdown 1.600% Expectancy 0 Net Profit 2.770% Sharpe Ratio 14.954 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha 1.754 Beta -1.202 Annual Standard Deviation 0.093 Annual Variance 0.009 Information Ratio 9.523 Tracking Error 0.113 Treynor Ratio -1.152 Total Fees $0.30 |
import numpy as np import decimal as d from datetime import timedelta, datetime class FirstProject(QCAlgorithm): def Initialize(self): self.SetCash(100) self.SetStartDate(2019, 12, 23) self.equity = 'AMD' self.AddEquity(self.equity, Resolution.Minute).Symbol self.SetWarmUp(timedelta(minutes=1)) self.Securities[self.equity].FeeModel = ConstantFeeModel(.06) self.EMAFAST = self.EMA(self.equity, 20, Resolution.Minute) self.EMASLOW = self.EMA(self.equity, 200, Resolution.Minute) #Consolidate Heiken Ashi fiveMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=5)) fiveMinuteConsolidator.DataConsolidated += self.OnDataConsolidated self.SubscriptionManager.AddConsolidator(self.equity, fiveMinuteConsolidator) self.RegisterIndicator(self.equity,self.EMAFAST, fiveMinuteConsolidator) self.RegisterIndicator(self.equity,self.EMASLOW, fiveMinuteConsolidator) def OnDataConsolidated(self, sender, data): holdings = self.Portfolio[self.equity].Quantity if self.Portfolio[self.equity].Quantity == 0 and self.EMASLOW.Current.Value < self.EMAFAST.Current.Value : #### self.MarketOrder(self.equity, 2) if self.Portfolio[self.equity].Quantity > 0 and self.EMAFAST.Current.Value < self.EMASLOW.Current.Value : #### self.MarketOrder(self.equity, -2) ## #####