Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -154.783 Tracking Error 0.01 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset Portfolio Turnover 0% |
from AlgorithmImports import * from AlgorithmImports import DateTime class ETFConstituentsDataAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2016, 3, 1) self.SetEndDate(2016, 3, 5) self.SetCash(100000) self.UniverseSettings.Resolution = Resolution.Minute self.qqq = self.AddEquity("QQQ").Symbol self.AddEquity("SPY").Symbol self.AddUniverse(self.Universe.ETF(self.qqq, self.UniverseSettings, self.ETFConstituentsFilter)) # self.Schedule.On( # self.DateRules.MonthStart("SPY"), self.TimeRules.AfterMarketOpen("SPY"), self.ETFConstituentsFilter("QQQ")) def ETFConstituentsFilter(self, constituents: List[ETFConstituentData]) -> List[Symbol]: sorted_constituents = sorted(constituents, key=lambda c: c.Weight, reverse=True) for c in sorted_constituents: # duration = ({c.Time} - {c.EndTime}) # if duration > DateTime(1000) : self.Debug(f"Date: {c.LastUpdate}, Symbol: {c.Symbol}, Weight: {c.Weight}") return [c.Symbol for c in sorted_constituents]