diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/01 Introduction.html
new file mode 100644
index 0000000000..6edd3cab57
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/01 Introduction.html
@@ -0,0 +1,3 @@
+
Factors by QuantConnect provides precomputed factors for individual US Equities plus unlinked factors that aren't tied to a tradable security, such as US Treasury yield curve rates. The data starts in 1998, covers every US Equity that has appeared in the SPY ETF constituents universe since August 2015, and is delivered on a daily frequency. This dataset is created by computing each factor from our own datasets with the same LEAN tooling an algorithm would use, so backtest and precomputed values match exactly.
+
+For more information about the Factors dataset, including CLI commands and pricing, see the dataset listing.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/03 Getting Started.html
new file mode 100644
index 0000000000..c524976e62
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/03 Getting Started.html
@@ -0,0 +1,17 @@
+
The following snippet demonstrates how to request data from the Factors dataset:
+
+
# Factors linked to a specific stock:
+self._equity = self.add_equity("AAPL", Resolution.DAILY)
+self._equity.factors = self.add_data(Factors, self._equity.symbol).symbol
+# Unlinked factors:
+self._unlinked_factors = self.add_data(Factors, Factors.UNLINKED).symbol
+# All factors:
+self._universe = self.add_universe(FactorsUniverse, self._select_assets)
+
// Factors linked to a specific stock:
+_equity = AddEquity("SPY", Resolution.Daily);
+_equityFactors = AddData<Factors>(_equity.Symbol).Symbol;
+// Unlinked factors:
+_unlinkedFactors = AddData<Factors>(Factors.Unlinked).Symbol;
+// All factors:
+_universe = AddUniverse<FactorsUniverse>(SelectAssets);
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/04 Data Summary.html
new file mode 100644
index 0000000000..bbdf965e8b
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/04 Data Summary.html
@@ -0,0 +1,15 @@
+The following table describes the dataset properties:
+
+| Property |
+ Value |
+
|---|
| Start Date |
+ January 1998 |
+
| Data Density |
+ Dense |
+
| Asset Coverage |
+ All US Equities in the SPY ETF, plus unlinked factors |
+
| Resolution |
+ Daily |
+
| Timezone |
+ New York |
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/05 Requesting Data.html
new file mode 100644
index 0000000000..c0f7ff9857
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/05 Requesting Data.html
@@ -0,0 +1,28 @@
+To add Factors data to your algorithm, call the AddDataadd_data method. For the factors linked to a specific Equity, pass the underlying Equity Symbol. For the unlinked factors, which aren't tied to any tradable security, pass Factors.UnlinkedFactors.UNLINKED. Save a reference to each dataset Symbol so you can access the data later in your algorithm.
+
+
+
class FactorsDataAlgorithm(QCAlgorithm):
+
+ def initialize(self) -> None:
+ self.set_start_date(2014, 3, 25)
+ self.set_end_date(2014, 4, 8)
+ self.set_cash(100000)
+ self._equity = self.add_equity("SPY", Resolution.DAILY)
+ self._equity.factors = self.add_data(Factors, self._equity.symbol).symbol
+ self._unlinked_factors = self.add_data(Factors, Factors.UNLINKED).symbol
+
public class FactorsDataAlgorithm : QCAlgorithm
+{
+ private Equity _equity;
+ private Symbol _equityFactors, _unlinkedFactors;
+
+ public override void Initialize()
+ {
+ SetStartDate(2014, 3, 25);
+ SetEndDate(2014, 4, 8);
+ SetCash(100000);
+ _equity = AddEquity("SPY", Resolution.Daily);
+ _equityFactors = AddData<Factors>(_equity.Symbol).Symbol;
+ _unlinkedFactors = AddData<Factors>(Factors.Unlinked).Symbol;
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/06 Accessing Data.html
new file mode 100644
index 0000000000..13f5411e8f
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/06 Accessing Data.html
@@ -0,0 +1,28 @@
+To get the current factor data, index the current Slice with the dataset Symbol.
+Slice objects deliver unique events to your algorithm as they happen, but the Slice may not contain data for your dataset at every time step. To avoid issues, check if the Slice contains the data you want before you index it. Each Factors object behaves like a dictionary, mapping the factor name to its value. Index the object with a factor name constant (for example, Factors.Technical.Roc1DayFactors.Technical.ROC_1_DAY is "technical_roc_1d") to get the value.
+
+
+
+
+
def on_data(self, data: Slice) -> None:
+ equity_factors = data.get(Factors).get(self._equity.factors)
+ if equity_factors:
+ value = equity_factors[Factors.ROC_1_DAY]
+
+ unlinked_factors = data.get(Factors).get(self._unlinked_factors)
+ if unlinked_factors:
+ ust_yield = unlinked_factors[Factors.UST_YIELD_1_MONTH]
+
public override void OnData(Slice data)
+{
+ if (data.Get<Factors>().TryGetValue(_equityFactors, out var equityFactors))
+ {
+ var value = equityFactors[Factors.Roc1Day];
+ }
+
+ if (data.Get<Factors>().TryGetValue(_unlinkedFactors, out var unlinkedFactors))
+ {
+ var ustYield = unlinkedFactors[Factors.UstYield1Month];
+ }
+}
+
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/07 Historical Data.html
new file mode 100644
index 0000000000..d04716c60a
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/07 Historical Data.html
@@ -0,0 +1,16 @@
+To get historical factor data, call the Historyhistory method with the dataset Symbol.
+If there is no data in the period you request, the history result is empty.
+
+
+
# DataFrames
+equity_factors_history_df = self.history(self._equity.factors, 100, Resolution.DAILY)
+unlinked_factors_history_df = self.history(self._unlinked_factors, 100, Resolution.DAILY)
+
+# Dataset objects
+equity_factors_history = self.history[Factors](self._equity.factors, 100, Resolution.DAILY)
+market_factors_history = self.history[Factors](self._unlinked_factors, 100, Resolution.DAILY)
+
var equityFactorsHistory = History<Factors>(_equityFactors, 100, Resolution.Daily);
+var unlinkedFactorsHistory = History<Factors>(_marketFactors, 100, Resolution.Daily);
+
+
+For more information about historical data, see History Requests.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/08 Universe Selection.html
new file mode 100644
index 0000000000..40d9e91edd
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/08 Universe Selection.html
@@ -0,0 +1,54 @@
+To select a dynamic universe of US Equities based on factor values, call the AddUniverseadd_universe method with the FactorsUniverse class and a selection function.
+
+
+
def initialize(self) -> None:
+ self._universe = self.add_universe(FactorsUniverse, self._select_assets)
+
+def _select_assets(self, data: List[FactorsUniverse]) -> List[Symbol]:
+ ust_yield = None
+ positive = []
+ negative = []
+ for factors in data:
+ if Factors.UST_YIELD_1_MONTH in factors.keys:
+ ust_yield = factors[Factors.UST_YIELD_1_MONTH]
+ elif Factors.ROC_1_DAY in factors.keys:
+ if factors[Factors.ROC_1_DAY] > 0:
+ positive.append(factors.symbol)
+ else:
+ negative.append(factors.symbol)
+ return positive if ust_yield < 4 else negative
+
private Universe _universe;
+
+public override void Initialize()
+{
+ _universe = AddUniverse<FactorsUniverse>(SelectAssets);
+}
+
+private IEnumerable<Symbol> SelectAssets(IEnumerable<BaseData> data)
+{
+ decimal? ustYield = null;
+ var positive = new List<Symbol>();
+ var negative = new List<Symbol>();
+ foreach (var factors in data.OfType<FactorsUniverse>())
+ {
+ if (factors.ContainsKey(Factors.UstYield1Month))
+ {
+ ustYield = factors[Factors.UstYield1Month];
+ }
+ else if (factors.ContainsKey(Factors.Roc1Day))
+ {
+ if (factors[Factors.Roc1Day] > 0)
+ {
+ positive.Add(factors.Symbol);
+ }
+ else
+ {
+ negative.Add(factors.Symbol);
+ }
+ }
+ }
+ return ustYield < 4 ? positive : negative;
+}
+
+
+For more information about dynamic universes, see Universes.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/09 Universe History.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/09 Universe History.html
new file mode 100644
index 0000000000..2e6f39288e
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/09 Universe History.html
@@ -0,0 +1,48 @@
+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 universeDay in universeHistory)
+{
+ foreach (FactorsUniverse factors in universeDay)
+ {
+ if (factors.TryGetValue(Factors.Roc1Day, out var value))
+ {
+ // ...
+ }
+ }
+}
+
# DataFrame example where the columns are the FactorsUniverse attributes:
+history_df = self.history(self._universe, 30, Resolution.DAILY, flatten=True)
+
+# Series example where the values are lists of FactorsUniverse objects:
+universe_history = self.history(self._universe, 30, Resolution.DAILY)
+for (_, time), universe_day in universe_history.items():
+ for factors in universe_day:
+ if Factors.ROC_1_DAY in factors.keys:
+ value = factors[Factors.ROC_1_DAY]
+
+
+Historical Universe Data in Research
+To get historical universe data in research, call the UniverseHistoryuniverse_history 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 universeDay in universeHistory)
+{
+ foreach (FactorsUniverse factors in universeDay)
+ {
+ if (factors.TryGetValue(Factors.Roc1Day, out var value))
+ {
+ // ...
+ }
+ }
+}
+
# DataFrame example where the columns are the FactorsUniverse attributes:
+history = qb.history(universe, qb.time - timedelta(30), qb.time, flatten=True)
+
+
+You can call the Historyhistory method in Research.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/10 Remove Subscriptions.html
new file mode 100644
index 0000000000..8d54690fe9
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/10 Remove Subscriptions.html
@@ -0,0 +1,8 @@
+To remove a subscription, call the RemoveSecurityremove_security method.
+
+
+
self.remove_security(self._equity.factors)
+
RemoveSecurity(_equityFactors);
+
+
+If you subscribe to Factors data for assets in a dynamic universe, remove the dataset subscription when the asset leaves your universe. To view a common design pattern, see Track Security Changes.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/11 Supported Factors.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/11 Supported Factors.html
new file mode 100644
index 0000000000..26a07d1ec3
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/11 Supported Factors.html
@@ -0,0 +1,29 @@
+The Factors and FactorsUniverse objects behave like a dictionary, mapping the factor name to its value. The Factors class provides name constants for every factor.
+
+Linked Factors
+Linked factors are factors that are tied to a specific tradable security. The Factors dataset provides the following linked factors for each US Equity:
+
+ Factors.ROC_1_DAYFactors.Roc1Day: 1-day rate of change of the closing price: close[t] / close[t-1] - 1
+ Factors.VOLATILITY_21_DAYFactors.Volatility21Day: 21-day realized volatility of daily returns: the standard deviation of 1-day closing-price returns over the trailing 21 days
+ Factors.VOLUME_Z_21_DAYFactors.VolumeZ21Day: 21-day volume z-score: the number of standard deviations the current trading volume sits above or below its trailing 21-day mean
+ Factors.MFI_21_DAYFactors.Mfi21Day: 21-day Money Flow Index: volume-weighted buying vs. selling pressure, from daily typical price changes signed and weighted by volume, accumulated over 21 sessions and bounded 0-100
+ Factors.MOM_12_MONTHFactors.Mom12Month: Twelve-month momentum skipping the most recent month: the stock's return over months t-11 through t-1, computed each session from LEAN's adjusted daily closes, from Jegadeesh and Titman (1993, JF), where higher values predicted higher returns
+ Factors.INT_MOMFactors.IntMom: Intermediate momentum: the stock's return over months t-12 through t-7, computed each session from LEAN's adjusted daily closes, from Novy-Marx (2012, JFE), where higher values predicted higher returns
+ Factors.MOM_12_MONTH_OFF_SEASONFactors.Mom12MonthOffSeason: Momentum without the seasonal month: the mean of the monthly returns of months t-1 through t-10, which leaves out the current month and month t-11, the month one year before the coming month, computed each session from LEAN's adjusted daily closes, from Heston and Sadka (2008, JFE), where higher values predicted higher returns
+ Factors.VOLUME_TRENDFactors.VolumeTrend: Volume trend: the slope of a regression of monthly volume on a linear time trend over the trailing 60 months, divided by the mean monthly volume over those months, computed each session from LEAN's split- and dividend-adjusted daily volume with 21 sessions to a month and at least 30 months required, from Haugen and Baker (1996, JFE), where higher values predicted lower returns
+ Factors.MOM_SEASON_SHORTFactors.MomSeasonShort: Return seasonality last year: the stock's return over the 21 sessions from 252 to 231 sessions ago, the month one year before the coming month, computed each session from LEAN's adjusted daily closes, from Heston and Sadka (2008, JFE), where higher values predicted higher returns
+ Factors.ILLIQUIDITYFactors.Illiquidity: Amihud illiquidity: the mean over the past 12 months of the daily ratio of the absolute return to the dollar volume traded, computed each session from LEAN's adjusted daily bars, from Amihud (2002, JFM), where higher values predicted higher returns
+ Factors.FINRA_SHORT_SALE_VOLUME_SHORT_VOLUME_RATIO_SMA_21_DAYFactors.FinraShortSaleVolumeShortVolumeRatioSma21Day: 21-day simple moving average of the FINRA Reg SHO daily short volume ratio: the share (0-1) of a security's off-exchange reported volume executed as short sales during regular trading hours
+ Factors.SPECTRAL_TICK_FLOW_SIGNAL_EXECUTION_SCOREFactors.SpectralTickFlowSignalExecutionScore: Normalized strength (non-negative) of the strongest recurring intraday execution rhythm in the security's daily tick flow, from a Fourier transform-like spectral decomposition of daily trades; higher means trade flow more strongly backed by an active, repeating execution signature
+ Factors.EARNING_YIELDFactors.EarningYield: Trailing earnings yield: Morningstar's ValuationRatios.EarningYield, diluted EPS divided by price (the inverse trailing P/E), so higher values indicate cheaper stocks relative to trailing earnings
+
+
+Unlinked Factors
+Unlinked factors are factors that aren't tied to a specific tradable security, like weather data or interest rates. The Factors dataset provides the following unlinked factors:
+
+ Factors.UST_YIELD_1_MONTHFactors.UstYield1Month: 1-month US Treasury yield curve rate, as published daily at 4:30 PM New York time
+ Factors.VIXFactors.Vix: CBOE Volatility Index (VIX) daily close: the market's expectation of 30-day S&P 500 volatility implied by index option prices, in annualized percentage points
+ Factors.WTI_CRUDE_OILFactors.WtiCrudeOil: WTI crude oil price: the daily mid close of Oanda's West Texas Oil CFD, in US dollars per barrel, a continuous quote that tracks the front NYMEX contract without roll jumps
+ Factors.MONETARY_CYCLEFactors.MonetaryCycle: Monetary cycle: the monetary environment of Jensen, Mercer and Johnson (1996), +1 while the most recent change in the Federal Reserve's primary credit rate was a decrease (expansive) and -1 while it was an increase (restrictive), read from LEAN's risk-free interest rate model for every calendar day at midnight New York; the state flips on the day the model's rate changes
+ Factors.M_2_GROWTH_1_MONTHFactors.M2Growth1Month: M2 money supply growth from one monthly release to the next: the Federal Reserve's seasonally adjusted monthly M2 over its value for the month before, minus one, from FRED's series M2SL as currently revised; each month's value is stamped at 13:00 New York on the fourth Tuesday of the following month, when the Federal Reserve's H.6 release publishes it
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/98 Example Applications.html
new file mode 100644
index 0000000000..aac7b08309
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/98 Example Applications.html
@@ -0,0 +1,701 @@
+
+The QuantConnect Factors dataset enables researchers to accurately design strategies harnessing precomputed, point-in-time factor values. Examples include:
+
+
+Factor momentum: weight each factor by its recent performance and form a long-short portfolio of the top-ranked stocks and bottom-ranked stocks
+Momentum rotation: rank the universe by 1-day rate of change and hold the leaders
+Rate regime filters: scale Equity exposure with the level of the 1-month US Treasury yield
+
+Classic Algorithm Example
+The following example algorithm ranks the S&P 500 constituents on every linked factor each day and weights each factor by how it performed over the trailing year in market conditions like today's, as measured by unlinked factors such as the VIX and the 1-month Treasury yield. It then buys the 5% of constituents with the highest weighted-rank scores, sizes each position by its score, and rebalances at every market open.
+
+
+
# region imports
+from AlgorithmImports import *
+from collections import deque
+from datetime import date
+from scipy.stats import rankdata
+# endregion
+
+
+class DaySnapshot:
+ """What the algorithm knows about one trading day before its open."""
+
+ def __init__(self, day: date, symbols: List[Symbol], ranks: np.ndarray, active: np.ndarray, unlinked: np.ndarray) -> None:
+ self.day = day # the trading day
+ self.symbols = symbols # S&P 500 constituents of the day
+ self.ranks = ranks # scaled ranks: one row per constituent, one column per linked factor
+ self.active = active # linked factors with ranks that day
+ self.unlinked = unlinked # unlinked factor values known before the open
+
+
+class FactorsPortfolioAlgorithm(QCAlgorithm):
+ """Conditional multi-factor long-only portfolio on the QuantConnect Factors dataset.
+
+ Every trading day before the open, the algorithm ranks the S&P 500 constituents on each
+ linked factor, measures each factor's daily payoff with a cross-sectional regression of
+ open-to-open returns on all the ranks at once, and predicts each factor's payoff from its
+ trailing-year payoffs, conditioned on the standardized unlinked factors. A stock's score is
+ its predicted open-to-open return relative to the day's average. The algorithm holds the
+ top 5% of the scores, weighted by score and fully invested.
+ """
+
+ _MONTH = 21 # sessions in the dataset's month
+ _LOOKBACK = 12 * _MONTH # complete days in the estimation window
+ _TAIL_FRACTION = 0.05 # share of the eligible stocks the portfolio holds
+
+ def initialize(self) -> None:
+ self.set_start_date(2024, 11, 1)
+ self.set_end_date(2026, 10, 1)
+ self.set_cash(10_000_000)
+ self.settings.seed_initial_prices = True
+ self.universe_settings.resolution = Resolution.DAILY
+ self._linked = list(Factors.EQUITY_FACTOR_NAMES)
+ self._unlinked = list(Factors.UNLINKED_FACTOR_NAMES)
+ self._members = {} # constituent -> linked factor values, from the latest universe data
+ self._new_data = False # whether universe data arrived since the last rebalance
+ self._unlinked_values = {} # most recent value of each unlinked factor
+ self._opens = {} # session date -> {symbol: open price}
+ self._days = deque(maxlen=2) # the last two trading days, kept until their returns are complete
+ self._payoffs = deque(maxlen=self._LOOKBACK) # (day, payoff of each linked factor, unlinked values)
+ self._first_payoff = {} # linked factor index -> day of its first payoff
+ self.add_universe(FactorsUniverse, self._select)
+ self.schedule.on(self.date_rules.every_day("SPY"), self.time_rules.at(8, 0), self._rebalance)
+ # The estimation window comes from the year before the start date.
+ self.set_warm_up(timedelta(days=380))
+
+ def _select(self, rows: List[Factors]) -> List[Symbol]:
+ previous = set(self._members)
+ members = {}
+ for row in rows:
+ keys = set(row.keys)
+ if row.is_unlinked:
+ self._unlinked_values.update({name: float(row[name]) for name in self._unlinked if name in keys})
+ else:
+ members[row.symbol] = {name: float(row[name]) for name in self._linked if name in keys}
+ self._members = members
+ self._new_data = True
+ # Keep the previous constituents subscribed one more session, so a stock that leaves the
+ # index still has the next open that completes its last open-to-open return.
+ return list(previous | set(members))
+
+ def on_data(self, slice: Slice) -> None:
+ for symbol, bar in slice.bars.items():
+ if not bar.is_fill_forward:
+ self._opens.setdefault(bar.time.date(), {})[symbol] = bar.open
+
+ def _rebalance(self) -> None:
+ # The day two sessions back now has a complete open-to-open return.
+ if len(self._days) == 2:
+ self._record_payoff(*self._days)
+ today = self._snapshot()
+ self._days.append(today)
+ if self.is_warming_up or today.ranks is None:
+ return
+ model = self._factor_weights(today.unlinked)
+ if model is None:
+ return
+ carried, weights = model
+ targets = self._targets(today, carried, weights)
+ names = [name for name, keep in zip(self._linked, carried) if keep]
+ for name, weight in zip(names, weights):
+ self.plot("Factor Weights", name, float(weight))
+ self.set_holdings(targets, liquidate_existing_holdings=True)
+
+ def _snapshot(self) -> DaySnapshot:
+ unlinked = np.array([self._unlinked_values.get(name, np.nan) for name in self._unlinked])
+ if not self._new_data:
+ return DaySnapshot(self.time.date(), [], None, None, unlinked)
+ self._new_data = False
+ symbols = list(self._members)
+ ranks = np.zeros((len(symbols), len(self._linked)))
+ active = np.zeros(len(self._linked), dtype=bool)
+ for k, name in enumerate(self._linked):
+ rows = [i for i, symbol in enumerate(symbols) if name in self._members[symbol]]
+ if len(rows) < 2:
+ continue
+ values = [self._members[symbols[i]][name] for i in rows]
+ # Ranks scaled to run from -1/2 to 1/2; a constituent without a value keeps the middle rank, 0.
+ ranks[rows, k] = (rankdata(values) - 1) / (len(rows) - 1) - 0.5
+ active[k] = True
+ if not active.any():
+ return DaySnapshot(self.time.date(), symbols, None, None, unlinked)
+ return DaySnapshot(self.time.date(), symbols, ranks, active, unlinked)
+
+ def _record_payoff(self, day: DaySnapshot, next_day: DaySnapshot) -> None:
+ start_opens = self._opens.pop(day.day, {})
+ end_opens = self._opens.get(next_day.day, {})
+ for stale in [session for session in self._opens if session < next_day.day]:
+ del self._opens[stale]
+ if day.ranks is None:
+ return
+ rows, returns = [], []
+ for i, symbol in enumerate(day.symbols):
+ start, end = start_opens.get(symbol), end_opens.get(symbol)
+ if start and end:
+ rows.append(i)
+ returns.append(end / start - 1)
+ if not rows:
+ return
+ # Regress the open-to-open returns on all active factors' ranks at once, with an intercept.
+ columns = np.flatnonzero(day.active)
+ design = np.column_stack([np.ones(len(rows)), day.ranks[np.ix_(rows, columns)]])
+ coefficients = np.linalg.lstsq(design, np.array(returns), rcond=None)[0]
+ payoff = np.full(len(self._linked), np.nan)
+ payoff[columns] = coefficients[1:]
+ self._payoffs.append((day.day, payoff, day.unlinked))
+ for k in columns:
+ self._first_payoff.setdefault(k, day.day)
+
+ def _factor_weights(self, unlinked_today: np.ndarray) -> tuple[np.ndarray, np.ndarray] | None:
+ """The linked factors that carry weight today, and the predicted payoff of each."""
+ if len(self._payoffs) < self._LOOKBACK:
+ return None
+ window_start = self._payoffs[0][0]
+ # A linked factor carries weight once its payoff history spans the full window.
+ carried = np.array([k in self._first_payoff and self._first_payoff[k] <= window_start for k in range(len(self._linked))])
+ if not carried.any():
+ return None
+ payoffs = np.array([payoff for _, payoff, _ in self._payoffs])[:, carried]
+ unlinked = np.array([values for _, _, values in self._payoffs])
+ rows = ~np.isnan(payoffs).any(axis=1)
+ # An unlinked factor takes part when it has values throughout the window and today, and it moved.
+ known = ~np.isnan(unlinked).any(axis=0) & ~np.isnan(unlinked_today)
+ mean = unlinked[:, known].mean(axis=0)
+ std = unlinked[:, known].std(axis=0)
+ moved = std > 0
+ z = (unlinked[:, known][:, moved] - mean[moved]) / std[moved]
+ z_today = (unlinked_today[known][moved] - mean[moved]) / std[moved]
+ design = np.column_stack([np.ones(rows.sum()), z[rows]])
+ # The fit needs more complete days than coefficients.
+ if len(design) <= design.shape[1]:
+ return None
+ # Regress each factor's payoffs on the standardized unlinked values and predict at today's values.
+ coefficients = np.linalg.lstsq(design, payoffs[rows], rcond=None)[0]
+ point = np.concatenate([[1.0], z_today])
+ return carried, point @ coefficients
+
+ def _targets(self, today: DaySnapshot, carried: np.ndarray, weights: np.ndarray) -> List[PortfolioTarget]:
+ eligible = [
+ i for i, symbol in enumerate(today.symbols)
+ if symbol in self.securities and self.securities[symbol].is_tradable and self.securities[symbol].price > 0
+ ]
+ if not eligible:
+ return []
+ scores = today.ranks[eligible][:, carried] @ weights
+ # Hold the highest tail of the scores, each stock weighted by its score above the day's average.
+ excess = scores - scores.mean()
+ count = int(len(eligible) * self._TAIL_FRACTION)
+ top = np.argsort(excess)[len(eligible) - count:]
+ positions = np.zeros(len(eligible))
+ positions[top] = np.maximum(excess[top], 0)
+ total = positions.sum()
+ if total == 0:
+ return []
+ positions = positions / total
+ return [PortfolioTarget(today.symbols[i], weight) for i, weight in zip(eligible, positions) if weight != 0]
+
#region imports
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MathNet.Numerics.LinearAlgebra;
+using QuantConnect.Algorithm.Framework.Portfolio;
+using QuantConnect.Data;
+using QuantConnect.DataSource;
+#endregion
+
+namespace QuantConnect.Algorithm.CSharp
+{
+ /// <summary>
+ /// What the algorithm knows about one trading day before its open.
+ /// </summary>
+ public class DaySnapshot
+ {
+ public DateTime Day; // the trading day
+ public List<Symbol> Symbols; // S&P 500 constituents of the day
+ public double[,] Ranks; // scaled ranks: one row per constituent, one column per linked factor
+ public bool[] Active; // linked factors with ranks that day
+ public double[] Unlinked; // unlinked factor values known before the open
+ }
+
+ /// <summary>
+ /// Conditional multi-factor long-only portfolio on the QuantConnect Factors dataset.
+ ///
+ /// Every trading day before the open, the algorithm ranks the S&P 500 constituents on each
+ /// linked factor, measures each factor's daily payoff with a cross-sectional regression of
+ /// open-to-open returns on all the ranks at once, and predicts each factor's payoff from its
+ /// trailing-year payoffs, conditioned on the standardized unlinked factors. A stock's score is
+ /// its predicted open-to-open return relative to the day's average. The algorithm holds the
+ /// top 5% of the scores, weighted by score and fully invested.
+ /// </summary>
+ public class FactorsPortfolioAlgorithm : QCAlgorithm
+ {
+ private const int Month = 21; // sessions in the dataset's month
+ private const int Lookback = 12 * Month; // complete days in the estimation window
+ private const double TailFraction = 0.05; // share of the eligible stocks the portfolio holds
+
+ private string[] _linked;
+ private string[] _unlinked;
+ // constituent -> linked factor values, from the latest universe data
+ private Dictionary<Symbol, Dictionary<string, double>> _members = new();
+ // the constituents in the universe data's order
+ private List<Symbol> _memberOrder = new();
+ // whether universe data arrived since the last rebalance
+ private bool _newData;
+ // most recent value of each unlinked factor
+ private readonly Dictionary<string, double> _unlinkedValues = new();
+ // session date -> {symbol: open price}
+ private readonly Dictionary<DateTime, Dictionary<Symbol, decimal>> _opens = new();
+ // the last two trading days, kept until their returns are complete
+ private readonly List<DaySnapshot> _days = new();
+ // (day, payoff of each linked factor, unlinked values) of the Lookback most recent complete days
+ private readonly List<(DateTime Day, double[] Payoff, double[] Unlinked)> _payoffs = new();
+ // linked factor index -> day of its first payoff
+ private readonly Dictionary<int, DateTime> _firstPayoff = new();
+
+ public override void Initialize()
+ {
+ SetStartDate(2024, 11, 1);
+ SetEndDate(2026, 10, 1);
+ SetCash(10_000_000);
+ Settings.SeedInitialPrices = true;
+ UniverseSettings.Resolution = Resolution.Daily;
+ _linked = Factors.EquityFactorNames;
+ _unlinked = Factors.UnlinkedFactorNames;
+ AddUniverse<FactorsUniverse>(Select);
+ Schedule.On(DateRules.EveryDay("SPY"), TimeRules.At(8, 0), Rebalance);
+ // The estimation window comes from the year before the start date.
+ SetWarmUp(TimeSpan.FromDays(380));
+ }
+
+ private IEnumerable<Symbol> Select(IEnumerable<BaseData> rows)
+ {
+ var selected = _members.Keys.ToHashSet();
+ var members = new Dictionary<Symbol, Dictionary<string, double>>();
+ var order = new List<Symbol>();
+ foreach (var row in rows.OfType<Factors>())
+ {
+ if (row.IsUnlinked)
+ {
+ foreach (var name in _unlinked)
+ {
+ if (row.TryGetValue(name, out var value))
+ {
+ _unlinkedValues[name] = (double)value;
+ }
+ }
+ continue;
+ }
+ var values = new Dictionary<string, double>();
+ foreach (var name in _linked)
+ {
+ if (row.TryGetValue(name, out var value))
+ {
+ values[name] = (double)value;
+ }
+ }
+ if (members.TryAdd(row.Symbol, values))
+ {
+ order.Add(row.Symbol);
+ }
+ }
+ _members = members;
+ _memberOrder = order;
+ _newData = true;
+ // Keep the previous constituents subscribed one more session, so a stock that leaves the
+ // index still has the next open that completes its last open-to-open return.
+ selected.UnionWith(order);
+ return selected;
+ }
+
+ public override void OnData(Slice slice)
+ {
+ foreach (var bar in slice.Bars.Values)
+ {
+ if (bar.IsFillForward)
+ {
+ continue;
+ }
+ if (!_opens.TryGetValue(bar.Time.Date, out var opens))
+ {
+ _opens[bar.Time.Date] = opens = new Dictionary<Symbol, decimal>();
+ }
+ opens[bar.Symbol] = bar.Open;
+ }
+ }
+
+ private void Rebalance()
+ {
+ // The day two sessions back now has a complete open-to-open return.
+ if (_days.Count == 2)
+ {
+ RecordPayoff(_days[0], _days[1]);
+ _days.RemoveAt(0);
+ }
+ var today = Snapshot();
+ _days.Add(today);
+ if (IsWarmingUp || today.Ranks == null)
+ {
+ return;
+ }
+ var model = FactorWeights(today.Unlinked);
+ if (model == null)
+ {
+ return;
+ }
+ var (carried, weights) = model.Value;
+ var targets = Targets(today, carried, weights);
+ var names = _linked.Where((name, k) => carried[k]).ToArray();
+ for (var j = 0; j < names.Length; j++)
+ {
+ Plot("Factor Weights", names[j], weights[j]);
+ }
+ SetHoldings(targets, liquidateExistingHoldings: true);
+ }
+
+ private DaySnapshot Snapshot()
+ {
+ var unlinked = _unlinked
+ .Select(name => _unlinkedValues.TryGetValue(name, out var value) ? value : double.NaN)
+ .ToArray();
+ if (!_newData)
+ {
+ return new DaySnapshot { Day = Time.Date, Symbols = new List<Symbol>(), Unlinked = unlinked };
+ }
+ _newData = false;
+ var symbols = _memberOrder;
+ var ranks = new double[symbols.Count, _linked.Length];
+ var active = new bool[_linked.Length];
+ for (var k = 0; k < _linked.Length; k++)
+ {
+ var name = _linked[k];
+ var rows = Enumerable.Range(0, symbols.Count)
+ .Where(i => _members[symbols[i]].ContainsKey(name))
+ .ToList();
+ if (rows.Count < 2)
+ {
+ continue;
+ }
+ var rank = AverageRanks(rows.Select(i => _members[symbols[i]][name]).ToArray());
+ // Ranks scaled to run from -1/2 to 1/2; a constituent without a value keeps the middle rank, 0.
+ for (var j = 0; j < rows.Count; j++)
+ {
+ ranks[rows[j], k] = (rank[j] - 1) / (rows.Count - 1) - 0.5;
+ }
+ active[k] = true;
+ }
+ if (!active.Any(isActive => isActive))
+ {
+ return new DaySnapshot { Day = Time.Date, Symbols = symbols, Unlinked = unlinked };
+ }
+ return new DaySnapshot { Day = Time.Date, Symbols = symbols, Ranks = ranks, Active = active, Unlinked = unlinked };
+ }
+
+ // Ranks from 1 for the lowest value to n for the highest; tied values share their average rank.
+ private static double[] AverageRanks(double[] values)
+ {
+ var order = Enumerable.Range(0, values.Length).OrderBy(i => values[i]).ToArray();
+ var ranks = new double[values.Length];
+ var start = 0;
+ while (start < order.Length)
+ {
+ var end = start;
+ while (end + 1 < order.Length && values[order[end + 1]] == values[order[start]])
+ {
+ end++;
+ }
+ for (var j = start; j <= end; j++)
+ {
+ ranks[order[j]] = (start + end) / 2.0 + 1;
+ }
+ start = end + 1;
+ }
+ return ranks;
+ }
+
+ private void RecordPayoff(DaySnapshot day, DaySnapshot nextDay)
+ {
+ _opens.Remove(day.Day, out var startOpens);
+ _opens.TryGetValue(nextDay.Day, out var endOpens);
+ foreach (var stale in _opens.Keys.Where(session => session < nextDay.Day).ToList())
+ {
+ _opens.Remove(stale);
+ }
+ if (day.Ranks == null || startOpens == null || endOpens == null)
+ {
+ return;
+ }
+ var rows = new List<int>();
+ var returns = new List<double>();
+ for (var i = 0; i < day.Symbols.Count; i++)
+ {
+ if (startOpens.TryGetValue(day.Symbols[i], out var start) && start != 0
+ && endOpens.TryGetValue(day.Symbols[i], out var end) && end != 0)
+ {
+ rows.Add(i);
+ returns.Add((double)end / (double)start - 1);
+ }
+ }
+ if (rows.Count == 0)
+ {
+ return;
+ }
+ // Regress the open-to-open returns on all active factors' ranks at once, with an intercept.
+ var columns = Enumerable.Range(0, _linked.Length).Where(k => day.Active[k]).ToArray();
+ var design = Matrix<double>.Build.Dense(rows.Count, columns.Length + 1,
+ (i, j) => j == 0 ? 1 : day.Ranks[rows[i], columns[j - 1]]);
+ var coefficients = design.PseudoInverse() * Vector<double>.Build.DenseOfEnumerable(returns);
+ var payoff = Enumerable.Repeat(double.NaN, _linked.Length).ToArray();
+ for (var j = 0; j < columns.Length; j++)
+ {
+ payoff[columns[j]] = coefficients[j + 1];
+ _firstPayoff.TryAdd(columns[j], day.Day);
+ }
+ _payoffs.Add((day.Day, payoff, day.Unlinked));
+ if (_payoffs.Count > Lookback)
+ {
+ _payoffs.RemoveAt(0);
+ }
+ }
+
+ // The linked factors that carry weight today, and the predicted payoff of each.
+ private (bool[] Carried, double[] Weights)? FactorWeights(double[] unlinkedToday)
+ {
+ if (_payoffs.Count < Lookback)
+ {
+ return null;
+ }
+ var windowStart = _payoffs[0].Day;
+ // A linked factor carries weight once its payoff history spans the full window.
+ var carried = Enumerable.Range(0, _linked.Length)
+ .Select(k => _firstPayoff.TryGetValue(k, out var first) && first <= windowStart)
+ .ToArray();
+ var factors = Enumerable.Range(0, _linked.Length).Where(k => carried[k]).ToArray();
+ if (factors.Length == 0)
+ {
+ return null;
+ }
+ var rows = _payoffs.Where(day => factors.All(k => !double.IsNaN(day.Payoff[k]))).ToList();
+ // An unlinked factor takes part when it has values throughout the window and today, and it moved.
+ var conditions = new List<(int Index, double Mean, double Std)>();
+ for (var j = 0; j < _unlinked.Length; j++)
+ {
+ var index = j;
+ if (double.IsNaN(unlinkedToday[index]) || _payoffs.Any(day => double.IsNaN(day.Unlinked[index])))
+ {
+ continue;
+ }
+ var mean = _payoffs.Average(day => day.Unlinked[index]);
+ var std = Math.Sqrt(_payoffs.Average(day => Math.Pow(day.Unlinked[index] - mean, 2)));
+ if (std > 0)
+ {
+ conditions.Add((index, mean, std));
+ }
+ }
+ var design = Matrix<double>.Build.Dense(rows.Count, conditions.Count + 1,
+ (i, j) => j == 0 ? 1 : (rows[i].Unlinked[conditions[j - 1].Index] - conditions[j - 1].Mean) / conditions[j - 1].Std);
+ // The fit needs more complete days than coefficients.
+ if (design.RowCount <= design.ColumnCount)
+ {
+ return null;
+ }
+ // Regress each factor's payoffs on the standardized unlinked values and predict at today's values.
+ var payoffs = Matrix<double>.Build.Dense(rows.Count, factors.Length, (i, j) => rows[i].Payoff[factors[j]]);
+ var coefficients = design.PseudoInverse() * payoffs;
+ var point = Vector<double>.Build.Dense(conditions.Count + 1,
+ j => j == 0 ? 1 : (unlinkedToday[conditions[j - 1].Index] - conditions[j - 1].Mean) / conditions[j - 1].Std);
+ return (carried, (coefficients.Transpose() * point).ToArray());
+ }
+
+ private List<PortfolioTarget> Targets(DaySnapshot today, bool[] carried, double[] weights)
+ {
+ var eligible = Enumerable.Range(0, today.Symbols.Count)
+ .Where(i => Securities.TryGetValue(today.Symbols[i], out var security) && security.IsTradable && security.Price > 0)
+ .ToList();
+ if (eligible.Count == 0)
+ {
+ return new List<PortfolioTarget>();
+ }
+ var factors = Enumerable.Range(0, _linked.Length).Where(k => carried[k]).ToArray();
+ var scores = eligible
+ .Select(i => factors.Select((k, j) => today.Ranks[i, k] * weights[j]).Sum())
+ .ToArray();
+ // Hold the highest tail of the scores, each stock weighted by its score above the day's average.
+ var mean = scores.Average();
+ var excess = scores.Select(score => score - mean).ToArray();
+ var count = (int)(eligible.Count * TailFraction);
+ var top = Enumerable.Range(0, eligible.Count)
+ .OrderBy(i => excess[i])
+ .Skip(eligible.Count - count)
+ .ToHashSet();
+ var positions = excess.Select((value, i) => top.Contains(i) ? Math.Max(value, 0) : 0).ToArray();
+ var total = positions.Sum();
+ if (total == 0)
+ {
+ return new List<PortfolioTarget>();
+ }
+ return eligible
+ .Select((i, j) => (Symbol: today.Symbols[i], Weight: positions[j] / total))
+ .Where(target => target.Weight != 0)
+ .Select(target => new PortfolioTarget(target.Symbol, (decimal)target.Weight))
+ .ToList();
+ }
+ }
+}
+
+Framework Algorithm Example
+The following example algorithm selects the SPY constituents, the dataset's coverage universe. The Alpha model emits daily ROC-weighted insights for the Equities that moved more than 1% over the last trading session, targeting only long positions while the 1-month US Treasury yield is below 4% and only short positions otherwise.
+
+
+
from AlgorithmImports import *
+
+
+class FactorsFrameworkAlgorithm(QCAlgorithm):
+
+ def initialize(self) -> None:
+ self.set_start_date(2025, 9, 1)
+ self.set_end_date(2025, 12, 31)
+ self.set_cash(10_000_000)
+
+ self.universe_settings.resolution = Resolution.DAILY
+ self.add_universe_selection(ETFConstituentsUniverseSelectionModel("SPY"))
+ self.add_alpha(FactorsAlphaModel(self))
+ self.set_portfolio_construction(InsightWeightingPortfolioConstructionModel())
+
+
+class FactorsAlphaModel(AlphaModel):
+
+ def __init__(self, algorithm: QCAlgorithm) -> None:
+ self._unlinked_factors = algorithm.add_data(Factors, Factors.UNLINKED).symbol
+ self._roc_by_symbol = {}
+
+ def update(self, algorithm: QCAlgorithm, data: Slice) -> List[Insight]:
+ # Cache the Equities that moved more than 1%. Their factors arrive with
+ # the session's 4PM close, ahead of the unlinked factors row.
+ for symbol, factors in data.get(Factors).items():
+ if Factors.ROC_1_DAY in factors.keys and abs(factors[Factors.ROC_1_DAY]) > 0.01:
+ self._roc_by_symbol[symbol.underlying] = factors[Factors.ROC_1_DAY]
+
+ # The unlinked factors arrive at 4:30PM, when the US Treasury publishes
+ # the daily yield curve rates, completing the session's signals.
+ unlinked_factors = data.get(Factors).get(self._unlinked_factors)
+ if not unlinked_factors or Factors.UST_YIELD_1_MONTH not in unlinked_factors.keys:
+ return []
+
+ # Consume the session's cache so stale values never roll into the
+ # next emission.
+ roc_by_symbol = self._roc_by_symbol
+ self._roc_by_symbol = {}
+
+ # While short-term rates are low, only target long assets. Otherwise,
+ # only target short assets.
+ if unlinked_factors[Factors.UST_YIELD_1_MONTH] < 4:
+ direction = InsightDirection.UP
+ selected = {s: roc for s, roc in roc_by_symbol.items() if roc > 0}
+ else:
+ direction = InsightDirection.DOWN
+ selected = {s: roc for s, roc in roc_by_symbol.items() if roc < 0}
+ if not selected:
+ return []
+
+ # Weight each insight by the magnitude of the asset's ROC.
+ total_roc = sum(abs(roc) for roc in selected.values())
+ return [
+ Insight.price(symbol, timedelta(1), direction, weight=abs(roc)/total_roc)
+ for symbol, roc in selected.items()
+ ]
+
+ def on_securities_changed(self, algorithm: QCAlgorithm, changes: SecurityChanges) -> None:
+ for security in changes.added_securities:
+ security.factors = algorithm.add_data(Factors, security.symbol).symbol
+ for security in changes.removed_securities:
+ algorithm.remove_security(security.factors)
+ self._roc_by_symbol.pop(security.symbol, None)
+
public class FactorsFrameworkAlgorithm : QCAlgorithm
+{
+ public override void Initialize()
+ {
+ SetStartDate(2025, 9, 1);
+ SetEndDate(2025, 12, 31);
+ SetCash(10000000);
+
+ UniverseSettings.Resolution = Resolution.Daily;
+ AddUniverseSelection(new ETFConstituentsUniverseSelectionModel("SPY"));
+ AddAlpha(new FactorsAlphaModel(this));
+ SetPortfolioConstruction(new InsightWeightingPortfolioConstructionModel());
+ }
+}
+
+public class FactorsAlphaModel : AlphaModel
+{
+ private readonly Symbol _unlinkedFactors;
+ private Dictionary<Symbol, decimal> _rocBySymbol = new Dictionary<Symbol, decimal>();
+
+ public FactorsAlphaModel(QCAlgorithm algorithm)
+ {
+ _unlinkedFactors = algorithm.AddData<Factors>(Factors.Unlinked).Symbol;
+ }
+
+ public override IEnumerable<Insight> Update(QCAlgorithm algorithm, Slice data)
+ {
+ // Cache the Equities that moved more than 1%. Their factors arrive with
+ // the session's 4PM close, ahead of the unlinked factors row.
+ foreach (var factors in data.Get<Factors>().Values)
+ {
+ if (factors.ContainsKey(Factors.Roc1Day) && Math.Abs(factors[Factors.Roc1Day]) > 0.01m)
+ {
+ _rocBySymbol[factors.Symbol.Underlying] = factors[Factors.Roc1Day];
+ }
+ }
+
+ // The unlinked factors arrive at 4:30PM, when the US Treasury publishes
+ // the daily yield curve rates, completing the session's signals.
+ if (!data.Get<Factors>().TryGetValue(_unlinkedFactors, out var unlinkedFactors) || !unlinkedFactors.ContainsKey(Factors.UstYield1Month))
+ {
+ return Enumerable.Empty<Insight>();
+ }
+
+ // Consume the session's cache so stale values never roll into the
+ // next emission.
+ var rocBySymbol = _rocBySymbol;
+ _rocBySymbol = new Dictionary<Symbol, decimal>();
+
+ // While short-term rates are low, only target long assets. Otherwise,
+ // only target short assets.
+ InsightDirection direction;
+ List<KeyValuePair<Symbol, decimal>> selected;
+ if (unlinkedFactors[Factors.UstYield1Month] < 4)
+ {
+ direction = InsightDirection.Up;
+ selected = rocBySymbol.Where(kvp => kvp.Value > 0).ToList();
+ }
+ else
+ {
+ direction = InsightDirection.Down;
+ selected = rocBySymbol.Where(kvp => kvp.Value < 0).ToList();
+ }
+ if (selected.Count == 0)
+ {
+ return Enumerable.Empty<Insight>();
+ }
+
+ // Weight each insight by the magnitude of the asset's ROC.
+ var totalRoc = selected.Sum(kvp => Math.Abs(kvp.Value));
+ return selected.Select(kvp =>
+ Insight.Price(kvp.Key, TimeSpan.FromDays(1), direction, weight: (double)(Math.Abs(kvp.Value) / totalRoc)));
+ }
+
+ public override void OnSecuritiesChanged(QCAlgorithm algorithm, SecurityChanges changes)
+ {
+ foreach (dynamic security in changes.AddedSecurities)
+ {
+ security.Factors = algorithm.AddData<Factors>(security.Symbol).Symbol;
+ }
+ foreach (dynamic security in changes.RemovedSecurities)
+ {
+ algorithm.RemoveSecurity(security.Factors);
+ _rocBySymbol.Remove(security.Symbol);
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/99 Data Point Attributes.html
new file mode 100644
index 0000000000..8da14fbaea
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/99 Data Point Attributes.html
@@ -0,0 +1,9 @@
+The Factors dataset provides Factors and FactorsUniverse objects.
+
+Factors Attributes
+Factors objects has the following attributes:
+
+
+FactorsUniverse Attributes
+FactorsUniverse objects has the following attributes:
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/metadata.json
new file mode 100644
index 0000000000..69c1641b8d
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Factors/metadata.json
@@ -0,0 +1,12 @@
+{
+ "type": "metadata",
+ "values": {
+ "description": "Factors dataset from QuantConnect.",
+ "keywords": "data, financial data, alternative dataset",
+ "og:description": "Factors dataset from QuantConnect.",
+ "og:title": "Factors - Documentation QuantConnect.com",
+ "og:type": "website",
+ "og:site_name": "Factors - QuantConnect.com",
+ "og:image": "https://cdn.quantconnect.com/docs/i/writing-algorithms/datasets/quantconnect/factors.png"
+ }
+}
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/13 Fama French/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fama French/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/08 Remove Subscription.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/08 Remove Subscription.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/08 Remove Subscription.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/08 Remove Subscription.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/14 Fear and Greed/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 Fear and Greed/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/08 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/08 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/08 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/08 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/15 International Future Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 International Future Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/09 Universe History.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/11 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/11 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/11 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/11 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/16 Kraken Crypto Price Data/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Kraken Crypto Price Data/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/09 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/09 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/09 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/17 Spectral Tick Flow Signal/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 Spectral Tick Flow Signal/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/08 Supported ETFs.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/08 Supported ETFs.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/08 Supported ETFs.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/08 Supported ETFs.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/09 Downloading Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/09 Downloading Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/09 Downloading Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/09 Downloading Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/18 US ETF Constituents/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US ETF Constituents/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/19 US Equities Short Availability/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equities Short Availability/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/08 Downloading Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/08 Downloading Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/08 Downloading Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/08 Downloading Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/20 US Equity Coarse Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Coarse Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/08 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/08 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/08 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/08 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/21 US Equity Option Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Option Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/03 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/03 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/03 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/03 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/04 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/04 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/04 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/04 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/05 Accessing Splits.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/05 Accessing Splits.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/05 Accessing Splits.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/05 Accessing Splits.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/06 Accessing Dividends.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/06 Accessing Dividends.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/06 Accessing Dividends.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/06 Accessing Dividends.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/07 Accessing Delistings.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/07 Accessing Delistings.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/07 Accessing Delistings.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/07 Accessing Delistings.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/08 Accessing Symbol Change Events.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/08 Accessing Symbol Change Events.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/08 Accessing Symbol Change Events.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/08 Accessing Symbol Change Events.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/09 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/09 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/09 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/09 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/10 Live Trading Considerations.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/10 Live Trading Considerations.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/10 Live Trading Considerations.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/10 Live Trading Considerations.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/11 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/11 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/11 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/11 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/22 US Equity Security Master/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Equity Security Master/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/08 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/08 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/08 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/08 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/23 US Future Option Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Option Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/08 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/08 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/08 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/08 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/24 US Future Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Future Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/05 Key Concept.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/05 Key Concept.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/05 Key Concept.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/05 Key Concept.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/06 Data Normalization Modes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/06 Data Normalization Modes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/06 Data Normalization Modes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/06 Data Normalization Modes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/07 Data Mapping Modes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/07 Data Mapping Modes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/07 Data Mapping Modes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/07 Data Mapping Modes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/08 Tracking Contract Changes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/08 Tracking Contract Changes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/08 Tracking Contract Changes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/08 Tracking Contract Changes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/09 Live Trading Considerations.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/09 Live Trading Considerations.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/09 Live Trading Considerations.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/09 Live Trading Considerations.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/10 Data Format.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/10 Data Format.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/10 Data Format.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/10 Data Format.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/11 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/11 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/11 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/11 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/12 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/12 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/12 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/12 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/25 US Futures Security Master/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Futures Security Master/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/01 Introduction.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/02 About the Provider.html
new file mode 100644
index 0000000000..d679d3ccb1
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/02 About the Provider.html
@@ -0,0 +1,3 @@
+
+QuantConnect was founded in 2012 to serve quants everywhere with the best possible algorithmic trading technology. Seeking to disrupt a notoriously closed-source industry, QuantConnect takes a radically open-source approach to algorithmic trading. Through the QuantConnect web platform, more than 50,000 quants are served every month.
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/05 Specification Over Time.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/05 Specification Over Time.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/05 Specification Over Time.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/05 Specification Over Time.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/06 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/06 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/06 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/07 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/07 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/07 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/08 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/08 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/08 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/09 Supported Assets.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/09 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/09 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/09 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/metadata.json b/03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/02 QuantConnect/26 US Index Option Universe/metadata.json
rename to 03 Writing Algorithms/14 Datasets/02 QuantConnect/27 US Index Option Universe/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/00.json b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/00.json
new file mode 100644
index 0000000000..2b74681ad8
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/00.json
@@ -0,0 +1,8 @@
+{
+ "type": "landing",
+ "heading": "Federal Deposit Insurance Corporation",
+ "subHeading": "",
+ "content": "The Federal Deposit Insurance Corporation is an independent agency created by Congress in 1933 to maintain stability and public confidence in the nation's financial system. The FDIC insures deposits, examines and supervises financial institutions for safety and soundness and consumer protection, and manages receiverships when banks fail.
",
+ "alsoLinks": [],
+ "featureShortDescription": {}
+}
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/01 Introduction.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/01 Introduction.html
new file mode 100644
index 0000000000..e4d339ced6
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/01 Introduction.html
@@ -0,0 +1,3 @@
+The US Bank Failures dataset by the Federal Deposit Insurance Corporation (FDIC) tracks the failures of FDIC-insured banks, with the assets and deposits of each bank and how the FDIC resolved it. The data covers 4,117 bank failures, starts in April 1934, and is delivered on a daily frequency. This dataset is created by parsing the list of failed banks the FDIC publishes. The data does not include the FDIC's estimated cost of each failure.
+
+For more information about the US Bank Failures dataset, including CLI commands and pricing, see the dataset listing.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/02 About the Provider.html
new file mode 100644
index 0000000000..0eb1f16b29
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/02 About the Provider.html
@@ -0,0 +1 @@
+
The Federal Deposit Insurance Corporation is an independent agency created by Congress in 1933 to maintain stability and public confidence in the nation's financial system. The FDIC insures deposits, examines and supervises financial institutions for safety and soundness and consumer protection, and manages receiverships when banks fail.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/03 Getting Started.html
new file mode 100644
index 0000000000..f598da374f
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/03 Getting Started.html
@@ -0,0 +1,6 @@
+The following snippet demonstrates how to request data from the US Bank Failures dataset:
+
+
+
self._dataset_symbol = self.add_data(FDICBankFailures, FDIC.FAILURES).symbol
+
_datasetSymbol = AddData<FDICBankFailures>(FDIC.Failures).Symbol;
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/04 Data Summary.html
new file mode 100644
index 0000000000..51b91b44f6
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/04 Data Summary.html
@@ -0,0 +1,5 @@
+The following table describes the dataset properties:
+
+| Property | Value |
|---|
| Start Date | April 1934 |
| Asset Coverage* | 4,117 Bank Failures |
| Data Density | Sparse |
| Resolution | Daily |
| Timezone | New York |
+
+* The coverage includes all assets since the start date. It increases over time.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/05 Requesting Data.html
new file mode 100644
index 0000000000..9ed9b3f0a5
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/05 Requesting Data.html
@@ -0,0 +1,23 @@
+To add US Bank Failures 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 FDICBankFailuresDataAlgorithm(QCAlgorithm):
+
+ def initialize(self) -> None:
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+ self._dataset_symbol = self.add_data(FDICBankFailures, FDIC.FAILURES).symbol
+
public class FDICBankFailuresDataAlgorithm : QCAlgorithm
+{
+ private Symbol _datasetSymbol;
+
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+ _datasetSymbol = AddData<FDICBankFailures>(FDIC.Failures).Symbol;
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/06 Accessing Data.html
new file mode 100644
index 0000000000..b1e4950fc8
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/06 Accessing Data.html
@@ -0,0 +1,19 @@
+To get the current US Bank Failures data, index the current Slice with the dataset Symbol. Slice objects deliver unique events to your algorithm as they happen, but the Slice may not contain data for your dataset at every time step. To avoid issues, check if the Slice contains the data you want before you index it.
+
+
+
def on_data(self, slice: Slice) -> None:
+ failures = slice.get(FDICBankFailures).get(self._dataset_symbol)
+ if failures:
+ for failure in failures.data:
+ self.log(f"{failure.institution_name} ({failure.state}): assets {failure.total_assets}")
+
public override void OnData(Slice slice)
+{
+ if (slice.TryGet<FDICBankFailures>(_datasetSymbol, out var failures))
+ {
+ foreach (FDICBankFailure failure in failures.Data)
+ {
+ Log($"{failure.InstitutionName} ({failure.State}): assets {failure.TotalAssets}");
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/07 Historical Data.html
new file mode 100644
index 0000000000..502c7af370
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/07 Historical Data.html
@@ -0,0 +1,8 @@
+To get historical US Bank Failures 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 = self.history[FDICBankFailures](self._dataset_symbol, timedelta(days=730), Resolution.DAILY)
+
var history = History<FDICBankFailures>(_datasetSymbol, TimeSpan.FromDays(730), Resolution.Daily);
+
+
+For more information about historical data, see History Requests.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/08 Remove Subscriptions.html
new file mode 100644
index 0000000000..df624001d1
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/08 Remove Subscriptions.html
@@ -0,0 +1,6 @@
+To remove your subscription to US Bank Failures data, call the RemoveSecurityremove_security method.
+
+
+
self.remove_security(self._dataset_symbol)
+
RemoveSecurity(_datasetSymbol);
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/98 Example Applications.html
new file mode 100644
index 0000000000..017a484ea7
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/98 Example Applications.html
@@ -0,0 +1,193 @@
+The US Bank Failures dataset enables you to follow stress in the US banking system as it happens. Examples include the following strategies:
+
+
+ - Reducing exposure to bank stocks when failures cluster
+ - Comparing the assets of failed banks against the size of the sector
+ - Following the states and regions where banks fail
+
+Classic Algorithm Example
+The following example algorithm holds SPY and liquidates it for 30 days after an FDIC-insured bank fails.
+
+
+
from AlgorithmImports import *
+
+
+class FDICBankFailuresDataAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+
+ self.equity = self.add_equity("SPY", Resolution.DAILY).symbol
+ self.dataset_symbol = self.add_data(FDICBankFailures, FDIC.FAILURES).symbol
+ self.last_failure = datetime.min
+
+ def on_data(self, slice):
+ failures = slice.get(FDICBankFailures).get(self.dataset_symbol)
+ if failures:
+ for failure in failures.data:
+ self.log(f"{failure.institution_name} ({failure.state}) failed with assets of {failure.total_assets}")
+ self.last_failure = self.time
+
+ # Liquidate SPY for 30 days after a bank fails.
+ if self.time - self.last_failure < timedelta(days=30):
+ self.liquidate(self.equity)
+ elif not self.portfolio.invested:
+ self.set_holdings(self.equity, 1)
+
using System;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Data;
+using QuantConnect.DataSource;
+
+ public class FDICBankFailuresDataAlgorithm : QCAlgorithm
+ {
+ private Symbol _equity, _datasetSymbol;
+ private DateTime _lastFailure = DateTime.MinValue;
+
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+
+ _equity = AddEquity("SPY", Resolution.Daily).Symbol;
+ _datasetSymbol = AddData<FDICBankFailures>(FDIC.Failures).Symbol;
+ }
+
+ public override void OnData(Slice slice)
+ {
+ if (slice.TryGet<FDICBankFailures>(_datasetSymbol, out var failures))
+ {
+ foreach (FDICBankFailure failure in failures.Data)
+ {
+ Log($"{failure.InstitutionName} ({failure.State}) failed with assets of {failure.TotalAssets}");
+ }
+ _lastFailure = Time;
+ }
+
+ // Liquidate SPY for 30 days after a bank fails.
+ if (Time - _lastFailure < TimeSpan.FromDays(30))
+ {
+ Liquidate(_equity);
+ }
+ else if (!Portfolio.Invested)
+ {
+ SetHoldings(_equity, 1);
+ }
+ }
+ }
+
+Framework Algorithm Example
+The following example algorithm emits a flat insight for SPY when an FDIC-insured bank failed in the last 30 days. Otherwise, it emits an up insight.
+
+
+
from AlgorithmImports import *
+
+
+class FDICBankFailuresFrameworkAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+
+ self.universe_settings.resolution = Resolution.DAILY
+ self.set_universe_selection(ManualUniverseSelectionModel(
+ [Symbol.create("SPY", SecurityType.EQUITY, Market.USA)]))
+
+ self.add_alpha(BankFailureAlphaModel(self))
+ self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel())
+ self.set_execution(ImmediateExecutionModel())
+
+
+class BankFailureAlphaModel(AlphaModel):
+
+ def __init__(self, algorithm):
+ self._dataset_symbol = algorithm.add_data(FDICBankFailures, FDIC.FAILURES).symbol
+ self._last_failure = datetime.min
+ self._symbols = set()
+
+ def update(self, algorithm, data):
+ if data.get(FDICBankFailures).get(self._dataset_symbol):
+ self._last_failure = algorithm.time
+
+ # Emit a flat insight within 30 days of a bank failure, otherwise an up insight.
+ failed_recently = algorithm.time - self._last_failure < timedelta(days=30)
+ direction = InsightDirection.FLAT if failed_recently else InsightDirection.UP
+ return [Insight.price(symbol, timedelta(days=1), direction) for symbol in self._symbols]
+
+ def on_securities_changed(self, algorithm, changes):
+ for security in changes.added_securities:
+ self._symbols.add(security.symbol)
+ for security in changes.removed_securities:
+ self._symbols.discard(security.symbol)
+
using System;
+using System.Collections.Generic;
+using System.Linq;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Algorithm.Framework.Alphas;
+using QuantConnect.Algorithm.Framework.Execution;
+using QuantConnect.Algorithm.Framework.Portfolio;
+using QuantConnect.Algorithm.Framework.Selection;
+using QuantConnect.Data;
+using QuantConnect.Data.UniverseSelection;
+using QuantConnect.DataSource;
+
+ public class FDICBankFailuresFrameworkAlgorithm : QCAlgorithm
+ {
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+
+ UniverseSettings.Resolution = Resolution.Daily;
+ SetUniverseSelection(new ManualUniverseSelectionModel(
+ QuantConnect.Symbol.Create("SPY", SecurityType.Equity, Market.USA)));
+
+ AddAlpha(new BankFailureAlphaModel(this));
+ SetPortfolioConstruction(new EqualWeightingPortfolioConstructionModel());
+ SetExecution(new ImmediateExecutionModel());
+ }
+ }
+
+ public class BankFailureAlphaModel : AlphaModel
+ {
+ private readonly Symbol _datasetSymbol;
+ private readonly HashSet<Symbol> _symbols = new();
+ private DateTime _lastFailure = DateTime.MinValue;
+
+ public BankFailureAlphaModel(QCAlgorithm algorithm)
+ {
+ _datasetSymbol = algorithm.AddData<FDICBankFailures>(FDIC.Failures).Symbol;
+ }
+
+ public override IEnumerable<Insight> Update(QCAlgorithm algorithm, Slice data)
+ {
+ if (data.ContainsKey(_datasetSymbol))
+ {
+ _lastFailure = algorithm.Time;
+ }
+
+ // Emit a flat insight within 30 days of a bank failure, otherwise an up insight.
+ var failedRecently = algorithm.Time - _lastFailure < TimeSpan.FromDays(30);
+ var direction = failedRecently ? InsightDirection.Flat : InsightDirection.Up;
+ return _symbols.Select(symbol => Insight.Price(symbol, TimeSpan.FromDays(1), direction)).ToList();
+ }
+
+ public override void OnSecuritiesChanged(QCAlgorithm algorithm, SecurityChanges changes)
+ {
+ foreach (var security in changes.AddedSecurities)
+ {
+ _symbols.Add(security.Symbol);
+ }
+ foreach (var security in changes.RemovedSecurities)
+ {
+ _symbols.Remove(security.Symbol);
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/99 Data Point Attributes.html
new file mode 100644
index 0000000000..bc95279114
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/99 Data Point Attributes.html
@@ -0,0 +1,9 @@
+The US Bank Failures dataset provides FDICBankFailures and FDICBankFailure objects.
+
+FDICBankFailures
+FDICBankFailures objects have the following attributes:
+
+
+FDICBankFailure
+FDICBankFailure objects have the following attributes:
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/metadata.json b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/metadata.json
new file mode 100644
index 0000000000..b62cc3b971
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/01 US Bank Failures/metadata.json
@@ -0,0 +1,12 @@
+{
+ "type": "metadata",
+ "values": {
+ "description": "US Bank Failures dataset from Federal Deposit Insurance Corporation.",
+ "keywords": "data, financial data, alternative dataset",
+ "og:description": "US Bank Failures dataset from Federal Deposit Insurance Corporation.",
+ "og:title": "US Bank Failures - Documentation QuantConnect.com",
+ "og:type": "website",
+ "og:site_name": "US Bank Failures - QuantConnect.com",
+ "og:image": "https://cdn.quantconnect.com/docs/i/writing-algorithms/datasets/federal-deposit-insurance-corporation/us-bank-failures.png"
+ }
+}
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/01 Introduction.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/01 Introduction.html
new file mode 100644
index 0000000000..4448556671
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/01 Introduction.html
@@ -0,0 +1,3 @@
+The US Bank Financials dataset by the Federal Deposit Insurance Corporation (FDIC) tracks the quarterly call report of every FDIC-insured bank, with its balance sheet, deposits, loans, asset quality, and regulatory capital. The data covers 24,064 banks, starts in June 1984, and is delivered on a quarterly frequency. This dataset is created by parsing the call reports the FDIC publishes. The banks of listed companies are linked to 644 US Equities from March 1998.
+
+For more information about the US Bank Financials dataset, including CLI commands and pricing, see the dataset listing.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/02 About the Provider.html
new file mode 100644
index 0000000000..0eb1f16b29
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/02 About the Provider.html
@@ -0,0 +1 @@
+
The Federal Deposit Insurance Corporation is an independent agency created by Congress in 1933 to maintain stability and public confidence in the nation's financial system. The FDIC insures deposits, examines and supervises financial institutions for safety and soundness and consumer protection, and manages receiverships when banks fail.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/03 Getting Started.html
new file mode 100644
index 0000000000..e4fe5f211b
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/03 Getting Started.html
@@ -0,0 +1,10 @@
+The following snippet demonstrates how to request data from the US Bank Financials dataset:
+
+
+
self._symbol = self.add_equity("BAC", Resolution.DAILY).symbol
+self._dataset_symbol = self.add_data(FDICBankFinancials, self._symbol).symbol
+self._all_banks_symbol = self.add_data(FDICBankReports, FDIC.Banks.ALL).symbol
+
_symbol = AddEquity("BAC", Resolution.Daily).Symbol;
+_datasetSymbol = AddData<FDICBankFinancials>(_symbol).Symbol;
+_allBanksSymbol = AddData<FDICBankReports>(FDIC.Banks.All).Symbol;
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/04 Data Summary.html
new file mode 100644
index 0000000000..d3e58d122f
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/04 Data Summary.html
@@ -0,0 +1,7 @@
+The following table describes the dataset properties:
+
+| Property | Value |
|---|
| Start Date | June 1984 |
| Asset Coverage* | 24,064 Banks |
| Data Density | Sparse |
| Resolution** | Daily |
| Timezone | New York |
+
+* The coverage includes all assets since the start date. It increases over time.
+
+** Quarterly data we fetch daily.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/05 Requesting Data.html
new file mode 100644
index 0000000000..452f2b1717
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/05 Requesting Data.html
@@ -0,0 +1,27 @@
+To add US Bank Financials 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 FDICBankFinancialsDataAlgorithm(QCAlgorithm):
+
+ def initialize(self) -> None:
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+ self._symbol = self.add_equity("BAC", Resolution.DAILY).symbol
+ self._dataset_symbol = self.add_data(FDICBankFinancials, self._symbol).symbol
+ self._all_banks_symbol = self.add_data(FDICBankReports, FDIC.Banks.ALL).symbol
+
public class FDICBankFinancialsDataAlgorithm : QCAlgorithm
+{
+ private Symbol _symbol, _datasetSymbol, _allBanksSymbol;
+
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+ _symbol = AddEquity("BAC", Resolution.Daily).Symbol;
+ _datasetSymbol = AddData<FDICBankFinancials>(_symbol).Symbol;
+ _allBanksSymbol = AddData<FDICBankReports>(FDIC.Banks.All).Symbol;
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/06 Accessing Data.html
new file mode 100644
index 0000000000..a7d3c7a60a
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/06 Accessing Data.html
@@ -0,0 +1,39 @@
+To get the current US Bank Financials data, index the current Slice with the dataset Symbol. Slice objects deliver unique events to your algorithm as they happen, but the Slice may not contain data for your dataset at every time step. To avoid issues, check if the Slice contains the data you want before you index it.
+
+
+
def on_data(self, slice: Slice) -> None:
+ reports = slice.get(FDICBankFinancials).get(self._dataset_symbol)
+ if reports:
+ for report in reports.data:
+ self.log(f"{report.institution_name} {report.report_date}: {report.estimated_uninsured_deposits}")
+
public override void OnData(Slice slice)
+{
+ if (slice.TryGet<FDICBankFinancials>(_datasetSymbol, out var reports))
+ {
+ foreach (FDICBankFinancial report in reports.Data)
+ {
+ Log($"{report.InstitutionName} {report.ReportDate}: {report.EstimatedUninsuredDeposits}");
+ }
+ }
+}
+
+
+To iterate through all of the dataset objects in the current Slice, call the Getget method.
+
+
+
def on_data(self, slice: Slice) -> None:
+ for dataset_symbol, reports in slice.get(FDICBankFinancials).items():
+ for report in reports.data:
+ self.log(f"{dataset_symbol} {report.institution_name}: {report.total_deposits}")
+
public override void OnData(Slice slice)
+{
+ foreach (var kvp in slice.Get<FDICBankFinancials>())
+ {
+ var datasetSymbol = kvp.Key;
+ foreach (FDICBankFinancial report in kvp.Value.Data)
+ {
+ Log($"{datasetSymbol} {report.InstitutionName}: {report.TotalDeposits}");
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/07 Historical Data.html
new file mode 100644
index 0000000000..c3cf93d087
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/07 Historical Data.html
@@ -0,0 +1,8 @@
+To get historical US Bank Financials 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 = self.history[FDICBankFinancials](self._dataset_symbol, timedelta(days=365), Resolution.DAILY)
+
var history = History<FDICBankFinancials>(_datasetSymbol, TimeSpan.FromDays(365), Resolution.Daily);
+
+
+For more information about historical data, see History Requests.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/08 Universe Selection.html
new file mode 100644
index 0000000000..dd4a426282
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/08 Universe Selection.html
@@ -0,0 +1,20 @@
+To select a dynamic universe of US Equities based on US Bank Financials data, call the AddUniverseadd_universe method with the FDICBankFinancialsUniverse class and a selection function.
+
+
+
def initialize(self) -> None:
+ self._universe = self.add_universe(FDICBankFinancialsUniverse, self.universe_selection)
+
+def universe_selection(self, alt_coarse: List[FDICBankFinancialsUniverse]) -> List[Symbol]:
+ return list({d.symbol for d in alt_coarse if d.domestic_deposits and (d.estimated_uninsured_deposits or 0) / d.domestic_deposits < 0.3})
+
private Universe _universe;
+
+public override void Initialize()
+{
+ _universe = AddUniverse<FDICBankFinancialsUniverse>(altCoarse =>
+ (from d in altCoarse.OfType<FDICBankFinancialsUniverse>()
+ where d.DomesticDeposits > 0m && (d.EstimatedUninsuredDeposits ?? 0m) / d.DomesticDeposits < 0.3m
+ select d.Symbol).Distinct());
+}
+
+
+For more information about dynamic universes, see Universes.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/09 Remove Subscriptions.html
new file mode 100644
index 0000000000..deccd7c9ac
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/09 Remove Subscriptions.html
@@ -0,0 +1,8 @@
+To remove your subscription to US Bank Financials data, call the RemoveSecurityremove_security method.
+
+
+
self.remove_security(self._dataset_symbol)
+
RemoveSecurity(_datasetSymbol);
+
+
+If you subscribe to US Bank Financials data for assets in a dynamic universe, remove the dataset subscription when the asset leaves your universe. To view a common design pattern, see Track Security Changes.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/10 Supported Banks.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/10 Supported Banks.html
new file mode 100644
index 0000000000..93922db5df
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/10 Supported Banks.html
@@ -0,0 +1,3 @@
+The following table shows the accessor code you need to add each bank to your algorithm:
+
+| Bank | Constant | Headquarters |
|---|
| JPMorgan Chase Bank, National Association | FDIC.Banks.Ohio.JPMorganChaseBankNationalAssociationFDIC.Banks.Ohio.JP_MORGAN_CHASE_BANK_NATIONAL_ASSOCIATION | Columbus, OH |
| Bank of America, National Association | FDIC.Banks.NorthCarolina.BankOfAmericaNationalAssociationFDIC.Banks.NorthCarolina.BANK_OF_AMERICA_NATIONAL_ASSOCIATION | Charlotte, NC |
| Citibank, National Association | FDIC.Banks.SouthDakota.CitibankNationalAssociationFDIC.Banks.SouthDakota.CITIBANK_NATIONAL_ASSOCIATION | Sioux Falls, SD |
| Wells Fargo Bank, National Association | FDIC.Banks.SouthDakota.WellsFargoBankNationalAssociationFDIC.Banks.SouthDakota.WELLS_FARGO_BANK_NATIONAL_ASSOCIATION | Sioux Falls, SD |
| Goldman Sachs Bank USA | FDIC.Banks.NewYork.GoldmanSachsBankUsaFDIC.Banks.NewYork.GOLDMAN_SACHS_BANK_USA | New York, NY |
| U.S. Bank National Association | FDIC.Banks.Ohio.USBankNationalAssociationFDIC.Banks.Ohio.US_BANK_NATIONAL_ASSOCIATION | Cincinnati, OH |
| Capital One, National Association | FDIC.Banks.Virginia.CapitalOneNationalAssociationFDIC.Banks.Virginia.CAPITAL_ONE_NATIONAL_ASSOCIATION | McLean, VA |
| PNC Bank, National Association | FDIC.Banks.Delaware.PncBankNationalAssociationFDIC.Banks.Delaware.PNC_BANK_NATIONAL_ASSOCIATION | Wilmington, DE |
| Truist Bank | FDIC.Banks.NorthCarolina.TruistBankFDIC.Banks.NorthCarolina.TRUIST_BANK | Charlotte, NC |
| The Bank of New York Mellon | FDIC.Banks.NewYork.TheBankOfNewYorkMellonFDIC.Banks.NewYork.THE_BANK_OF_NEW_YORK_MELLON | New York, NY |
| Morgan Stanley Bank, National Association | FDIC.Banks.Utah.MorganStanleyBankNationalAssociationFDIC.Banks.Utah.MORGAN_STANLEY_BANK_NATIONAL_ASSOCIATION | Salt Lake City, UT |
| State Street Bank and Trust Company | FDIC.Banks.Massachusetts.StateStreetBankAndTrustCompanyFDIC.Banks.Massachusetts.STATE_STREET_BANK_AND_TRUST_COMPANY | Boston, MA |
| TD Bank, National Association | FDIC.Banks.Delaware.TdBankNationalAssociationFDIC.Banks.Delaware.TD_BANK_NATIONAL_ASSOCIATION | Wilmington, DE |
| Fifth Third Bank, National Association | FDIC.Banks.Ohio.FifthThirdBankNationalAssociationFDIC.Banks.Ohio.FIFTH_THIRD_BANK_NATIONAL_ASSOCIATION | Cincinnati, OH |
| The Huntington National Bank | FDIC.Banks.Ohio.TheHuntingtonNationalBankFDIC.Banks.Ohio.THE_HUNTINGTON_NATIONAL_BANK | Columbus, OH |
| BMO Bank National Association | FDIC.Banks.Illinois.BmoBankNationalAssociationFDIC.Banks.Illinois.BMO_BANK_NATIONAL_ASSOCIATION | Chicago, IL |
| Charles Schwab Bank, SSB | FDIC.Banks.Texas.CharlesSchwabBankSsbFDIC.Banks.Texas.CHARLES_SCHWAB_BANK_SSB | Westlake, TX |
| Morgan Stanley Private Bank, National Association | FDIC.Banks.NewYork.MorganStanleyPrivateBankNationalAssociationFDIC.Banks.NewYork.MORGAN_STANLEY_PRIVATE_BANK_NATIONAL_ASSOCIATION | Purchase, NY |
| First-Citizens Bank & Trust Company | FDIC.Banks.NorthCarolina.FirstCitizensBankAndTrustCompanyFDIC.Banks.NorthCarolina.FIRST_CITIZENS_BANK_AND_TRUST_COMPANY | Raleigh, NC |
| Citizens Bank, National Association | FDIC.Banks.RhodeIsland.CitizensBankNationalAssociationFDIC.Banks.RhodeIsland.CITIZENS_BANK_NATIONAL_ASSOCIATION | Providence, RI |
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/98 Example Applications.html
new file mode 100644
index 0000000000..7b92e8880f
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/98 Example Applications.html
@@ -0,0 +1,227 @@
+The US Bank Financials dataset enables you to monitor the funding, asset quality, and capital of US banks. Examples include the following strategies:
+
+
+ - Ranking listed banks by the share of their deposits that is uninsured
+ - Measuring unrealized losses on held-to-maturity securities against regulatory capital
+ - Tracking deposit flows across the banks of one state, listed or not
+
+Classic Algorithm Example
+The following example algorithm buys BAC when the share of uninsured deposits across its banks falls from the previous quarter. Otherwise, it liquidates the position.
+
+
+
from AlgorithmImports import *
+
+
+class FDICBankFinancialsDataAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+
+ self.equity = self.add_equity("BAC", Resolution.DAILY).symbol
+ self.dataset_symbol = self.add_data(FDICBankFinancials, self.equity).symbol
+ self.previous_share = None
+
+ def on_data(self, slice):
+ reports = slice.get(FDICBankFinancials).get(self.dataset_symbol)
+ if not reports:
+ return
+
+ # Sum the latest quarter over every bank the company owns.
+ latest = max(report.report_date for report in reports.data)
+ quarter = [report for report in reports.data if report.report_date == latest]
+ deposits = sum(report.domestic_deposits or 0 for report in quarter)
+ if not deposits:
+ return
+ share = sum(report.estimated_uninsured_deposits or 0 for report in quarter) / deposits
+
+ # Hold the stock while the share of uninsured deposits falls.
+ if self.previous_share is None or share <= self.previous_share:
+ self.set_holdings(self.equity, 1)
+ else:
+ self.liquidate(self.equity)
+ self.previous_share = share
+
using System;
+using System.Linq;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Data;
+using QuantConnect.DataSource;
+
+ public class FDICBankFinancialsDataAlgorithm : QCAlgorithm
+ {
+ private Symbol _equity, _datasetSymbol;
+ private decimal? _previousShare;
+
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+
+ _equity = AddEquity("BAC", Resolution.Daily).Symbol;
+ _datasetSymbol = AddData<FDICBankFinancials>(_equity).Symbol;
+ }
+
+ public override void OnData(Slice slice)
+ {
+ if (!slice.TryGet<FDICBankFinancials>(_datasetSymbol, out var reports))
+ {
+ return;
+ }
+
+ // Sum the latest quarter over every bank the company owns.
+ var records = reports.Data.OfType<FDICBankFinancial>().ToList();
+ var latest = records.Max(report => report.ReportDate);
+ var quarter = records.Where(report => report.ReportDate == latest).ToList();
+ var deposits = quarter.Sum(report => report.DomesticDeposits ?? 0m);
+ if (deposits == 0m)
+ {
+ return;
+ }
+ var share = quarter.Sum(report => report.EstimatedUninsuredDeposits ?? 0m) / deposits;
+
+ // Hold the stock while the share of uninsured deposits falls.
+ if (_previousShare == null || share <= _previousShare)
+ {
+ SetHoldings(_equity, 1);
+ }
+ else
+ {
+ Liquidate(_equity);
+ }
+ _previousShare = share;
+ }
+ }
+
+Framework Algorithm Example
+The following example algorithm emits an up insight for BAC when the share of uninsured deposits across its banks falls from the previous quarter. Otherwise, it emits a flat insight.
+
+
+
from AlgorithmImports import *
+
+
+class FDICBankFinancialsFrameworkAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2021, 3, 31)
+ self.set_cash(100000)
+
+ self.universe_settings.resolution = Resolution.DAILY
+ self.set_universe_selection(ManualUniverseSelectionModel(
+ [Symbol.create("BAC", SecurityType.EQUITY, Market.USA)]))
+
+ self.add_alpha(UninsuredDepositsAlphaModel())
+ self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel())
+ self.set_execution(ImmediateExecutionModel())
+
+
+class UninsuredDepositsAlphaModel(AlphaModel):
+
+ def __init__(self):
+ self._dataset_symbols = {}
+ self._previous_share = {}
+
+ def update(self, algorithm, data):
+ insights = []
+ for dataset_symbol, reports in data.get(FDICBankFinancials).items():
+ equity = dataset_symbol.underlying
+ latest = max(report.report_date for report in reports.data)
+ quarter = [report for report in reports.data if report.report_date == latest]
+ deposits = sum(report.domestic_deposits or 0 for report in quarter)
+ if not deposits:
+ continue
+ share = sum(report.estimated_uninsured_deposits or 0 for report in quarter) / deposits
+
+ # Emit an up insight while the share of uninsured deposits falls.
+ previous = self._previous_share.get(equity)
+ direction = InsightDirection.UP if previous is None or share <= previous else InsightDirection.FLAT
+ insights.append(Insight.price(equity, timedelta(days=90), direction))
+ self._previous_share[equity] = share
+ return insights
+
+ def on_securities_changed(self, algorithm, changes):
+ for security in changes.added_securities:
+ self._dataset_symbols[security.symbol] = algorithm.add_data(FDICBankFinancials, security.symbol).symbol
+ for security in changes.removed_securities:
+ dataset_symbol = self._dataset_symbols.pop(security.symbol, None)
+ if dataset_symbol:
+ algorithm.remove_security(dataset_symbol)
+
using System;
+using System.Collections.Generic;
+using System.Linq;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Algorithm.Framework.Alphas;
+using QuantConnect.Algorithm.Framework.Execution;
+using QuantConnect.Algorithm.Framework.Portfolio;
+using QuantConnect.Algorithm.Framework.Selection;
+using QuantConnect.Data;
+using QuantConnect.Data.UniverseSelection;
+using QuantConnect.DataSource;
+
+ public class FDICBankFinancialsFrameworkAlgorithm : QCAlgorithm
+ {
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2021, 3, 31);
+ SetCash(100000);
+
+ UniverseSettings.Resolution = Resolution.Daily;
+ SetUniverseSelection(new ManualUniverseSelectionModel(
+ QuantConnect.Symbol.Create("BAC", SecurityType.Equity, Market.USA)));
+
+ AddAlpha(new UninsuredDepositsAlphaModel());
+ SetPortfolioConstruction(new EqualWeightingPortfolioConstructionModel());
+ SetExecution(new ImmediateExecutionModel());
+ }
+ }
+
+ public class UninsuredDepositsAlphaModel : AlphaModel
+ {
+ private readonly Dictionary<Symbol, Symbol> _datasetSymbols = new();
+ private readonly Dictionary<Symbol, decimal> _previousShare = new();
+
+ public override IEnumerable<Insight> Update(QCAlgorithm algorithm, Slice data)
+ {
+ var insights = new List<Insight>();
+ foreach (var kvp in data.Get<FDICBankFinancials>())
+ {
+ var equity = kvp.Key.Underlying;
+ var records = kvp.Value.Data.OfType<FDICBankFinancial>().ToList();
+ var latest = records.Max(report => report.ReportDate);
+ var quarter = records.Where(report => report.ReportDate == latest).ToList();
+ var deposits = quarter.Sum(report => report.DomesticDeposits ?? 0m);
+ if (deposits == 0m)
+ {
+ continue;
+ }
+ var share = quarter.Sum(report => report.EstimatedUninsuredDeposits ?? 0m) / deposits;
+
+ // Emit an up insight while the share of uninsured deposits falls.
+ var rising = !_previousShare.TryGetValue(equity, out var previous) || share <= previous;
+ insights.Add(Insight.Price(equity, TimeSpan.FromDays(90), rising ? InsightDirection.Up : InsightDirection.Flat));
+ _previousShare[equity] = share;
+ }
+ return insights;
+ }
+
+ public override void OnSecuritiesChanged(QCAlgorithm algorithm, SecurityChanges changes)
+ {
+ foreach (var security in changes.AddedSecurities)
+ {
+ _datasetSymbols[security.Symbol] = algorithm.AddData<FDICBankFinancials>(security.Symbol).Symbol;
+ }
+ foreach (var security in changes.RemovedSecurities)
+ {
+ if (_datasetSymbols.Remove(security.Symbol, out var datasetSymbol))
+ {
+ algorithm.RemoveSecurity(datasetSymbol);
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/99 Data Point Attributes.html
new file mode 100644
index 0000000000..f6cadb55d6
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/99 Data Point Attributes.html
@@ -0,0 +1,17 @@
+The US Bank Financials dataset provides FDICBankFinancials, FDICBankReports, FDICBankFinancial, and FDICBankFinancialsUniverse objects.
+
+FDICBankFinancials
+FDICBankFinancials objects have the following attributes:
+
+
+FDICBankReports
+FDICBankReports objects have the following attributes:
+
+
+FDICBankFinancial
+FDICBankFinancial objects have the following attributes:
+
+
+FDICBankFinancialsUniverse
+FDICBankFinancialsUniverse objects have the following attributes:
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/metadata.json b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/metadata.json
new file mode 100644
index 0000000000..7ca020b580
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/18 Federal Deposit Insurance Corporation/02 US Bank Financials/metadata.json
@@ -0,0 +1,12 @@
+{
+ "type": "metadata",
+ "values": {
+ "description": "US Bank Financials dataset from Federal Deposit Insurance Corporation.",
+ "keywords": "data, financial data, alternative dataset",
+ "og:description": "US Bank Financials dataset from Federal Deposit Insurance Corporation.",
+ "og:title": "US Bank Financials - Documentation QuantConnect.com",
+ "og:type": "website",
+ "og:site_name": "US Bank Financials - QuantConnect.com",
+ "og:image": "https://cdn.quantconnect.com/docs/i/writing-algorithms/datasets/federal-deposit-insurance-corporation/us-bank-financials.png"
+ }
+}
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/00.json b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/00.json
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/00.json
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/01 Introduction.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/metadata.json b/03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/18 Federal Reserve Bank of St Louis/01 US Interest Rate/metadata.json
rename to 03 Writing Algorithms/14 Datasets/19 Federal Reserve Bank of St Louis/01 US Interest Rate/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/00.json b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/00.json
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/00.json
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/01 Introduction.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/09 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/09 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/09 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/metadata.json b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/01 OTC Transparency/metadata.json
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/01 OTC Transparency/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/01 Introduction.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/09 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/09 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/09 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/metadata.json b/03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/19 Financial Industry Regulatory Authority/02 Regulation SHO/metadata.json
rename to 03 Writing Algorithms/14 Datasets/20 Financial Industry Regulatory Authority/02 Regulation SHO/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/00.json b/03 Writing Algorithms/14 Datasets/21 Kavout/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/00.json
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/00.json
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/01 Introduction.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/metadata.json b/03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/20 Kavout/01 Composite Factor Bundle/metadata.json
rename to 03 Writing Algorithms/14 Datasets/21 Kavout/01 Composite Factor Bundle/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/00.json b/03 Writing Algorithms/14 Datasets/22 Nasdaq/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/00.json
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/00.json
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/01 Introduction.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/05 Backward Compatibility.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/05 Backward Compatibility.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/05 Backward Compatibility.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/05 Backward Compatibility.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/06 Requesting Data.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/06 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/06 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/06 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/07 Accessing Data.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/07 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/07 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/07 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/08 Historical Data.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/08 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/08 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/08 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/09 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/09 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/09 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/metadata.json b/03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/21 Nasdaq/01 Data Link/metadata.json
rename to 03 Writing Algorithms/14 Datasets/22 Nasdaq/01 Data Link/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/00.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/00.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/00.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/01 Introduction.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/09 Universe History.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/metadata.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/01 CNBC Trading/metadata.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/01 CNBC Trading/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/01 Introduction.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/09 Universe History.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/metadata.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/02 Corporate Lobbying/metadata.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/02 Corporate Lobbying/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/01 Introduction.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/09 Universe History.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/metadata.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/03 Insider Trading/metadata.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/03 Insider Trading/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/01 Introduction.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/09 Universe History.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/metadata.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/04 US Congress Trading/metadata.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/04 US Congress Trading/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/01 Introduction.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/09 Universe History.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/metadata.json b/03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/22 Quiver Quantitative/05 US Government Contracts/metadata.json
rename to 03 Writing Algorithms/14 Datasets/23 Quiver Quantitative/05 US Government Contracts/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/00.json b/03 Writing Algorithms/14 Datasets/24 RegAlytics/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/00.json
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/00.json
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/01 Introduction.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/metadata.json b/03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/23 RegAlytics/01 US Regulatory Alerts - Financial Sector/metadata.json
rename to 03 Writing Algorithms/14 Datasets/24 RegAlytics/01 US Regulatory Alerts - Financial Sector/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/00.json b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/00.json
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/00.json
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/01 Introduction.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/01 Introduction.html
new file mode 100644
index 0000000000..a7b980e79b
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/01 Introduction.html
@@ -0,0 +1,5 @@
+The US SEC 13F Whales dataset by the US Securities and Exchange Commission (SEC) tracks the holdings of institutional investment managers with at least $100 million in assets under management. The data covers 18,877 US Equities, starts in May 2013, and is delivered on a daily frequency. This dataset is created by parsing Form 13F filings.
+
+This dataset depends on the US Equity Security Master dataset because the US Equity Security Master dataset contains information on splits, dividends, and symbol changes.
+
+For more information about the US SEC 13F Whales dataset, including CLI commands and pricing, see the dataset listing.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/03 Getting Started.html
new file mode 100644
index 0000000000..619f8990c1
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/03 Getting Started.html
@@ -0,0 +1,8 @@
+
The following snippet demonstrates how to request data from the SEC Whales dataset:
+
+
+
self._symbol = self.add_equity("AAPL", Resolution.DAILY).symbol
+self._holdings_symbol = self.add_data(SEC13FHoldings, self._symbol).symbol
+
_symbol = AddEquity("AAPL", Resolution.Daily).Symbol;
+_holdingsSymbol = AddData<SEC13FHoldings>(_symbol).Symbol;
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/04 Data Summary.html
new file mode 100644
index 0000000000..813e66db5a
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/04 Data Summary.html
@@ -0,0 +1,5 @@
+The following table describes the dataset properties:
+
+| Property | Value |
|---|
| Start Date | May 2013 |
| Asset Coverage* | 18,877 US Equities |
| Data Density | Sparse |
| Resolution | Daily |
| Timezone | New York |
+
+* The coverage includes all assets since the start date. It increases over time.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/05 Requesting Data.html
new file mode 100644
index 0000000000..bc92e04f7a
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/05 Requesting Data.html
@@ -0,0 +1,27 @@
+To add SEC Whales 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 SEC13FDataAlgorithm(QCAlgorithm):
+
+ def initialize(self) -> None:
+ self.set_start_date(2020, 10, 1)
+ self.set_end_date(2020, 12, 31)
+ self.set_cash(100000)
+
+ self._symbol = self.add_equity("AAPL", Resolution.DAILY).symbol
+ self._dataset_symbol = self.add_data(SEC13FHoldings, self._symbol).symbol
+
public class SEC13FDataAlgorithm : QCAlgorithm
+{
+ private Symbol _symbol, _datasetSymbol;
+
+ public override void Initialize()
+ {
+ SetStartDate(2020, 10, 1);
+ SetEndDate(2020, 12, 31);
+ SetCash(100000);
+
+ _symbol = AddEquity("AAPL", Resolution.Daily).Symbol;
+ _datasetSymbol = AddData<SEC13FHoldings>(_symbol).Symbol;
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/06 Accessing Data.html
new file mode 100644
index 0000000000..b93ba9b381
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/06 Accessing Data.html
@@ -0,0 +1,38 @@
+To get the current SEC Whales data, index the current Slice with the dataset Symbol. Slice objects deliver unique events to your algorithm as they happen, but the Slice may not contain data for your dataset at every time step. To avoid issues, check if the Slice contains the data you want before you index it.
+
+
+
def on_data(self, slice: Slice) -> None:
+ if slice.contains_key(self._dataset_symbol):
+ for holding in slice[self._dataset_symbol]:
+ self.log(f"{self._dataset_symbol} CIK {holding.manager_cik} at {slice.time}: {holding.amount} {holding.amount_type}")
+
public override void OnData(Slice slice)
+{
+ if (slice.ContainsKey(_datasetSymbol))
+ {
+ foreach (SEC13FHolding holding in slice[_datasetSymbol])
+ {
+ Log($"{_datasetSymbol} CIK {holding.ManagerCik} at {slice.Time}: {holding.Amount} {holding.AmountType}");
+ }
+ }
+}
+
+
+To iterate through all of the dataset objects in the current Slice, call the Getget method.
+
+
+
def on_data(self, slice: Slice) -> None:
+ for dataset_symbol, holdings in slice.get(SEC13FHoldings).items():
+ for holding in holdings:
+ self.log(f"{dataset_symbol} CIK {holding.manager_cik} at {slice.time}: {holding.amount} {holding.amount_type}")
+
public override void OnData(Slice slice)
+{
+ foreach (var kvp in slice.Get<SEC13FHoldings>())
+ {
+ var datasetSymbol = kvp.Key;
+ foreach (SEC13FHolding holding in kvp.Value)
+ {
+ Log($"{datasetSymbol} CIK {holding.ManagerCik} at {slice.Time}: {holding.Amount} {holding.AmountType}");
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/07 Historical Data.html
new file mode 100644
index 0000000000..5203f52c2e
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/07 Historical Data.html
@@ -0,0 +1,12 @@
+To get historical SEC Whales 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
+history_df = self.history(SEC13FHoldings, self._dataset_symbol, timedelta(days=60), Resolution.DAILY, flatten=True)
+
+# Dataset objects
+history_bars = self.history[SEC13FHoldings](self._dataset_symbol, timedelta(days=60), Resolution.DAILY)
+
var history = History<SEC13FHoldings>(_datasetSymbol, TimeSpan.FromDays(60), Resolution.Daily);
+
+
+For more information about historical data, see History Requests.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/08 Remove Subscriptions.html
new file mode 100644
index 0000000000..e3e7a32b10
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/08 Remove Subscriptions.html
@@ -0,0 +1,8 @@
+To remove your subscription to SEC Whales data, call the RemoveSecurityremove_security method.
+
+
+
self.remove_security(self._dataset_symbol)
+
RemoveSecurity(_datasetSymbol);
+
+
+If you subscribe to SEC Whales data for assets in a dynamic universe, remove the dataset subscription when the asset leaves your universe. To view a common design pattern, see Track Security Changes.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/09 Supported Managers.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/09 Supported Managers.html
new file mode 100644
index 0000000000..7a6df1047e
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/09 Supported Managers.html
@@ -0,0 +1,59 @@
+To follow a manager, filter the holdings by its CIK with the ManagerCikmanager_cik property. The following table shows the 50 largest managers by reported value in the second quarter of 2026:
+
+
+
+| CIK | Manager |
+
+
+| 2012383 | BlackRock Inc. |
+| 2100119 | VANGUARD CAPITAL MANAGEMENT LLC |
+| 93751 | STATE STREET CORP |
+| 315066 | FMR LLC |
+| 2100121 | VANGUARD PORTFOLIO MANAGEMENT LLC |
+| 895421 | MORGAN STANLEY |
+| 1214717 | GEODE CAPITAL MANAGEMENT LLC |
+| 19617 | JPMORGAN CHASE & CO |
+| 70858 | BANK OF AMERICA CORP /DE/ |
+| 914208 | Invesco Ltd. |
+| 1374170 | NORGES BANK |
+| 80255 | PRICE T ROWE ASSOCIATES INC /MD/ |
+| 886982 | GOLDMAN SACHS GROUP INC |
+| 73124 | NORTHERN TRUST CORP |
+| 1422849 | Capital World Investors |
+| 884546 | CHARLES SCHWAB INVESTMENT MANAGEMENT INC |
+| 1422848 | Capital Research Global Investors |
+| 1610520 | UBS Group AG |
+| 1390777 | Bank of New York Mellon Corp |
+| 1000275 | ROYAL BANK OF CANADA |
+| 902219 | WELLINGTON MANAGEMENT GROUP LLP |
+| 72971 | WELLS FARGO & COMPANY/MN |
+| 354204 | DIMENSIONAL FUND ADVISORS LP |
+| 861177 | UBS AM a distinct business unit of UBS ASSET MANAGEMENT AMERICAS LLC |
+| 820027 | AMERIPRISE FINANCIAL INC |
+| 1562230 | Capital International Investors |
+| 764068 | Legal & General Group Plc |
+| 38777 | FRANKLIN RESOURCES INC |
+| 933478 | VANGUARD FIDUCIARY TRUST CO |
+| 1403438 | LPL Financial LLC |
+| 1407543 | ENVESTNET ASSET MANAGEMENT INC |
+| 1871926 | Nuveen LLC |
+| 1330387 | Amundi |
+| 720005 | RAYMOND JAMES FINANCIAL INC |
+| 948046 | DEUTSCHE BANK AG |
+| 850529 | Fisher Asset Management LLC |
+| 312069 | BARCLAYS PLC |
+| 912938 | MASSACHUSETTS FINANCIAL SERVICES CO /MA/ |
+| 1109448 | ALLIANCEBERNSTEIN L.P. |
+| 1067983 | Berkshire Hathaway Inc |
+| 1167557 | AQR CAPITAL MANAGEMENT LLC |
+| 927971 | BANK OF MONTREAL /CAN/ |
+| 815917 | JONES FINANCIAL COMPANIES LLLP |
+| 2146052 | Jupiter Topco LLC |
+| 748054 | AMERICAN CENTURY COMPANIES INC |
+| 1164508 | ARROWSTREET CAPITAL LIMITED PARTNERSHIP |
+| 1811242 | Vanguard Global Advisers LLC |
+| 831001 | CITIGROUP INC |
+| 873630 | HSBC HOLDINGS PLC |
+| 1126328 | PRINCIPAL FINANCIAL GROUP INC |
+
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/98 Example Applications.html
new file mode 100644
index 0000000000..3aeace670e
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/98 Example Applications.html
@@ -0,0 +1,279 @@
+The US SEC 13F Whales dataset enables you to follow what large institutional investors hold and how their positions change. Examples include the following strategies:
+
+
+ - Following the quarterly positions of specific fund managers on the premise that they are more informed
+ - Buying the securities that institutions are accumulating and selling the ones they are reducing
+ - Avoiding crowded securities that many managers hold at the same time
+
+Classic Algorithm Example
+The following example algorithm buys AAPL when Parnassus Investments reports more shares of it than in the previous quarter. Otherwise, it liquidates the position.
+
+
+
from AlgorithmImports import *
+
+
+class SEC13FDataAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2019, 1, 1)
+ self.set_end_date(2020, 8, 31)
+ self.set_cash(100000)
+
+ self.equity = self.add_equity("AAPL", Resolution.DAILY).symbol
+ self.add_data(SEC13FHoldings, self.equity)
+
+ self.shares_by_quarter = {}
+
+ def on_data(self, slice):
+ for _, point in slice.get(SEC13FHoldings).items():
+ for holding in point:
+ # Sum the share lines Parnassus Investments reports for each quarter.
+ if (holding.manager_cik != 948669 or holding.form_type != "13F-HR"
+ or holding.amount_type != "SH" or holding.put_call is not None):
+ continue
+
+ quarter = holding.period_end
+ self.shares_by_quarter[quarter] = self.shares_by_quarter.get(quarter, 0) + (holding.amount or 0)
+ self.log(f"{self.time:%Y-%m-%d} {holding.manager_name} reports {holding.amount:,.0f} shares "
+ f"for {quarter:%Y-%m-%d}")
+
+ quarters = [self.shares_by_quarter[q] for q in sorted(self.shares_by_quarter)]
+ if len(quarters) < 2 or slice.bars.count == 0:
+ return
+
+ # Buy when the manager adds shares, otherwise liquidate.
+ if quarters[-1] > quarters[-2]:
+ self.set_holdings(self.equity, 1)
+ else:
+ self.liquidate(self.equity)
+
using System;
+using System.Collections.Generic;
+using System.Linq;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Data;
+using QuantConnect.DataSource;
+
+ public class SEC13FDataAlgorithm : QCAlgorithm
+ {
+ private Symbol _equity;
+ private readonly Dictionary<DateTime, decimal> _sharesByQuarter = new();
+
+ public override void Initialize()
+ {
+ SetStartDate(2019, 1, 1);
+ SetEndDate(2020, 8, 31);
+ SetCash(100000);
+
+ _equity = AddEquity("AAPL", Resolution.Daily).Symbol;
+ AddData<SEC13FHoldings>(_equity);
+ }
+
+ public override void OnData(Slice slice)
+ {
+ foreach (var (_, point) in slice.Get<SEC13FHoldings>())
+ {
+ // Sum the share lines Parnassus Investments reports for each quarter.
+ foreach (var holding in point.OfType<SEC13FHolding>().Where(holding =>
+ holding.ManagerCik == 948669 && holding.FormType == "13F-HR" &&
+ holding.AmountType == "SH" && !holding.PutCall.HasValue))
+ {
+ _sharesByQuarter.TryGetValue(holding.PeriodEnd, out var reported);
+ _sharesByQuarter[holding.PeriodEnd] = reported + (holding.Amount ?? 0);
+ Log($"{Time:yyyy-MM-dd} {holding.ManagerName} reports {holding.Amount:N0} shares " +
+ $"for {holding.PeriodEnd:yyyy-MM-dd}");
+ }
+ }
+
+ var quarters = _sharesByQuarter.OrderBy(entry => entry.Key).Select(entry => entry.Value).ToList();
+ if (quarters.Count < 2 || slice.Bars.Count == 0)
+ {
+ return;
+ }
+
+ // Buy when the manager adds shares, otherwise liquidate.
+ if (quarters[^1] > quarters[^2])
+ {
+ SetHoldings(_equity, 1);
+ }
+ else
+ {
+ Liquidate(_equity);
+ }
+ }
+ }
+
+Framework Algorithm Example
+The following example algorithm compares how many managers report AAPL in two consecutive quarters once their 45-day filing deadline has passed. It emits an up insight when the later quarter has more managers and a down insight when it has fewer.
+
+
+
from AlgorithmImports import *
+
+
+class SEC13FFrameworkAlgorithm(QCAlgorithm):
+
+ def initialize(self):
+ self.set_start_date(2020, 1, 1)
+ self.set_end_date(2020, 12, 31)
+ self.set_cash(100000)
+
+ self.universe_settings.resolution = Resolution.DAILY
+ self.set_universe_selection(ManualUniverseSelectionModel(
+ [Symbol.create("AAPL", SecurityType.EQUITY, Market.USA)]))
+
+ self.add_alpha(SEC13FCrowdingAlphaModel())
+ self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel())
+ self.set_execution(ImmediateExecutionModel())
+
+
+class SEC13FCrowdingAlphaModel(AlphaModel):
+
+ # Count a quarter only after its 45-day filing deadline has passed.
+ FILING_DEADLINE = timedelta(days=45)
+
+ def __init__(self):
+ self._holdings = {}
+ self._managers = {}
+ self._emitted = set()
+
+ def update(self, algorithm, data):
+ insights = []
+
+ for holdings_symbol, point in data.get(SEC13FHoldings).items():
+ equity = holdings_symbol.underlying
+ by_period = self._managers.setdefault(equity, {})
+
+ for holding in point:
+ if (holding.form_type != "13F-HR" or holding.amount_type != "SH"
+ or holding.put_call is not None
+ or algorithm.time > holding.period_end + self.FILING_DEADLINE):
+ continue
+ by_period.setdefault(holding.period_end, set()).add(holding.manager_cik)
+
+ closed = [p for p in sorted(by_period) if algorithm.time >= p + self.FILING_DEADLINE]
+ if len(closed) < 2 or (equity, closed[-1]) in self._emitted:
+ continue
+
+ self._emitted.add((equity, closed[-1]))
+ latest, previous = len(by_period[closed[-1]]), len(by_period[closed[-2]])
+ if latest == previous:
+ continue
+
+ algorithm.log(f"{algorithm.time:%Y-%m-%d} {equity.value}: {previous} -> {latest} managers")
+ direction = InsightDirection.UP if latest > previous else InsightDirection.DOWN
+ insights.append(Insight.price(equity, timedelta(days=30), direction))
+
+ return insights
+
+ def on_securities_changed(self, algorithm, changes):
+ for security in changes.added_securities:
+ self._holdings[security.symbol] = algorithm.add_data(SEC13FHoldings, security.symbol).symbol
+
+ for security in changes.removed_securities:
+ holdings_symbol = self._holdings.pop(security.symbol, None)
+ if holdings_symbol is not None:
+ algorithm.remove_security(holdings_symbol)
+
using System;
+using System.Collections.Generic;
+using System.Linq;
+using QuantConnect;
+using QuantConnect.Algorithm;
+using QuantConnect.Algorithm.Framework.Alphas;
+using QuantConnect.Algorithm.Framework.Execution;
+using QuantConnect.Algorithm.Framework.Portfolio;
+using QuantConnect.Algorithm.Framework.Selection;
+using QuantConnect.Data;
+using QuantConnect.Data.UniverseSelection;
+using QuantConnect.DataSource;
+
+ public class SEC13FFrameworkAlgorithm : QCAlgorithm
+ {
+ public override void Initialize()
+ {
+ SetStartDate(2020, 1, 1);
+ SetEndDate(2020, 12, 31);
+ SetCash(100000);
+
+ UniverseSettings.Resolution = Resolution.Daily;
+ SetUniverseSelection(new ManualUniverseSelectionModel(
+ QuantConnect.Symbol.Create("AAPL", SecurityType.Equity, Market.USA)));
+
+ AddAlpha(new SEC13FCrowdingAlphaModel());
+ SetPortfolioConstruction(new EqualWeightingPortfolioConstructionModel());
+ SetExecution(new ImmediateExecutionModel());
+ }
+ }
+
+ public class SEC13FCrowdingAlphaModel : AlphaModel
+ {
+ // Count a quarter only after its 45-day filing deadline has passed.
+ private static readonly TimeSpan FilingDeadline = TimeSpan.FromDays(45);
+
+ private readonly Dictionary<Symbol, Symbol> _holdings = new();
+ private readonly Dictionary<Symbol, Dictionary<DateTime, HashSet<int>>> _managers = new();
+ private readonly HashSet<(Symbol, DateTime)> _emitted = new();
+
+ public override IEnumerable<Insight> Update(QCAlgorithm algorithm, Slice data)
+ {
+ var insights = new List<Insight>();
+
+ foreach (var (holdingsSymbol, point) in data.Get<SEC13FHoldings>())
+ {
+ var equity = holdingsSymbol.Underlying;
+ if (!_managers.TryGetValue(equity, out var byPeriod))
+ {
+ _managers[equity] = byPeriod = new Dictionary<DateTime, HashSet<int>>();
+ }
+
+ foreach (var holding in point.OfType<SEC13FHolding>().Where(holding =>
+ holding.FormType == "13F-HR" && holding.AmountType == "SH" &&
+ !holding.PutCall.HasValue &&
+ algorithm.Time <= holding.PeriodEnd + FilingDeadline))
+ {
+ if (!byPeriod.TryGetValue(holding.PeriodEnd, out var managers))
+ {
+ byPeriod[holding.PeriodEnd] = managers = new HashSet<int>();
+ }
+
+ managers.Add(holding.ManagerCik);
+ }
+
+ var closed = byPeriod.Keys.Where(p => algorithm.Time >= p + FilingDeadline)
+ .OrderBy(p => p).ToList();
+ if (closed.Count < 2 || !_emitted.Add((equity, closed[^1])))
+ {
+ continue;
+ }
+
+ var latest = byPeriod[closed[^1]].Count;
+ var previous = byPeriod[closed[^2]].Count;
+ if (latest == previous)
+ {
+ continue;
+ }
+
+ algorithm.Log($"{algorithm.Time:yyyy-MM-dd} {equity.Value}: {previous} -> {latest} managers");
+ var direction = latest > previous ? InsightDirection.Up : InsightDirection.Down;
+ insights.Add(Insight.Price(equity, TimeSpan.FromDays(30), direction));
+ }
+
+ return insights;
+ }
+
+ public override void OnSecuritiesChanged(QCAlgorithm algorithm, SecurityChanges changes)
+ {
+ foreach (var security in changes.AddedSecurities)
+ {
+ _holdings[security.Symbol] = algorithm.AddData<SEC13FHoldings>(security.Symbol).Symbol;
+ }
+
+ foreach (var security in changes.RemovedSecurities)
+ {
+ if (_holdings.Remove(security.Symbol, out var holdingsSymbol))
+ {
+ algorithm.RemoveSecurity(holdingsSymbol);
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/99 Data Point Attributes.html
new file mode 100644
index 0000000000..6899dbb57e
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/99 Data Point Attributes.html
@@ -0,0 +1,9 @@
+The SEC Whales dataset provides SEC13FHoldings and SEC13FHolding objects.
+
+SEC13FHoldings
+SEC13FHoldings objects have the following attributes:
+
+
+SEC13FHolding
+SEC13FHolding objects have the following attributes:
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/metadata.json b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/metadata.json
new file mode 100644
index 0000000000..ef7db6fccf
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/01 US SEC 13F Whales/metadata.json
@@ -0,0 +1,12 @@
+{
+ "type": "metadata",
+ "values": {
+ "description": "US SEC 13F Whales dataset from Securities and Exchange Commission.",
+ "keywords": "data, financial data, alternative dataset",
+ "og:description": "US SEC 13F Whales dataset from Securities and Exchange Commission.",
+ "og:title": "US SEC 13F Whales - Documentation QuantConnect.com",
+ "og:type": "website",
+ "og:site_name": "US SEC 13F Whales - QuantConnect.com",
+ "og:image": "https://cdn.quantconnect.com/docs/i/writing-algorithms/datasets/securities-and-exchange-commission/us-sec-13f-whales.png"
+ }
+}
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/01 Introduction.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/02 About the Provider.html
new file mode 100644
index 0000000000..6211d3ffcc
--- /dev/null
+++ b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/02 About the Provider.html
@@ -0,0 +1 @@
+The mission of the U.S. Securities and Exchange Commission is to protect investors, maintain fair, orderly, and efficient markets, and facilitate capital formation. The SEC oversees the key participants in the securities world, including securities exchanges, securities brokers and dealers, investment advisors, and mutual funds. The SEC is concerned primarily with promoting the disclosure of important market-related information, maintaining fair dealing, and protecting against fraud.
\ No newline at end of file
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/metadata.json b/03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/24 Securities and Exchange Commission/01 US SEC Filings/metadata.json
rename to 03 Writing Algorithms/14 Datasets/25 Securities and Exchange Commission/02 US SEC Filings/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/00.json b/03 Writing Algorithms/14 Datasets/26 Smart Insider/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/00.json
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/00.json
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/01 Introduction.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/09 Universe History.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/09 Universe History.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/09 Universe History.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/09 Universe History.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/10 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/10 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/10 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/10 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/metadata.json b/03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/25 Smart Insider/01 Corporate Buybacks/metadata.json
rename to 03 Writing Algorithms/14 Datasets/26 Smart Insider/01 Corporate Buybacks/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/00.json b/03 Writing Algorithms/14 Datasets/27 Tiingo/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/00.json
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/00.json
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/01 Introduction.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/metadata.json b/03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/26 Tiingo/01 Tiingo News Feed/metadata.json
rename to 03 Writing Algorithms/14 Datasets/27 Tiingo/01 Tiingo News Feed/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/00.json b/03 Writing Algorithms/14 Datasets/28 Treasury Department/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/00.json
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/00.json
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/01 Introduction.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/metadata.json b/03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/27 Treasury Department/01 US Treasury Yield Curve/metadata.json
rename to 03 Writing Algorithms/14 Datasets/28 Treasury Department/01 US Treasury Yield Curve/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/00.json b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/00.json
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/00.json
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/01 Introduction.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/09 Supported Industries.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/09 Supported Industries.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/09 Supported Industries.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/09 Supported Industries.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/metadata.json b/03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/28 US Bureau of Economic Analysis/01 GDP by Industry/metadata.json
rename to 03 Writing Algorithms/14 Datasets/29 US Bureau of Economic Analysis/01 GDP by Industry/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/00.json b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/00.json
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/00.json
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/01 Introduction.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/09 Supported Assets.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/09 Supported Assets.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/09 Supported Assets.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/09 Supported Assets.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/metadata.json b/03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/29 US Department of Agriculture/01 USDA Fruit And Vegetables/metadata.json
rename to 03 Writing Algorithms/14 Datasets/30 US Department of Agriculture/01 USDA Fruit And Vegetables/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/00.json b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/00.json
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/00.json
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/01 Introduction.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/08 Universe Selection.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/08 Universe Selection.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/08 Universe Selection.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/08 Universe Selection.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/09 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/09 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/09 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/09 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/metadata.json b/03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/30 United States Patent and Trademark Office/01 Patent Maintenance/metadata.json
rename to 03 Writing Algorithms/14 Datasets/31 United States Patent and Trademark Office/01 Patent Maintenance/metadata.json
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/00.json b/03 Writing Algorithms/14 Datasets/32 VIX Central/00.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/00.json
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/00.json
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/01 Introduction.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/01 Introduction.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/01 Introduction.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/01 Introduction.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/02 About the Provider.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/02 About the Provider.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/02 About the Provider.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/02 About the Provider.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/03 Getting Started.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/03 Getting Started.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/03 Getting Started.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/03 Getting Started.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/04 Data Summary.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/04 Data Summary.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/04 Data Summary.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/04 Data Summary.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/05 Requesting Data.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/05 Requesting Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/05 Requesting Data.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/05 Requesting Data.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/06 Accessing Data.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/06 Accessing Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/06 Accessing Data.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/06 Accessing Data.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/07 Historical Data.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/07 Historical Data.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/07 Historical Data.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/07 Historical Data.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/08 Remove Subscriptions.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/08 Remove Subscriptions.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/08 Remove Subscriptions.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/08 Remove Subscriptions.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/98 Example Applications.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/98 Example Applications.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/98 Example Applications.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/98 Example Applications.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/99 Data Point Attributes.html b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/99 Data Point Attributes.html
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/99 Data Point Attributes.html
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/99 Data Point Attributes.html
diff --git a/03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/metadata.json b/03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/metadata.json
similarity index 100%
rename from 03 Writing Algorithms/14 Datasets/31 VIX Central/01 VIX Central Contango/metadata.json
rename to 03 Writing Algorithms/14 Datasets/32 VIX Central/01 VIX Central Contango/metadata.json
diff --git a/05 Lean CLI/99 API Reference/00.json b/05 Lean CLI/99 API Reference/00.json
index 40e8591c8d..0c9c5cc155 100644
--- a/05 Lean CLI/99 API Reference/00.json
+++ b/05 Lean CLI/99 API Reference/00.json
@@ -63,6 +63,7 @@
"56": "",
"57": "",
"58": "",
- "59": ""
+ "59": "",
+ "60": ""
}
}
\ No newline at end of file
diff --git a/05 Lean CLI/99 API Reference/07 lean cloud live deploy/04 Options.html b/05 Lean CLI/99 API Reference/07 lean cloud live deploy/04 Options.html
index 5413041076..153747eaa4 100644
--- a/05 Lean CLI/99 API Reference/07 lean cloud live deploy/04 Options.html
+++ b/05 Lean CLI/99 API Reference/07 lean cloud live deploy/04 Options.html
@@ -373,11 +373,11 @@
--notify-emails <string> |
- A comma-separated list of 'email:subject' pairs configuring email-notifications |
+ A comma-separated list of 'email:subject' pairs configuring email-notifications. Wrap a subject containing ',' in double quotes, e.g. 'a@x.com:"Fills, orders"' |
--notify-webhooks <string> |
- A comma-separated list of 'url:HEADER_1=VALUE_1:HEADER_2=VALUE_2:etc' pairs configuring webhook-notifications |
+ A comma-separated list of 'url:HEADER_1=VALUE_1:HEADER_2=VALUE_2:etc' pairs configuring webhook-notifications. Wrap a url (with ',' or a ':' outside its scheme and port) or a header (with ':' or ',') in double quotes, e.g. '"https://x.com/hook?t=1:2":"Auth=Bearer a:b"' |
--notify-sms <string> |
@@ -385,7 +385,7 @@
--notify-telegram <string> |
- A comma-separated list of 'user/group Id:token(optional)' pairs configuring telegram- notifications |
+ A comma-separated list of 'user/group Id:token(optional)' pairs configuring telegram- notifications. Wrap a token containing ',' in double quotes |
--live-cash-balance <string> |
diff --git a/05 Lean CLI/99 API Reference/59 lean ui/01 Introduction.html b/05 Lean CLI/99 API Reference/59 lean ui/01 Introduction.html
new file mode 100644
index 0000000000..bffb679686
--- /dev/null
+++ b/05 Lean CLI/99 API Reference/59 lean ui/01 Introduction.html
@@ -0,0 +1,5 @@
+Browse projects and run commands on them in an interactive terminal UI.
+
+To use the CLI, you must be a member in an organization on a paid tier.
\ No newline at end of file
diff --git a/05 Lean CLI/99 API Reference/59 lean ui/04 Options.html b/05 Lean CLI/99 API Reference/59 lean ui/04 Options.html
new file mode 100644
index 0000000000..09441003a1
--- /dev/null
+++ b/05 Lean CLI/99 API Reference/59 lean ui/04 Options.html
@@ -0,0 +1,23 @@
+The lean ui command supports the following options:
+
+
+
+ | Option |
+ Description |
+
+
+
+
+ --lean-config <file> |
+ The Lean configuration file that should be used (defaults to the nearest lean.json) |
+
+
+ --verbose |
+ Enable debug logging |
+
+
+ --help |
+ Display the help text of the lean ui command and exit |
+
+
+
\ No newline at end of file
diff --git a/05 Lean CLI/99 API Reference/59 lean ui/metadata.json b/05 Lean CLI/99 API Reference/59 lean ui/metadata.json
new file mode 100644
index 0000000000..4a6612d822
--- /dev/null
+++ b/05 Lean CLI/99 API Reference/59 lean ui/metadata.json
@@ -0,0 +1,12 @@
+{
+ "type": "metadata",
+ "values": {
+ "description": "API reference for the command `lean ui` in command line console.",
+ "keywords": "lean cli, api, api reference, command, command line, lean ui",
+ "og:description": "API reference for the command `lean ui` in command line console.",
+ "og:title": "lean ui - Documentation QuantConnect.com",
+ "og:type": "website",
+ "og:site_name": "lean ui - QuantConnect.com",
+ "og:image": "https://cdn.quantconnect.com/docs/i/lean-cli/api-reference/lean-ui.png"
+ }
+}
\ No newline at end of file
diff --git a/05 Lean CLI/99 API Reference/59 lean whoami/01 Introduction.html b/05 Lean CLI/99 API Reference/60 lean whoami/01 Introduction.html
similarity index 100%
rename from 05 Lean CLI/99 API Reference/59 lean whoami/01 Introduction.html
rename to 05 Lean CLI/99 API Reference/60 lean whoami/01 Introduction.html
diff --git a/05 Lean CLI/99 API Reference/59 lean whoami/02 Description.html b/05 Lean CLI/99 API Reference/60 lean whoami/02 Description.html
similarity index 100%
rename from 05 Lean CLI/99 API Reference/59 lean whoami/02 Description.html
rename to 05 Lean CLI/99 API Reference/60 lean whoami/02 Description.html
diff --git a/05 Lean CLI/99 API Reference/59 lean whoami/04 Options.html b/05 Lean CLI/99 API Reference/60 lean whoami/04 Options.html
similarity index 100%
rename from 05 Lean CLI/99 API Reference/59 lean whoami/04 Options.html
rename to 05 Lean CLI/99 API Reference/60 lean whoami/04 Options.html
diff --git a/05 Lean CLI/99 API Reference/59 lean whoami/metadata.json b/05 Lean CLI/99 API Reference/60 lean whoami/metadata.json
similarity index 100%
rename from 05 Lean CLI/99 API Reference/59 lean whoami/metadata.json
rename to 05 Lean CLI/99 API Reference/60 lean whoami/metadata.json
diff --git a/Resources/datasets/available-universe.html b/Resources/datasets/available-universe.html
index 61d63270cd..6923164451 100644
--- a/Resources/datasets/available-universe.html
+++ b/Resources/datasets/available-universe.html
@@ -38,6 +38,11 @@
CryptoUniverse |
Learn more |
+
+ | Factors |
+ FactorsUniverse |
+ Learn more |
+
| International Future Universe |
FutureFilterUniverseFutureUniverse
|
@@ -98,6 +103,11 @@
CoinGeckoUniverse |
Learn more |
+
+ | US Bank Financials |
+ FDICBankFinancialsUniverse |
+ Learn more |
+
| OTC Transparency |
FINRAShortInterestUniverseFINRAWeeklySummaryUniverseFINRAMonthlySummaryUniverse
|
diff --git a/Resources/datasets/supported-alternative-dataset-universe.html b/Resources/datasets/supported-alternative-dataset-universe.html
index 9c17f796b6..2027b3f855 100644
--- a/Resources/datasets/supported-alternative-dataset-universe.html
+++ b/Resources/datasets/supported-alternative-dataset-universe.html
@@ -8,6 +8,7 @@
Upcoming Earnings
Upcoming IPOs
Upcoming Splits
+ US Bank Financials
OTC Transparency
Regulation SHO
CNBC Trading
diff --git a/project-templates/csharp/datasets.json b/project-templates/csharp/datasets.json
index b4bf37b236..94a7e17e9a 100644
--- a/project-templates/csharp/datasets.json
+++ b/project-templates/csharp/datasets.json
@@ -720,6 +720,58 @@
"usage": "public override void OnData(Slice slice)\n{\n if (slice.MarginInterestRates.ContainsKey(_cryptoFuture.Symbol))\n {\n var interestRate = slice.MarginInterestRates[_cryptoFuture.Symbol].InterestRate;\n Log($\"{_cryptoFuture.Symbol} interest rate at {slice.Time}: {interestRate}\");\n }\n}"
}
},
+ {
+ "name": "US SEC 13F Whales",
+ "shortDescription": "Ownership filings from the SEC as their holders filed them, starting with Form 13F institutional holdings",
+ "history": "May 2013",
+ "reach": "18,877 US Equities",
+ "url": "sec-whales",
+ "examples": {
+ "init": "_datasetSymbol = AddData(_symbol).Symbol;",
+ "history": "var history = History(_datasetSymbol, TimeSpan.FromDays(60), Resolution.Daily);",
+ "research-history": "var history = qb.History(datasetSymbol, TimeSpan.FromDays(60), Resolution.Daily);",
+ "usage": "public override void OnData(Slice slice)\n{\n if (slice.ContainsKey(_datasetSymbol))\n {\n foreach (SEC13FHolding holding in slice[_datasetSymbol])\n {\n Log($\"{_datasetSymbol} CIK {holding.ManagerCik} at {slice.Time}: {holding.Amount} {holding.AmountType}\");\n }\n }\n}"
+ }
+ },
+ {
+ "name": "US Bank Financials",
+ "shortDescription": "Quarterly call reports of every FDIC-insured bank, linked to the listed owner, published by the Federal Deposit Insurance Corporation",
+ "history": "June 1984",
+ "reach": "24,064 Banks",
+ "url": "fdic-us-bank-financials",
+ "examples": {
+ "init": "_datasetSymbol = AddData(_symbol).Symbol;",
+ "history": "var history = History(_datasetSymbol, TimeSpan.FromDays(365), Resolution.Daily);",
+ "research-history": "var history = qb.History(datasetSymbol, TimeSpan.FromDays(365), Resolution.Daily);",
+ "usage": "public override void OnData(Slice slice)\n{\n if (slice.TryGet(_datasetSymbol, out var reports))\n {\n foreach (FDICBankFinancial report in reports.Data)\n {\n Log($\"{report.InstitutionName} {report.ReportDate}: {report.EstimatedUninsuredDeposits}\");\n }\n }\n}"
+ }
+ },
+ {
+ "name": "US Bank Failures",
+ "shortDescription": "Every failure of an FDIC-insured bank since 1934, with its assets and deposits, published by the Federal Deposit Insurance Corporation",
+ "history": "April 1934",
+ "reach": "4,117 Bank Failures",
+ "url": "fdic-us-bank-failures",
+ "examples": {
+ "init": "_datasetSymbol = AddData(FDIC.Failures).Symbol;",
+ "history": "var history = History(_datasetSymbol, TimeSpan.FromDays(730), Resolution.Daily);",
+ "research-history": "var history = qb.History(datasetSymbol, TimeSpan.FromDays(730), Resolution.Daily);",
+ "usage": "public override void OnData(Slice slice)\n{\n if (slice.TryGet(_datasetSymbol, out var failures))\n {\n foreach (FDICBankFailure failure in failures.Data)\n {\n Log($\"{failure.InstitutionName} ({failure.State}): assets {failure.TotalAssets}\");\n }\n }\n}"
+ }
+ },
+ {
+ "name": "Factors",
+ "shortDescription": "Daily precomputed factors for individual US Equities, plus market-wide factors not linked to specific Equities",
+ "history": "January 1998",
+ "reach": "SPY Constituents, plus unlinked factors",
+ "url": "quantconnect-factors",
+ "examples": {
+ "init": "_equityFactors = AddData(_equity.Symbol).Symbol;",
+ "history": "var equityFactorsHistory = History(_equityFactors, 100, Resolution.Daily);",
+ "research-history": "var equityFactorsHistory = qb.History(equityFactors, 100, Resolution.Daily);",
+ "usage": "public override void OnData(Slice data)\n{\n if (data.Get().TryGetValue(_equityFactors, out var equityFactors))\n {\n var value = equityFactors[Factors.Roc1Day];\n }\n\n if (data.Get().TryGetValue(_unlinkedFactors, out var unlinkedFactors))\n {\n var ustYield = unlinkedFactors[Factors.UstYield1Month];\n }\n}"
+ }
+ },
{
"name": "Fear and Greed",
"shortDescription": "A daily index between 0 and 100, representing the degree of fear or greed in the US Equity market.",
diff --git a/project-templates/python/datasets.json b/project-templates/python/datasets.json
index f2b2910a76..55504e2198 100644
--- a/project-templates/python/datasets.json
+++ b/project-templates/python/datasets.json
@@ -720,6 +720,66 @@
"usage": "def on_data(self, slice: Slice) -> None:\n if self._crypto_future.symbol in slice.margin_interest_rates:\n interest_rate = slice.margin_interest_rates[self._crypto_future.symbol].interest_rate\n self.log(f'{self._crypto_future.symbol} interest rate at {slice.time}: {interest_rate}')"
}
},
+ {
+ "name": "US SEC 13F Whales",
+ "shortDescription": "Ownership filings from the SEC as their holders filed them, starting with Form 13F institutional holdings",
+ "history": "May 2013",
+ "reach": "18,877 US Equities",
+ "url": "sec-whales",
+ "examples": {
+ "init": "self._dataset_symbol = self.add_data(SEC13FHoldings, self._symbol).symbol",
+ "history": "history_df = self.history(SEC13FHoldings, self._dataset_symbol, timedelta(days=60), Resolution.DAILY, flatten=True)",
+ "research-history": "history_df = qb.history(SEC13FHoldings, dataset_symbol, timedelta(days=60), Resolution.DAILY, flatten=True)",
+ "usage": "def on_data(self, slice: Slice) -> None:\n if slice.contains_key(self._dataset_symbol):\n for holding in slice[self._dataset_symbol]:\n self.log(f\"{self._dataset_symbol} CIK {holding.manager_cik} at {slice.time}: {holding.amount} {holding.amount_type}\")"
+ }
+ },
+ {
+ "name": "US Bank Financials",
+ "shortDescription": "Quarterly call reports of every FDIC-insured bank, linked to the listed owner, published by the Federal Deposit Insurance Corporation",
+ "history": "June 1984",
+ "reach": "24,064 Banks",
+ "url": "fdic-us-bank-financials",
+ "examples": {
+ "init": "self._dataset_symbol = self.add_data(FDICBankFinancials, self._symbol).symbol",
+ "history": "history = self.history[FDICBankFinancials](self._dataset_symbol, timedelta(days=365), Resolution.DAILY)",
+ "universe-init": "self._universe = self.add_universe(FDICBankFinancialsUniverse, self.universe_selection)",
+ "universe-history": "history = self.history(self._universe, 30, Resolution.DAILY, flatten=True)",
+ "universe-filter": "def universe_selection(self, alt_coarse: List[FDICBankFinancialsUniverse]) -> List[Symbol]:\n return list({d.symbol for d in alt_coarse if d.domestic_deposits and (d.estimated_uninsured_deposits or 0) / d.domestic_deposits < 0.3})",
+ "research-history": "history = qb.history[FDICBankFinancials](dataset_symbol, timedelta(days=365), Resolution.DAILY)",
+ "research-universe-history": "history = qb.universe_history(universe, qb.time-timedelta(30), qb.time, flatten=True)",
+ "usage": "def on_data(self, slice: Slice) -> None:\n reports = slice.get(FDICBankFinancials).get(self._dataset_symbol)\n if reports:\n for report in reports.data:\n self.log(f\"{report.institution_name} {report.report_date}: {report.estimated_uninsured_deposits}\")"
+ }
+ },
+ {
+ "name": "US Bank Failures",
+ "shortDescription": "Every failure of an FDIC-insured bank since 1934, with its assets and deposits, published by the Federal Deposit Insurance Corporation",
+ "history": "April 1934",
+ "reach": "4,117 Bank Failures",
+ "url": "fdic-us-bank-failures",
+ "examples": {
+ "init": "self._dataset_symbol = self.add_data(FDICBankFailures, FDIC.FAILURES).symbol",
+ "history": "history = self.history[FDICBankFailures](self._dataset_symbol, timedelta(days=730), Resolution.DAILY)",
+ "research-history": "history = qb.history[FDICBankFailures](dataset_symbol, timedelta(days=730), Resolution.DAILY)",
+ "usage": "def on_data(self, slice: Slice) -> None:\n failures = slice.get(FDICBankFailures).get(self._dataset_symbol)\n if failures:\n for failure in failures.data:\n self.log(f\"{failure.institution_name} ({failure.state}): assets {failure.total_assets}\")"
+ }
+ },
+ {
+ "name": "Factors",
+ "shortDescription": "Daily precomputed factors for individual US Equities, plus market-wide factors not linked to specific Equities",
+ "history": "January 1998",
+ "reach": "SPY Constituents, plus unlinked factors",
+ "url": "quantconnect-factors",
+ "examples": {
+ "init": "self._equity.factors = self.add_data(Factors, self._equity.symbol).symbol",
+ "history": "equity_factors_history_df = self.history(self._equity.factors, 100, Resolution.DAILY)",
+ "universe-init": "self._universe = self.add_universe(FactorsUniverse, self._select_assets)",
+ "universe-history": "history = self.history(self._universe, 30, Resolution.DAILY, flatten=True)",
+ "universe-filter": "def _select_assets(self, data: List[FactorsUniverse]) -> List[Symbol]:\n ust_yield = None\n positive = []\n negative = []\n for factors in data:\n if Factors.UST_YIELD_1_MONTH in factors.keys:\n ust_yield = factors[Factors.UST_YIELD_1_MONTH]\n elif Factors.ROC_1_DAY in factors.keys:\n if factors[Factors.ROC_1_DAY] > 0:\n positive.append(factors.symbol)\n else:\n negative.append(factors.symbol)\n return positive if ust_yield < 4 else negative",
+ "research-history": "equity_factors_history_df = qb.history(equity.factors, 100, Resolution.DAILY)",
+ "research-universe-history": "history = qb.universe_history(universe, qb.time-timedelta(30), qb.time, flatten=True)",
+ "usage": "def on_data(self, data: Slice) -> None:\n equity_factors = data.get(Factors).get(self._equity.factors)\n if equity_factors:\n value = equity_factors[Factors.ROC_1_DAY]\n\n unlinked_factors = data.get(Factors).get(self._unlinked_factors)\n if unlinked_factors:\n ust_yield = unlinked_factors[Factors.UST_YIELD_1_MONTH]"
+ }
+ },
{
"name": "Fear and Greed",
"shortDescription": "A daily index between 0 and 100, representing the degree of fear or greed in the US Equity market.",
diff --git a/skill-templates/datasets/alternative-data-universes/SKILL.md b/skill-templates/datasets/alternative-data-universes/SKILL.md
index 17f4b8c2d0..e7f9ca49f7 100644
--- a/skill-templates/datasets/alternative-data-universes/SKILL.md
+++ b/skill-templates/datasets/alternative-data-universes/SKILL.md
@@ -13,6 +13,7 @@ description: Use when selecting a dynamic Equity universe from QuantConnect/LEAN
- `EODHDUpcomingEarnings` — Upcoming Earnings
- `EODHDUpcomingIPOs` — Upcoming IPOs
- `EODHDUpcomingSplits` — Upcoming Splits
+- `FDICBankFinancialsUniverse` — US Bank Financials
- `FINRAShortInterestUniverse` — OTC Transparency
- `FINRAShortSaleVolumeUniverse` — Regulation SHO
- `QuiverCNBCsUniverse` — CNBC Trading
diff --git a/skill-templates/datasets/alternative-data/SKILL.md b/skill-templates/datasets/alternative-data/SKILL.md
index 18c2f504c0..4b86b6dd5e 100644
--- a/skill-templates/datasets/alternative-data/SKILL.md
+++ b/skill-templates/datasets/alternative-data/SKILL.md
@@ -57,6 +57,7 @@ public override void OnData(Slice slice)
| `EstimizeEstimate` | Estimize | py`id`cs`Id`, py`ticker`cs`Ticker`, py`fiscal_year`cs`FiscalYear`, py`fiscal_quarter`cs`FiscalQuarter`, py`created_at`cs`CreatedAt`, py`eps`cs`Eps`, py`revenue`cs`Revenue`, py`user_name`cs`UserName`, py`analyst_id`cs`AnalystId`, py`flagged`cs`Flagged` |
| `EstimizeRelease` | Estimize | py`id`cs`Id`, py`fiscal_year`cs`FiscalYear`, py`fiscal_quarter`cs`FiscalQuarter`, py`release_date`cs`ReleaseDate`, py`eps`cs`Eps`, py`revenue`cs`Revenue`, py`wall_street_eps_estimate`cs`WallStreetEpsEstimate`, py`wall_street_revenue_estimate`cs`WallStreetRevenueEstimate`, py`consensus_eps_estimate`cs`ConsensusEpsEstimate`, py`consensus_revenue_estimate`cs`ConsensusRevenueEstimate`, py`consensus_weighted_eps_estimate`cs`ConsensusWeightedEpsEstimate`, py`consensus_weighted_revenue_estimate`cs`ConsensusWeightedRevenueEstimate` |
| `ECBYieldCurve` | Euro Yield Curve | py`three_month`cs`ThreeMonth`, py`six_month`cs`SixMonth`, py`one_year`cs`OneYear`, py`two_year`cs`TwoYear`, py`three_year`cs`ThreeYear`, py`five_year`cs`FiveYear`, py`seven_year`cs`SevenYear`, py`ten_year`cs`TenYear`, py`twenty_year`cs`TwentyYear`, py`thirty_year`cs`ThirtyYear` |
+| `Factors` | Factors | py`item`cs`[System.String]`, py`keys`cs`Keys`, py`is_unlinked`cs`IsUnlinked` |
| `FamaFrench` | Fama French | py`market_excess_return`cs`MarketExcessReturn`, py`smb`cs`Smb`, py`hml`cs`Hml`, py`rmw`cs`Rmw`, py`cma`cs`Cma`, py`momentum`cs`Momentum`, py`risk_free_rate`cs`RiskFreeRate`, py`is_estimate`cs`IsEstimate` |
| `FearGreedIndex` | Fear and Greed | py`spx`cs`Spx`, py`spx_sma`cs`SpxSma`, py`market_momentum`cs`MarketMomentum`, py`stocks_at_yearly_highs`cs`StocksAtYearlyHighs`, py`stocks_at_yearly_lows`cs`StocksAtYearlyLows`, py`total_for_strength`cs`TotalForStrength`, py`net_yearly_highs_and_lows`cs`NetYearlyHighsAndLows`, py`stock_price_strength`cs`StockPriceStrength`, py`stocks_up_daily`cs`StocksUpDaily`, py`stocks_down_daily`cs`StocksDownDaily`, py`total_for_breadth`cs`TotalForBreadth`, py`mc_clellan_summation_index`cs`McClellanSummationIndex`, py`stock_price_breadth`cs`StockPriceBreadth`, py`put_call_ratio_daily`cs`PutCallRatioDaily`, py`put_call_ratio_sma`cs`PutCallRatioSma`, py`put_call_ratio_normalized`cs`PutCallRatioNormalized`, py`vix`cs`Vix`, py`vix_sma`cs`VixSma`, py`market_volatility`cs`MarketVolatility`, py`stock_returns`cs`StockReturns`, py`bond_returns`cs`BondReturns`, py`stock_bond_return_difference`cs`StockBondReturnDifference`, py`safe_haven_demand`cs`SafeHavenDemand`, py`junk_bond_yield`cs`JunkBondYield`, py`investment_grade_bond_yield`cs`InvestmentGradeBondYield`, py`bond_yield_spread`cs`BondYieldSpread`, py`junk_bond_demand`cs`JunkBondDemand`, py`qc_index`cs`QCIndex`, py`cnn_index`cs`CNNIndex` |
| `BEAGDPByIndustry` | GDP by Industry | py`value_added`cs`ValueAdded`, py`real_value_added`cs`RealValueAdded`, py`value_added_price_index`cs`ValueAddedPriceIndex`, py`value_added_quantity_index`cs`ValueAddedQuantityIndex`, py`share_of_gdp`cs`ShareOfGDP`, py`gross_output`cs`GrossOutput`, py`real_gross_output`cs`RealGrossOutput`, py`gross_output_price_index`cs`GrossOutputPriceIndex`, py`gross_output_quantity_index`cs`GrossOutputQuantityIndex`, py`intermediate_inputs`cs`IntermediateInputs`, py`real_intermediate_inputs`cs`RealIntermediateInputs`, py`intermediate_inputs_price_index`cs`IntermediateInputsPriceIndex`, py`intermediate_inputs_quantity_index`cs`IntermediateInputsQuantityIndex` |
@@ -81,6 +82,9 @@ public override void OnData(Slice slice)
| `EODHDUpcomingEarnings` | Upcoming Earnings | py`report_date`cs`ReportDate`, py`report_time`cs`ReportTime`, py`estimate`cs`Estimate` |
| `EODHDUpcomingIPOs` | Upcoming IPOs | py`name`cs`Name`, py`exchange`cs`Exchange`, py`ipo_date`cs`IpoDate`, py`filing_date`cs`FilingDate`, py`amended_date`cs`AmendedDate`, py`lowest_price`cs`LowestPrice`, py`highest_price`cs`HighestPrice`, py`offer_price`cs`OfferPrice`, py`shares`cs`Shares`, py`deal_type`cs`DealType` |
| `EODHDUpcomingSplits` | Upcoming Splits | py`split_date`cs`SplitDate`, py`optionable`cs`Optionable`, py`split_factor`cs`SplitFactor` |
+| `FDICBankFailures` | US Bank Failures | py`value`cs`Value` |
+| `FDICBankFinancials` | US Bank Financials | py`value`cs`Value` |
+| `FDICBankReports` | US Bank Financials | py`value`cs`Value` |
| `BLSEconomicSurveysCes` | US Bureau of Labor Statistics (BLS) | py`total_nonfarm`cs`TotalNonfarm`, py`total_private`cs`TotalPrivate`, py`average_hourly_earnings`cs`AverageHourlyEarnings`, py`average_weekly_hours`cs`AverageWeeklyHours`, py`average_weekly_earnings`cs`AverageWeeklyEarnings`, py`production_hourly_earnings`cs`ProductionHourlyEarnings`, py`production_employees`cs`ProductionEmployees`, py`manufacturing`cs`Manufacturing`, py`goods_producing`cs`GoodsProducing`, py`private_service_providing`cs`PrivateServiceProviding`, py`construction`cs`Construction`, py`retail_trade`cs`RetailTrade`, py`financial_activities`cs`FinancialActivities`, py`education_and_health_services`cs`EducationAndHealthServices`, py`leisure_and_hospitality`cs`LeisureAndHospitality`, py`mining_and_logging`cs`MiningAndLogging` |
| `BLSEconomicSurveysCpi` | US Bureau of Labor Statistics (BLS) | py`all_items`cs`AllItems`, py`core_cpi`cs`CoreCpi`, py`food`cs`Food`, py`food_at_home`cs`FoodAtHome`, py`food_away_from_home`cs`FoodAwayFromHome`, py`energy`cs`Energy`, py`shelter`cs`Shelter`, py`rent_of_primary_residence`cs`RentOfPrimaryResidence`, py`gasoline`cs`Gasoline`, py`medical_care`cs`MedicalCare`, py`apparel`cs`Apparel`, py`education_and_communication`cs`EducationAndCommunication`, py`new_vehicles`cs`NewVehicles`, py`used_cars_and_trucks`cs`UsedCarsAndTrucks`, py`college_tuition_and_fees`cs`CollegeTuitionAndFees` |
| `BLSEconomicSurveysJolts` | US Bureau of Labor Statistics (BLS) | py`job_openings`cs`JobOpenings`, py`job_openings_rate`cs`JobOpeningsRate`, py`hires`cs`Hires`, py`hires_rate`cs`HiresRate`, py`quits`cs`Quits`, py`quits_rate`cs`QuitsRate`, py`total_separations`cs`TotalSeparations`, py`layoffs_and_discharges`cs`LayoffsAndDischarges` |
@@ -128,6 +132,7 @@ public override void OnData(Slice slice)
| `ExtractAlphaTrueBeats`->`ExtractAlphaTrueBeat` | True Beats | py`fiscal_period`cs`FiscalPeriod`, py`earnings_metric`cs`EarningsMetric`, py`analyst_estimates_count`cs`AnalystEstimatesCount`, py`true_beat`cs`TrueBeat`, py`expert_beat`cs`ExpertBeat`, py`trend_beat`cs`TrendBeat`, py`management_beat`cs`ManagementBeat` |
| `QuiverCongress`->`QuiverCongressDataPoint` | US Congress Trading | py`record_date`cs`RecordDate`, py`updated_at`cs`UpdatedAt`, py`report_date`cs`ReportDate`, py`transaction_date`cs`TransactionDate`, py`representative`cs`Representative`, py`transaction`cs`Transaction`, py`amount`cs`Amount`, py`maximum_amount`cs`MaximumAmount`, py`house`cs`House`, py`party`cs`Party`, py`district`cs`District`, py`state`cs`State` |
| `RegalyticsRegulatoryArticles`->`RegalyticsRegulatoryArticle` | US Regulatory Alerts - Financial Sector | py`id`cs`Id`, py`title`cs`Title`, py`summary`cs`Summary`, py`status`cs`Status`, py`classification`cs`Classification`, py`filing_type`cs`FilingType`, py`in_federal_register`cs`InFederalRegister`, py`federal_register_number`cs`FederalRegisterNumber`, py`docket_file_number`cs`DocketFileNumber`, py`sec_release_number`cs`SecReleaseNumber`, py`proposed_comments_due_date`cs`ProposedCommentsDueDate`, py`original_publication_date`cs`OriginalPublicationDate`, py`federal_register_publication_date`cs`FederalRegisterPublicationDate`, py`rule_effective_date`cs`RuleEffectiveDate`, py`sourced_at`cs`SourcedAt`, py`latest_update`cs`LatestUpdate`, py`alert_type`cs`AlertType`, py`states`cs`States`, py`agencies`cs`Agencies`, py`sector`cs`Sector`, py`announcement_url`cs`AnnouncementUrl`, py`created_at`cs`CreatedAt` |
+| `SEC13FHoldings`->`SEC13FHolding` | US SEC 13F Whales | py`accession_number`cs`AccessionNumber`, py`manager_cik`cs`ManagerCik`, py`manager_name`cs`ManagerName`, py`period_end`cs`PeriodEnd`, py`form_type`cs`FormType`, py`amendment_type`cs`AmendmentType`, py`amendment_number`cs`AmendmentNumber`, py`title_of_class`cs`TitleOfClass`, py`amount`cs`Amount`, py`amount_type`cs`AmountType`, py`reported_value`cs`ReportedValue`, py`value_scale`cs`ValueScale`, py`market_value`cs`MarketValue`, py`put_call`cs`PutCall`, py`investment_discretion`cs`InvestmentDiscretion`, py`other_manager`cs`OtherManager`, py`voting_sole`cs`VotingSole`, py`voting_shared`cs`VotingShared`, py`voting_none`cs`VotingNone`, py`confidential_omitted`cs`ConfidentialOmitted`, py`date_reported`cs`DateReported` |
| `USDAFruitAndVegetables`->`USDAFruitAndVegetable` | USDA Fruit And Vegetables | py`form`cs`Form`, py`average_retail_price`cs`AverageRetailPrice`, py`unit`cs`Unit`, py`preparation_yield_factor`cs`PreparationYieldFactor`, py`cup_equivalent_size`cs`CupEquivalentSize`, py`cup_equivalent_unit`cs`CupEquivalentUnit`, py`price_per_cup_equivalent`cs`PricePerCupEquivalent` |
## Common mistakes