From eefba66d2112dae0b648167a547dd8f411a1bf39 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 29 May 2026 18:42:31 +0000 Subject: [PATCH 1/2] Code generated by Alternative-Datasets-Code-Generator.py --- .../08 Remove Subscriptions.html | 2 +- .../98 Example Applications.html | 2 - .../98 Example Applications.html | 2 +- .../98 Example Applications.html | 6 +-- .../08 Universe Selection.html | 4 +- .../09 Universe History.html | 4 +- .../98 Example Applications.html | 12 +++--- .../05 Requesting Data.html | 4 +- .../06 Accessing Data.html | 4 +- .../07 Historical Data.html | 4 +- .../98 Example Applications.html | 10 ++--- .../07 Historical Data.html | 2 +- .../08 Remove Subscriptions.html | 2 +- .../98 Example Applications.html | 10 ++--- ...ting Data.html => 05 Requesting Data.html} | 0 ...ssing Data.html => 06 Accessing Data.html} | 0 ...ical Data.html => 07 Historical Data.html} | 0 ...ection.html => 08 Universe Selection.html} | 0 .../09 Universe History.html | 39 +++++++++++++++++++ ...ions.html => 10 Remove Subscriptions.html} | 0 ...ting Data.html => 05 Requesting Data.html} | 0 ...ssing Data.html => 06 Accessing Data.html} | 4 +- ...ical Data.html => 07 Historical Data.html} | 2 +- ...ection.html => 08 Universe Selection.html} | 0 .../09 Universe History.html | 39 +++++++++++++++++++ ...ions.html => 10 Remove Subscriptions.html} | 0 ...ting Data.html => 05 Requesting Data.html} | 0 ...ssing Data.html => 06 Accessing Data.html} | 0 ...ical Data.html => 07 Historical Data.html} | 0 ...ection.html => 08 Universe Selection.html} | 0 .../05 Upcoming IPOs/09 Universe History.html | 39 +++++++++++++++++++ ...ions.html => 10 Remove Subscriptions.html} | 0 ...ting Data.html => 05 Requesting Data.html} | 0 ...ssing Data.html => 06 Accessing Data.html} | 0 ...ical Data.html => 07 Historical Data.html} | 0 ...ection.html => 08 Universe Selection.html} | 0 .../09 Universe History.html | 39 +++++++++++++++++++ ...ions.html => 10 Remove Subscriptions.html} | 0 .../01 Data Link/98 Example Applications.html | 2 +- .../03 Getting Started.html | 2 +- .../01 US SEC Filings/06 Accessing Data.html | 4 +- .../98 Example Applications.html | 2 +- .../98 Example Applications.html | 4 +- ...upported-alternative-dataset-universe.html | 8 ++-- 44 files changed, 203 insertions(+), 49 deletions(-) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/{06 Requesting Data.html => 05 Requesting Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/{07 Accessing Data.html => 06 Accessing Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/{08 Historical Data.html => 07 Historical Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/{05 Universe Selection.html => 08 Universe Selection.html} (100%) create mode 100644 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Universe History.html rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/{09 Remove Subscriptions.html => 10 Remove Subscriptions.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/{06 Requesting Data.html => 05 Requesting Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/{07 Accessing Data.html => 06 Accessing Data.html} (89%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/{08 Historical Data.html => 07 Historical Data.html} (94%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/{05 Universe Selection.html => 08 Universe Selection.html} (100%) create mode 100644 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Universe History.html rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/{09 Remove Subscriptions.html => 10 Remove Subscriptions.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/{06 Requesting Data.html => 05 Requesting Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/{07 Accessing Data.html => 06 Accessing Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/{08 Historical Data.html => 07 Historical Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/{05 Universe Selection.html => 08 Universe Selection.html} (100%) create mode 100644 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Universe History.html rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/{09 Remove Subscriptions.html => 10 Remove Subscriptions.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/{06 Requesting Data.html => 05 Requesting Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/{07 Accessing Data.html => 06 Accessing Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/{08 Historical Data.html => 07 Historical Data.html} (100%) rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/{05 Universe Selection.html => 08 Universe Selection.html} (100%) create mode 100644 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Universe History.html rename 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/{09 Remove Subscriptions.html => 10 Remove Subscriptions.html} (100%) diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/06 Bybit Crypto Future Margin Rate Data/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/06 Bybit Crypto Future Margin Rate Data/08 Remove Subscriptions.html index 9cac3a1a4a..455d186009 100644 --- a/03 Writing Algorithms/14 Datasets/02 QuantConnect/06 Bybit Crypto Future Margin Rate Data/08 Remove Subscriptions.html +++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/06 Bybit Crypto Future Margin Rate Data/08 Remove Subscriptions.html @@ -6,4 +6,4 @@
RemoveSecurity(_symbol);
-

TheRemoveSecurityremove_security method cancels your open orders for the security and liquidates your holdings in the virtual pair.

\ No newline at end of file +

The RemoveSecurityremove_security method cancels your open orders for the security and liquidates your holdings in the virtual pair.

\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 US Equities Short Availability/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 US Equities Short Availability/98 Example Applications.html index e3bb9e04a2..b8dd027925 100644 --- a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 US Equities Short Availability/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 US Equities Short Availability/98 Example Applications.html @@ -17,7 +17,6 @@

Classic Algorithm Example

self.set_cash(1000) # Seed the security price as the last known price, such that the price data is immediately available at initial rebalance self.settings.seed_initial_prices = True - self.add_security_initializer(self._custom_security_initializer) self.equity = self.add_equity("GME") @@ -115,7 +114,6 @@

Framework Algorithm Example

self.set_cash(1000) # Seed the security price as the last known price, such that the price data is immediately available at initial rebalance self.settings.seed_initial_prices = True - self.add_security_initializer(self._custom_security_initializer) self.set_universe_selection(ManualUniverseSelectionModel( [Symbol.create("GME", SecurityType.EQUITY, Market.USA)])) diff --git a/03 Writing Algorithms/14 Datasets/03 AlgoSeek/02 US Equity Options/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/03 AlgoSeek/02 US Equity Options/98 Example Applications.html index 670ae4531a..1cea66bea5 100644 --- a/03 Writing Algorithms/14 Datasets/03 AlgoSeek/02 US Equity Options/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/03 AlgoSeek/02 US Equity Options/98 Example Applications.html @@ -130,7 +130,7 @@

Framework Algorithm Example

# Daily update with the select_option_chain_symbols function super().__init__(timedelta(1), self.select_option_chain_symbols) - def select_option_chain_symbols(self, utcTime: datetime) -> List[Symbol]: + def select_option_chain_symbols(self, utc_time: datetime) -> List[Symbol]: # Always select only GOOG options as our focus return [ Symbol.create("GOOG", SecurityType.OPTION, Market.USA) ] diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/02 Brain ML Stock Ranking/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/08 Brain/02 Brain ML Stock Ranking/98 Example Applications.html index 76c2d91c56..08f801b89c 100644 --- a/03 Writing Algorithms/14 Datasets/08 Brain/02 Brain ML Stock Ranking/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/08 Brain/02 Brain ML Stock Ranking/98 Example Applications.html @@ -29,7 +29,7 @@

Classic Algorithm Example

dataset_symbol = self.add_data(BrainStockRanking2Day, equity).symbol self.equity_by_dataset_symbol[dataset_symbol] = equity # Request historical ranking data to inspect subscription coverage. - history = self.history(dataset_symbol, 365, Resolution.DAILY) + history = self.history(dataset_symbol, 252, Resolution.DAILY) self.debug(f"We got {len(history)} items from our history request for {equity}") def on_data(self, data: Slice) -> None: @@ -156,7 +156,7 @@

Framework Algorithm Example

# Request data for the two-day estimated relative ranking. security.brain_stock_ranking_2_day = algorithm.add_data(BrainStockRanking2Day, security, Resolution.DAILY) # Historical data. - history = algorithm.history(security.brain_stock_ranking_2_day, 365, Resolution.DAILY) + history = algorithm.history(security.brain_stock_ranking_2_day, 252, Resolution.DAILY) algorithm.debug(f"We got {len(history)} items from our history request for {security.brain_stock_ranking_2_day.symbol}") for security in changes.removed_securities: # Unsubscribe from the Brain ML Ranking feed for this security to release resources. @@ -231,7 +231,7 @@

Framework Algorithm Example

var brainStockRanking2Day = algorithm.AddData<BrainStockRanking2Day>(security.Symbol, Resolution.Daily); security.Set("BrainStockRanking2Day", brainStockRanking2Day); // Historical data. - var history = algorithm.History<BrainStockRanking2Day>(brainStockRanking2Day.Symbol, 365, Resolution.Daily); + var history = algorithm.History<BrainStockRanking2Day>(brainStockRanking2Day.Symbol, 252, Resolution.Daily); algorithm.Debug($"We got {history.Count()} items from our history request for {brainStockRanking2Day}"); } foreach (var security in changes.RemovedSecurities) diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/08 Universe Selection.html index aa8a36e18d..c3410c9c1d 100644 --- a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/08 Universe Selection.html +++ b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/08 Universe Selection.html @@ -6,8 +6,8 @@ def universe_selection(self, alt_coarse: List[BrainSentimentIndicatorUniverse]) -> List[Symbol]: return [d.symbol for d in alt_coarse \ - if d.total_article_mentions7_days > 0 \ - and d.sentiment7_days] + if d.total_article_mentions_7_days > 0 \ + and d.sentiment_7_days]
private Universe _universe;
 public override void Initialize()
 {
diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/09 Universe History.html b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/09 Universe History.html
index 7097529d04..5b4e0cce89 100644
--- a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/09 Universe History.html	
+++ b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/09 Universe History.html	
@@ -19,7 +19,7 @@ 

Historical Universe Data in Algorithms

universe_history = self.history(self._universe, 30, Resolution.DAILY) for (_, time), sentiments in universe_history.items(): for sentiment in sentiments: - self.log(f"{sentiment.symbol} 7-day sentiment at {sentiment.end_time}: {sentiment.sentiment7_days}")
+ self.log(f"{sentiment.symbol} 7-day sentiment at {sentiment.end_time}: {sentiment.sentiment_7_days}")

Historical Universe Data in Research

@@ -41,7 +41,7 @@

Historical Universe Data in Research

universe_history = qb.universe_history(universe, qb.time-timedelta(30), qb.time) for (_, time), sentiments in universe_history.items(): for sentiment in sentiments: - print(f"{sentiment.symbol} 7-day sentiment at {sentiment.end_time}: {sentiment.sentiment7_days}") + print(f"{sentiment.symbol} 7-day sentiment at {sentiment.end_time}: {sentiment.sentiment_7_days}")

You can call the Historyhistory method in Research.

\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/98 Example Applications.html index e8e9e03479..c8d4abb78b 100644 --- a/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/08 Brain/03 Brain Sentiment Indicator/98 Example Applications.html @@ -24,7 +24,7 @@

Classic Algorithm Example

# Request the processed longer term sentiment score data for sentiment trading. self.aapl = self.add_equity("AAPL", Resolution.DAILY) self.dataset_symbol = self.add_data(BrainSentimentIndicator30Day, self.aapl).symbol - history = self.history(self.dataset_symbol, 100, Resolution.DAILY) + history = self.history(self.dataset_symbol, 252, Resolution.DAILY) self.debug(f"We got {len(history)} items from our history request for {self.dataset_symbol}") if history.empty: return @@ -65,7 +65,7 @@

Classic Algorithm Example

// Request the processed longer term sentiment score data for sentiment trading. _aapl = AddEquity("AAPL", Resolution.Daily); _datasetSymbol = AddData<BrainSentimentIndicator30Day>(_aapl.Symbol).Symbol; - var history = History<BrainSentimentIndicator30Day>(_datasetSymbol, 100, Resolution.Daily); + var history = History<BrainSentimentIndicator30Day>(_datasetSymbol, 252, Resolution.Daily); Debug($"We got {history.Count()} items from our history request for {_datasetSymbol}"); // Warm up historical sentiment values so the signal is immediately tradable. var previousSentimentValues = history.Select(x => x.Sentiment); @@ -147,7 +147,7 @@

Framework Algorithm Example

security.latest_sentiment_value = data_point.sentiment # Buy if sentiment increase, liquidate otherwise to ride on the popularity of the equity if security.price and target_direction == InsightDirection.UP and not security.invested: - insights.append(Insight.price(security, timedelta(100), target_direction)) + insights.append(Insight.price(security, timedelta(252), target_direction)) return insights def on_securities_changed(self, algorithm: QCAlgorithm, changes: SecurityChanges) -> None: @@ -157,7 +157,7 @@

Framework Algorithm Example

security.brain_sentiment_data = dataset.symbol security.latest_sentiment_value = None # Historical data - history = algorithm.history(dataset, 100, Resolution.DAILY) + history = algorithm.history(dataset, 252, Resolution.DAILY) if not history.empty: # Warm up historical sentiment values, cache for comparing last sentiment score to trade previous_sentiment_values = history.loc[security.brain_sentiment_data].sentiment.values @@ -216,7 +216,7 @@

Framework Algorithm Example

// Buy if sentiment increase, liquidate otherwise to ride on the popularity of the equity if (security.Price != 0 && targetDirection == InsightDirection.Up && !security.Holdings.Invested) { - insights.Add(Insight.Price(security.Symbol, TimeSpan.FromDays(100), targetDirection)); + insights.Add(Insight.Price(security.Symbol, TimeSpan.FromDays(252), targetDirection)); } } return insights; @@ -231,7 +231,7 @@

Framework Algorithm Example

security.Set("BrainSentimentData", dataset.Symbol); security.Set("LatestSentimentValue", null); // Historical data - var history = algorithm.History<BrainSentimentIndicator30Day>(dataset.Symbol, 100, Resolution.Daily).ToList(); + var history = algorithm.History<BrainSentimentIndicator30Day>(dataset.Symbol, 252, Resolution.Daily).ToList(); if (history.Count() != 0) { // Warm up historical sentiment values, cache for comparing last sentiment score to trade diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/05 Requesting Data.html index a2f5fa9478..1d5a2bfab8 100644 --- a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/05 Requesting Data.html +++ b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/05 Requesting Data.html @@ -1,5 +1,5 @@

To add Brain Wikipedia Page Views Indicator data to your algorithm, call the AddDataadd_data method. Save a reference to the dataset Symbol so you can access the data later in your algorithm. -

class BrainWikipediaPageViews(QCAlgorithm):     
+
class BrainWikipediaPageViewsAlgorithm(QCAlgorithm):     
     def initialize(self) -> None: 	 
         self.set_start_date(2021, 1, 1)
         self.set_end_date(2021, 7, 8)
@@ -7,7 +7,7 @@
         self.aapl = self.add_equity("AAPL", Resolution.DAILY).symbol 
         self.dataset_symbol = self.add_data(BrainWikipediaPageViews, self.aapl).symbol
-
public class BrainWikipediaPageViews: QCAlgorithm  
+
public class BrainWikipediaPageViewsAlgorithm: QCAlgorithm  
 {  
     private Symbol _symbol;  
     public override void Initialize()  
diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/06 Accessing Data.html
index 4b8a9a13a9..a9de79a40c 100644
--- a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/06 Accessing Data.html	
+++ b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/06 Accessing Data.html	
@@ -3,7 +3,7 @@
 
def on_data(self, slice: Slice) -> None:  
     if slice.contains_key(self.dataset_symbol):  
         data_point = slice[self.dataset_symbol]  
-        self.log(f"{self.dataset_symbol} sentiments at {slice.time}: {data_point.NumberViews1}, {data_point.Buzz1}"
+ self.log(f"{self.dataset_symbol} sentiments at {slice.time}: {data_point.number_views_1}, {data_point.buzz_1}")
public override void OnData(Slice slice)  
 {  
@@ -18,7 +18,7 @@
 
def on_data(self, slice: Slice) -> None:  
     for dataset_symbol, data_point in slice.get(BrainWikipediaPageViews).items(): 
-         self.log(f"{dataset_symbol} metric at {slice.time}: {data_point.NumberViews1} , {data_point.Buzz1}")
+ self.log(f"{dataset_symbol} metric at {slice.time}: {data_point.number_views_1} , {data_point.buzz_1}")
public override void OnData(Slice slice)  
 {  
diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/07 Historical Data.html
index 877eb76c42..23b8fd3a87 100644
--- a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/07 Historical Data.html	
+++ b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/07 Historical Data.html	
@@ -1,5 +1,5 @@
 

To get historical Brain Wikipedia Page Views data, call the Historyhistory method with the dataset Symbol. If there is no data in the period you request, the history result is empty.

-
history_df = self.history(self.dataset_symbol, 100, Resolution.DAILY) 
-
var history = History<BrainWikipediaPageViews>(_datasetSymbol, 100, Resolution.Daily); 
+
history_df = self.history(self.dataset_symbol, 252, Resolution.DAILY) 
+
var history = History<BrainWikipediaPageViews>(_datasetSymbol, 252, Resolution.Daily); 
\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/98 Example Applications.html index 9e9221d595..6e7ab74c6f 100644 --- a/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/08 Brain/04 Brain Wikipedia Page Views/98 Example Applications.html @@ -29,7 +29,7 @@

Classic Algorithm Example

equity.dataset_symbol = self.add_data(BrainWikipediaPageViews, equity.symbol).symbol # Historical data - history = self.history(equity.dataset_symbol, 365, Resolution.DAILY) + history = self.history(equity.dataset_symbol, 252, Resolution.DAILY) self.debug(f"We got {len(history)} items from our history request for {equity.symbol}") def on_data(self, slice: Slice) -> None: @@ -40,10 +40,10 @@

Classic Algorithm Example

scores = {} - for point in points.Values: + for point in points.values(): # Example composite signal: - number_of_views = point.NumberViews1 if point.NumberViews1 else 0 - buzz1day = point.Buzz1 if point.Buzz1 else 0 + number_of_views = point.number_views_1 if point.number_views_1 else 0 + buzz1day = point.buzz_1 if point.buzz_1 else 0 symbol = point.symbol.underlying scores[symbol] = buzz1day * math.sqrt(number_of_views) @@ -85,7 +85,7 @@

Classic Algorithm Example

var datasetSymbol = AddData<BrainWikipediaPageViews>(symbol).Symbol; // Historical data (request dataset symbol) - var history = History(datasetSymbol, 365, Resolution.Daily); + var history = History(datasetSymbol, 252, Resolution.Daily); Debug($"We got {history.Count()} items from our history request for {symbol}"); } } diff --git a/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/07 Historical Data.html index 308021f1b9..6c777bbfb9 100644 --- a/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/07 Historical Data.html +++ b/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/07 Historical Data.html @@ -1,4 +1,4 @@ -

To get historical BLS data, call the History method with the dataset Symbol. If there is no data in the period you request, the history result is empty.

+

To get historical BLS data, call the Historyhistory method with the dataset Symbol. If there is no data in the period you request, the history result is empty.

# DataFrame
diff --git a/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/08 Remove Subscriptions.html
index f5b36a0cf4..a2268dfefe 100644
--- a/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/08 Remove Subscriptions.html	
+++ b/03 Writing Algorithms/14 Datasets/09 Bureau of Labor Statistics/01 US Bureau of Labor Statistics (BLS)/08 Remove Subscriptions.html	
@@ -1,4 +1,4 @@
-

To remove your subscription to BLS data, call the RemoveSecurity method.

+

To remove your subscription to BLS data, call the RemoveSecurityremove_security method.

self.remove_security(self._cpi)
diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/02 Macroeconomics Indicators/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/02 Macroeconomics Indicators/98 Example Applications.html index 82917c04ca..e419f44695 100644 --- a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/02 Macroeconomics Indicators/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/02 Macroeconomics Indicators/98 Example Applications.html @@ -16,10 +16,10 @@

Classic Algorithm Example

class EODHDMacroIndicatorsAlgorithm(QCAlgorithm): def initialize(self): - self.set_start_date(2024, 9, 1) + self.set_start_date(2024, 1, 1) self.set_end_date(2024, 12, 31) self.equity_symbol = self.add_equity("SPY", Resolution.DAILY).symbol - + ticker = EODHD.MacroIndicators.UnitedStates.GDP_GROWTH_ANNUAL self.dataset_symbol = self.add_data(EODHDMacroIndicators, ticker).symbol @@ -34,7 +34,7 @@

Classic Algorithm Example

public override void Initialize() { - SetStartDate(2024, 9, 1); + SetStartDate(2024, 1, 1); SetEndDate(2024, 12, 31); _equitySymbol = AddEquity("SPY", Resolution.Daily).Symbol; var ticker = EODHD.MacroIndicators.UnitedStates.GdpGrowthAnnual; @@ -61,7 +61,7 @@

Framework Algorithm Example

class EODHDMacroIndicatorsAlgorithm(QCAlgorithm): def initialize(self) -> None: - self.set_start_date(2024, 9, 1) + self.set_start_date(2024, 1, 1) self.set_end_date(2024, 12, 31) # Use market ETF as a vehicle to trade. symbol = Symbol.create("SPY", SecurityType.EQUITY, Market.USA) @@ -98,7 +98,7 @@

Framework Algorithm Example

{ public override void Initialize() { - SetStartDate(2024, 9, 1); + SetStartDate(2024, 1, 1); SetEndDate(2024, 12, 31); // Use market ETF as a vehicle to trade. var symbol = QuantConnect.Symbol.Create("SPY", SecurityType.Equity, Market.USA); diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/05 Requesting Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/06 Requesting Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/05 Requesting Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/06 Accessing Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/07 Accessing Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/06 Accessing Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/07 Historical Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/08 Historical Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/07 Historical Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/05 Universe Selection.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/08 Universe Selection.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/05 Universe Selection.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/08 Universe Selection.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Universe History.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Universe History.html new file mode 100644 index 0000000000..cf0157c01c --- /dev/null +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Universe History.html @@ -0,0 +1,39 @@ +

You can get historical universe data in an algorithm and in the Research Environment.

+ +

Historical Universe Data in Algorithms

+

To get historical universe data in an algorithm, call the Historyhistory method with the Universe object and the lookback period. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = History(_universe, 30, Resolution.Daily);
+foreach (var dividends in universeHistory)
+{
+    foreach (EODHDUpcomingDividends dividend in dividends)
+    {
+        Log($"{dividend.Symbol} dividend on {dividend.DividendDate}: {dividend.dividend}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingDividends attributes: 
+history_df = self.history(self._universe, 30, Resolution.DAILY, flatten=True)
+
+# Series example where the values are lists of EODHDUpcomingDividends objects: 
+universe_history = self.history(self._universe, 30, Resolution.DAILY)
+for (_, time), dividends in universe_history.items():
+    for dividend in dividends:
+        self.log(f"{dividend.symbol} dividend on {dividend.dividend_date}: {dividend.dividend}")
+
+ +

Historical Universe Data in Research

+

To get historical universe data in research, call the Historyhistory method with the Universe object, a start date, and an end date. This method returns the filtered universe. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = qb.History(universe, qb.Time.AddDays(-30), qb.Time);
+foreach (var dividends in universeHistory)
+{
+    foreach (EODHDUpcomingDividends dividend in dividends)
+    {
+        Console.WriteLine($"{dividend.Symbol} dividend on {dividend.DividendDate}: {dividend.dividend}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingDividends attributes: 
+history = qb.history(universe, qb.time-timedelta(30), qb.time, flatten=True)
+
\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/10 Remove Subscriptions.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/09 Remove Subscriptions.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/03 Upcoming Dividends/10 Remove Subscriptions.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/05 Requesting Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/06 Requesting Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/05 Requesting Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/06 Accessing Data.html similarity index 89% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Accessing Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/06 Accessing Data.html index 29385bc4b2..5cd92f4fb6 100644 --- a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Accessing Data.html +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/06 Accessing Data.html @@ -3,8 +3,8 @@
def on_data(self, slice: Slice) -> None:
     upcomings_earnings_for_symbol = slice.get(EODHDUpcomingEarnings).get(self._symbol)
-        if upcomings_earnings_for_symbol:
-            self.log(f"{self._symbol} will report earnings at {upcomings_earnings_for_symbol.report_date} {upcomings_earnings_for_symbol.report_time} with estimated EPS {upcomings_earnings_for_symbol.estimate}")
+ if upcomings_earnings_for_symbol: + self.log(f"{self._symbol} will report earnings at {upcomings_earnings_for_symbol.report_date} {upcomings_earnings_for_symbol.report_time} with estimated EPS {upcomings_earnings_for_symbol.estimate}")
public override void OnData(Slice slice)
 {
     var upcomingEarnings = slice.Get<EODHDUpcomingEarnings>();
diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Historical Data.html
similarity index 94%
rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/08 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Historical Data.html
index e0ce58de11..0c4db90f05 100644
--- a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/08 Historical Data.html	
+++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/07 Historical Data.html	
@@ -1,4 +1,4 @@
-

To get historical Upcoming Earnings for the universe, call the Historyhistory method with the type EODHDUpcomingEarning.

+

To get historical Upcoming Earnings for the universe, call the Historyhistory method with the type EODHDUpcomingEarnings.

history = self.history(EODHDUpcomingEarnings, timedelta(100), Resolution.DAILY)
diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/05 Universe Selection.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/08 Universe Selection.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/05 Universe Selection.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/08 Universe Selection.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Universe History.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Universe History.html new file mode 100644 index 0000000000..c801336163 --- /dev/null +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Universe History.html @@ -0,0 +1,39 @@ +

You can get historical universe data in an algorithm and in the Research Environment.

+ +

Historical Universe Data in Algorithms

+

To get historical universe data in an algorithm, call the Historyhistory method with the Universe object and the lookback period. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = History(_universe, 30, Resolution.Daily);
+foreach (var earnings in universeHistory)
+{
+    foreach (EODHDUpcomingEarnings earning in earnings)
+    {
+        Log($"{earning.Symbol} estimate at {earning.EndTime}: {earning.Estimate}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingEarnings attributes: 
+history_df = self.history(self._universe, 30, Resolution.DAILY, flatten=True)
+
+# Series example where the values are lists of EODHDUpcomingEarnings objects: 
+universe_history = self.history(self._universe, 30, Resolution.DAILY)
+for (_, time), earnings in universe_history.items():
+    for earning in earnings:
+        self.log(f"{earning.symbol} estimate at {earning.end_time}: {earning.estimate}")
+
+ +

Historical Universe Data in Research

+

To get historical universe data in research, call the Historyhistory method with the Universe object, a start date, and an end date. This method returns the filtered universe. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = qb.History(universe, qb.Time.AddDays(-30), qb.Time);
+foreach (var earnings in universeHistory)
+{
+    foreach (EODHDUpcomingEarnings earning in earnings)
+    {
+        Console.WriteLine($"{earning.Symbol} estimate at {earning.EndTime}: {earning.Rank2Days}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingEarnings attributes: 
+history = qb.history(universe, qb.time-timedelta(30), qb.time, flatten=True)
+
\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/10 Remove Subscriptions.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/09 Remove Subscriptions.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/04 Upcoming Earnings/10 Remove Subscriptions.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/05 Requesting Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/06 Requesting Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/05 Requesting Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/06 Accessing Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/07 Accessing Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/06 Accessing Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/07 Historical Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/08 Historical Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/07 Historical Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/05 Universe Selection.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/08 Universe Selection.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/05 Universe Selection.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/08 Universe Selection.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Universe History.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Universe History.html new file mode 100644 index 0000000000..d235a15635 --- /dev/null +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Universe History.html @@ -0,0 +1,39 @@ +

You can get historical universe data in an algorithm and in the Research Environment.

+ +

Historical Universe Data in Algorithms

+

To get historical universe data in an algorithm, call the Historyhistory method with the Universe object and the lookback period. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = History(_universe, 30, Resolution.Daily);
+foreach (var ipos in universeHistory)
+{
+    foreach (EODHDUpcomingIPOs ipo in ipos)
+    {
+        Log($"{ipo.Symbol} offer price at {ipo.IpoDate}: {ipo.OfferPrice}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingIPOs attributes: 
+history_df = self.history(self._universe, 30, Resolution.DAILY, flatten=True)
+
+# Series example where the values are lists of EODHDUpcomingIPOs objects: 
+universe_history = self.history(self._universe, 30, Resolution.DAILY)
+for (_, time), ipos in universe_history.items():
+    for ipo in ipos:
+        self.log(f"{ipo.symbol} offer price at {ipo.ipo_date}: {ipo.offer_price}")
+
+ +

Historical Universe Data in Research

+

To get historical universe data in research, call the Historyhistory method with the Universe object, a start date, and an end date. This method returns the filtered universe. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = qb.History(universe, qb.Time.AddDays(-30), qb.Time);
+foreach (var ipos in universeHistory)
+{
+    foreach (EODHDUpcomingIPOs ipo in ipos)
+    {
+        Console.WriteLine($"{ipo.Symbol} offer price at {ipo.IpoDate}: {ipo.OfferPrice}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingIPOs attributes: 
+history = qb.history(universe, qb.time-timedelta(30), qb.time, flatten=True)
+
\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/10 Remove Subscriptions.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/09 Remove Subscriptions.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/05 Upcoming IPOs/10 Remove Subscriptions.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/05 Requesting Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/06 Requesting Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/05 Requesting Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/06 Accessing Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/07 Accessing Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/06 Accessing Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/07 Historical Data.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/08 Historical Data.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/07 Historical Data.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/05 Universe Selection.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/08 Universe Selection.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/05 Universe Selection.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/08 Universe Selection.html diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Universe History.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Universe History.html new file mode 100644 index 0000000000..7057f4dcb7 --- /dev/null +++ b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Universe History.html @@ -0,0 +1,39 @@ +

You can get historical universe data in an algorithm and in the Research Environment.

+ +

Historical Universe Data in Algorithms

+

To get historical universe data in an algorithm, call the Historyhistory method with the Universe object and the lookback period. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = History(_universe, 30, Resolution.Daily);
+foreach (var splits in universeHistory)
+{
+    foreach (EODHDUpcomingSplits split in splits)
+    {
+        Log($"{split.Symbol} split factor on {split.SplitDate}: {split.SplitFactor}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingSplits attributes: 
+history_df = self.history(self._universe, 30, Resolution.DAILY, flatten=True)
+
+# Series example where the values are lists of EODHDUpcomingSplits objects: 
+universe_history = self.history(self._universe, 30, Resolution.DAILY)
+for (_, time), splits in universe_history.items():
+    for split in splits:
+        self.log(f"{split.symbol} split factor on {split.split_factor}: {split.split_factor}")
+
+ +

Historical Universe Data in Research

+

To get historical universe data in research, call the Historyhistory method with the Universe object, a start date, and an end date. This method returns the filtered universe. If there is no data in the period you request, the history result is empty.

+ +
+
var universeHistory = qb.History(universe, qb.Time.AddDays(-30), qb.Time);
+foreach (var splits in universeHistory)
+{
+    foreach (EODHDUpcomingSplits split in splits)
+    {
+        Console.WriteLine($"{split.Symbol} split factor on {split.SplitDate}: {split.SplitFactor}");
+    }
+}
+
# DataFrame example where the columns are the EODHDUpcomingSplits attributes: 
+history = qb.history(universe, qb.time-timedelta(30), qb.time, flatten=True)
+
\ No newline at end of file diff --git a/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/10 Remove Subscriptions.html similarity index 100% rename from 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/09 Remove Subscriptions.html rename to 03 Writing Algorithms/14 Datasets/11 EOD Historical Data/06 Upcoming Splits/10 Remove Subscriptions.html diff --git a/03 Writing Algorithms/14 Datasets/17 Nasdaq/01 Data Link/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/17 Nasdaq/01 Data Link/98 Example Applications.html index 202e5b022b..13786919e0 100644 --- a/03 Writing Algorithms/14 Datasets/17 Nasdaq/01 Data Link/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/17 Nasdaq/01 Data Link/98 Example Applications.html @@ -126,7 +126,7 @@

Framework Algorithm Example

insights = [] # Trade only based on updated NASDAQ data link data - for dataset_symbol, data_point in slice.get(NasdaqCustomColumns).items(): + for dataset_symbol, data_point in slice.Get(NasdaqCustomColumns).items(): if dataset_symbol != self.bitfinex_exchange_rate_symbol or algorithm.portfolio[dataset_symbol].invested: continue insights.append(Insight.price(dataset_symbol, timedelta(days=6*22), InsightDirection.UP)) diff --git a/03 Writing Algorithms/14 Datasets/18 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/18 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html index 6923a8c163..b68d391bb6 100644 --- a/03 Writing Algorithms/14 Datasets/18 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html +++ b/03 Writing Algorithms/14 Datasets/18 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html @@ -1,6 +1,6 @@

The following snippet demonstrates how to request data from the Corporate Lobbying dataset:

-
self.aapl = self.add_equity("AAPL", Resolution.DAILY).symbol
+
self.symbol = self.add_equity("AAPL", Resolution.DAILY).symbol
 self.dataset_symbol = self.add_data(QuiverLobbyings, self.symbol).symbol
 
 self._universe = self.add_universe(QuiverLobbyingUniverse, self.universe_selection_filter)
diff --git a/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html index 8eb1a0eef2..f1f96517d6 100644 --- a/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html +++ b/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html @@ -10,9 +10,9 @@ data_point = slice[self.report_10k_symbol] self.log(f"{self.report_10k_symbol} report count at {slice.time}: {len(data_point.report.documents)}") - if slice.contains_key(self.report_10q_symbol): + if slice.ContainsKey(self.report_10q_symbol): data_point = slice[self.report_10q_symbol] - self.log(f"{self.report_10q_symbol} report count at {slice.time}: {len(data_point.report.documents)}")
+ self.log(f"{self.report_10q_symbol} report count at {slice.Time}: {len(data_point.report.documents)}")
public override void OnData(Slice slice)
 {
diff --git a/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html
index eb57c27384..994de83999 100644
--- a/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html	
+++ b/03 Writing Algorithms/14 Datasets/20 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html	
@@ -40,7 +40,7 @@ 

Classic Algorithm Example

def on_data(self, slice: Slice) -> None: # Trade from SEC data - for report in slice.get(SECReport8K).values(): + for report in slice.Get(SECReport8K).Values: underlying_symbol = report.symbol.underlying # Skip the Symbol if it's no longer in the universe (insuffucient popularity to reach market efficiency of fundamental factor) if underlying_symbol not in self.dataset_symbol_by_symbol: diff --git a/03 Writing Algorithms/14 Datasets/21 Smart Insider/01 Corporate Buybacks/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/21 Smart Insider/01 Corporate Buybacks/98 Example Applications.html index ed7d6feb2b..d1508a33b2 100644 --- a/03 Writing Algorithms/14 Datasets/21 Smart Insider/01 Corporate Buybacks/98 Example Applications.html +++ b/03 Writing Algorithms/14 Datasets/21 Smart Insider/01 Corporate Buybacks/98 Example Applications.html @@ -19,9 +19,9 @@

Classic Algorithm Example

self._smart_insider_intention_data = self.add_data(SmartInsiderIntention, self._equity).symbol self._smart_insider_transaction_data = self.add_data(SmartInsiderTransaction, self._equity).symbol # Warm up custom data subscriptions with historical data. - history = self.history(self._smart_insider_intention_data, 365, Resolution.DAILY) + history = self.history(self._smart_insider_intention_data, timedelta(365), Resolution.DAILY) self.debug(f"We got {len(history)} items from our history request for intentions") - history = self.history(self._smart_insider_transaction_data, 365, Resolution.DAILY) + history = self.history(self._smart_insider_transaction_data, timedelta(365), Resolution.DAILY) self.debug(f"We got {len(history)} items from our history request for transactions") def on_data(self, data: Slice) -> None: diff --git a/Resources/datasets/supported-alternative-dataset-universe.html b/Resources/datasets/supported-alternative-dataset-universe.html index d3ed7062ea..d894bc8a5f 100644 --- a/Resources/datasets/supported-alternative-dataset-universe.html +++ b/Resources/datasets/supported-alternative-dataset-universe.html @@ -4,10 +4,10 @@
  • Brain ML Stock Ranking
  • Brain Sentiment Indicator
  • Crypto Market Cap
  • -
  • Upcoming Dividends
  • -
  • Upcoming Earnings
  • -
  • Upcoming IPOs
  • -
  • Upcoming Splits
  • +
  • Upcoming Dividends
  • +
  • Upcoming Earnings
  • +
  • Upcoming IPOs
  • +
  • Upcoming Splits
  • CNBC Trading
  • Corporate Lobbying
  • Insider Trading
  • From 1a2de3f84db7338f87d21d359414770106b035aa Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 29 May 2026 18:42:42 +0000 Subject: [PATCH 2/2] Code generated by market-hour-code-generator.py --- .../market-hours/futures-market-hours.js | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/Resources/datasets/market-hours/futures-market-hours.js b/Resources/datasets/market-hours/futures-market-hours.js index 336c0b22ce..08032c42b9 100644 --- a/Resources/datasets/market-hours/futures-market-hours.js +++ b/Resources/datasets/market-hours/futures-market-hours.js @@ -50099,6 +50099,122 @@ const DATA = { ], "holidays": [] }, + "Future-cfe-VXM": { + "exchangeTimeZone": "America/Chicago", + "sunday": [ + { + "start": "17:00:00", + "end": "1.00:00:00", + "state": "premarket" + } + ], + "monday": [ + { + "start": "00:00:00", + "end": "08:30:00", + "state": "premarket" + }, + { + "start": "08:30:00", + "end": "15:00:00", + "state": "market" + }, + { + "start": "15:00:00", + "end": "16:00:00", + "state": "postmarket" + }, + { + "start": "17:00:00", + "end": "1.00:00:00", + "state": "postmarket" + } + ], + "tuesday": [ + { + "start": "00:00:00", + "end": "08:30:00", + "state": "premarket" + }, + { + "start": "08:30:00", + "end": "15:00:00", + "state": "market" + }, + { + "start": "15:00:00", + "end": "16:00:00", + "state": "postmarket" + }, + { + "start": "17:00:00", + "end": "1.00:00:00", + "state": "postmarket" + } + ], + "wednesday": [ + { + "start": "00:00:00", + "end": "08:30:00", + "state": "premarket" + }, + { + "start": "08:30:00", + "end": "15:00:00", + "state": "market" + }, + { + "start": "15:00:00", + "end": "16:00:00", + "state": "postmarket" + }, + { + "start": "17:00:00", + "end": "1.00:00:00", + "state": "postmarket" + } + ], + "thursday": [ + { + "start": "00:00:00", + "end": "08:30:00", + "state": "premarket" + }, + { + "start": "08:30:00", + "end": "15:00:00", + "state": "market" + }, + { + "start": "15:00:00", + "end": "16:00:00", + "state": "postmarket" + }, + { + "start": "17:00:00", + "end": "1.00:00:00", + "state": "postmarket" + } + ], + "friday": [ + { + "start": "00:00:00", + "end": "08:30:00", + "state": "premarket" + }, + { + "start": "08:30:00", + "end": "15:00:00", + "state": "market" + }, + { + "start": "15:00:00", + "end": "16:00:00", + "state": "postmarket" + } + ], + "holidays": [] + }, "Future-cme-E3G": { "exchangeTimeZone": "America/New_York", "sunday": [ @@ -70038,6 +70154,7 @@ const NAMES = { "RTY": "E-mini Russell 2000 Index Futures", "YM": "E-mini Dow ($5) Futures", "VX": "VIX futures", + "VXM": "VIX Mini Futures", "E3G": "E-mini FTSE 100 GBP Futures", "ENY": "E-mini Nikkei YEN Futures", "NIY": "Nikkei/YEN Futures",