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]