Overall Statistics |
Total Trades 812 Average Win 0.09% Average Loss -0.06% Compounding Annual Return 6.399% Drawdown 40.800% Expectancy 1.102 Net Profit 97.872% Sharpe Ratio 0.456 Loss Rate 20% Win Rate 80% Profit-Loss Ratio 1.63 Alpha 0.125 Beta -4.044 Annual Standard Deviation 0.129 Annual Variance 0.017 Information Ratio 0.33 Tracking Error 0.13 Treynor Ratio -0.015 Total Fees $814.83 |
from math import ceil,floor,isnan from datetime import datetime import pandas as pd import numpy as np from scipy.optimize import minimize class AssetAllocationAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2007, 01, 01) #Set Start Date self.SetEndDate(2018, 01, 01) #Set End Date self.SetCash(100000) #Set Strategy Cash tickers = [ "IEF", "TLT", "SPY", "EFA", "EEM", "JPXN", "VGT"] self.symbols = [] for i in tickers: self.symbols.append(self.AddEquity(i, Resolution.Daily).Symbol) self.Schedule.On(self.DateRules.MonthStart("SPY"), self.TimeRules.AfterMarketOpen("SPY"), Action(self.Rebalancing)) def OnData(self, data): pass def Rebalancing(self): for syl in self.symbols: # equally weighted self.SetHoldings(syl, 1.0/len(self.symbols))