| Overall Statistics |
|
Total Trades 4074 Average Win 0.02% Average Loss -0.01% Compounding Annual Return 15.003% Drawdown 24.100% Expectancy 2.616 Net Profit 106.633% Sharpe Ratio 0.922 Probabilistic Sharpe Ratio 42.341% Loss Rate 12% Win Rate 88% Profit-Loss Ratio 3.11 Alpha 0.128 Beta -0.038 Annual Standard Deviation 0.134 Annual Variance 0.018 Information Ratio 0.135 Tracking Error 0.184 Treynor Ratio -3.229 Total Fees $4105.12 |
class StarterV0(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2014, 11, 1)
self.SetCash(1e6)
self.AddEquity('AAPL')
self.AddEquity('SPY')
self.SetBenchmark('SPY')
self.SetBrokerageModel(AlphaStreamsBrokerageModel())
self.SetExecution(ImmediateExecutionModel())
self.SetPortfolioConstruction(InsightWeightingPortfolioConstructionModel())
self.UniverseSettings.Resolution = Resolution.Minute
self.universe = {}
self.Schedule.On(self.DateRules.EveryDay('SPY'),
self.TimeRules.AfterMarketOpen('SPY', 10),
self.Daily)
def Daily(self):
insights = []
for symbol, symbolData in self.universe.items():
insights.append(Insight.Price(symbol, timedelta(days=7), InsightDirection.Up,
None, None, None, symbolData.weight))
self.EmitInsights(insights)
def OnSecuritiesChanged(self, changes):
symbols = [x.Symbol for x in changes.AddedSecurities]
for symbol in symbols: self.universe[symbol] = Symbol(symbol, self)
class Symbol:
def __init__(self, symbol, alg):
self.symbol = symbol
if symbol.Value == 'AAPL': self.weight = 0.25
elif symbol.Value == 'SPY': self.weight = 0.75