Skip to main content
Glama
JerBouma

Finance Toolkit

econometrics

Read-onlyIdempotent

Analyze price or return series with unit root, cointegration, causality, VAR/ARIMA, regression, and causal-design tests—using tickers or custom indicator series.

Instructions

Statistical and econometric analysis of price or return series: unit root tests (ADF, KPSS, Phillips-Perron, Zivot-Andrews), cointegration (Engle-Granger, Johansen, VECM), Granger causality, VAR forecasts, impulse responses and variance decomposition, ARIMA forecasts, regressions (OLS, WLS, GLS, quantile, logistic, probit, IV/2SLS, Fama-MacBeth, fixed and random effects panels; get_wls estimates its weights from the regression's residuals with weights='feasible' and get_gls an AR(1) error covariance with omega='ar1', the defaults; get_wald_test takes restriction_matrix as rows of numbers, e.g. [[0, 1, 0], [0, 0, 1]], with one column per coefficient, the Intercept first), causal designs (difference-in-differences, event study, regression discontinuity, synthetic control, propensity score matching), diagnostics (ARCH-LM, Jarque-Bera, Ljung-Box, Durbin-Watson, Breusch-Pagan, White, Ramsey RESET, VIF, Chow, CUSUM, variance ratio), forecast comparison (Diebold-Mariano, RMSE, MAE), regimes and dynamics (get_markov_regime_switching: calm and turbulent regimes with their mean, volatility and expected duration, probabilities=true per date; get_structural_breaks: Bai-Perron dates at which the mean shifts; get_time_varying_beta: Kalman filter alpha and beta per date against the benchmark; get_dcc_garch: DCC-GARCH correlation of every pair per date, parameters=true for the estimates) and get_pairs_trading (hedge ratio, half-life, cointegration p-value, z-score and signal per pair, window= for a rolling z-score, time_series=true per date). No need to fetch price data first. Requires tickers='AAPL' — use comma-separated values for multiple tickers. To analyze any other indicator instead of prices, pass series= with references separated by ';', each tool:indicator:tickers-or-countries with an optional :column, e.g. series='valuation:get_price_to_earnings_ratio:AAPL,MSFT' (quarterly=true for quarterly ratios), series='macroeconomics:get_inflation_rate:United States,Germany' or series='rates:get_government_bond_yield_curve:United States:2Y; rates:get_government_bond_yield_curve:United States:10Y'; each ticker or country becomes a series named after it (with the column, e.g. 'United States 10Y'), which dependent_ticker and independent_tickers name. The series themselves are the 'Adj Close' column (unit root, cointegration, breaks) and their changes the 'Return' column (regressions, diagnostics); changes='difference' suits rates and ratios. Use start_date for a long enough history.

Input Schema

NameRequiredDescriptionDefault
dNoFor get_arima_forecast: The number of times to difference the series. For get_out_of_sample_validation: The ARIMA differencing order (`model="arima"` only).
pNoFor get_arima_forecast: The autoregressive order. For get_out_of_sample_validation: The ARIMA autoregressive order (`model="arima"` only).
qNoFor get_arima_forecast: The moving-average order. For get_out_of_sample_validation: The ARIMA moving-average order (`model="arima"` only). For get_variance_ratio_test: The number of periods to sum returns over. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_arima_forecast, get_out_of_sample_validation; 2 for get_variance_ratio_test.
tauNoThe quantile to fit, in (0, 1).
lagsNoThe number of lags (past periods) the test or model uses, e.g. 1 or 5. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_impulse_response_function, get_out_of_sample_validation, get_var_forecast, get_variance_decomposition; None for get_kpss_test, get_phillips_perron_test; 10 for get_ljung_box_test; 5 for get_arch_lm_test.
lossNoThe loss function to compare forecast errors with, one of "squared" or "absolute".squared
trimNoThe fraction of observations excluded from the candidate break date search at the start and end of the sample. Must be in [0, 1/3).
limitNoThe rows to return, like head and tail: 5 for the first five, -5 for the last five (the most recent of a time series). A table with its periods as columns (financial statements, ratios) keeps its first or last periods instead. For ETF holdings the largest (or, negative, the smallest) by weight, and for a list (e.g. news or a screener) its length.
modelNoEither "arima" or "var".arima
omegaNoThe (symmetric, positive-definite) error covariance structure, up to a scalar, shape `(n, n)`, or "ar1" to estimate an AR(1) structure from the regression's own residuals (Prais-Winsten).ar1
powerNoThe highest power of the fitted values to add.
breaksNoThe number of breaks to find instead of choosing it by the BIC.
columnNoThe price column to use, e.g. 'Close' or 'Adj Close'. Leave unset to use the default of the indicator you selected. Defaults differ between indicators.
cutoffNoThe threshold value of `running_variable_ticker` at which the discontinuity is estimated. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity.
kernelNoOne of "uniform" or "triangular".uniform
periodNoObservation frequency, e.g. 'daily', 'weekly', 'monthly', 'quarterly', or 'annual' (supported values differ per method).
seriesNoAnalyze the indicators of other tools instead of the tickers' prices: references separated by ';', each tool:indicator:tickers-or-countries with an optional :column, e.g. 'valuation:get_price_to_earnings_ratio:AAPL,MSFT; macroeconomics:get_inflation_rate:United States' or 'rates:get_government_bond_yield_curve:United States,Germany:10Y'. Every ticker or country becomes a series named after it, which dependent_ticker and independent_tickers then name. Use start_date for a long enough history.
windowNoThe number of periods the indicator looks back over, e.g. 14 or 20.
caliperNoThe maximum allowed logit-propensity-score matching distance.
changesNoWith series: how their changes (the 'Return' column the regressions and diagnostics use) are calculated: 'percentage' (default), 'log', 'difference' (for rates and ratios) or 'none' (the series are changes already). The series themselves are the 'Adj Close' column the unit root and cointegration tests use.
lambda_NoThe decay factor used by the "ewma" method.
max_lagNoThe maximum number of lagged differences to consider. Leave unset to use the default of the indicator you selected. Defaults are None for get_augmented_dickey_fuller, get_engle_granger_cointegration, get_zivot_andrews_test; 5 for get_granger_causality.
maxlagsNoThe maximum lag to include when estimating the HAC (Newey-West) covariance matrix, only used when `cov_type="HAC"`.
periodsNoFor get_impulse_response_function: The number of periods ahead to trace the response out to. For get_variance_decomposition: The forecast horizon to decompose out to.
regimesNoThe number of regimes.
tickersNoComma-separated ticker symbols, e.g. 'AAPL,MSFT,GOOGL'.
weightsNoThe (positive) weight of each observation, aligned to the same period index as the return data (e.g. `1 / rolling_variance`), or "feasible" to estimate them from the regression's own residuals with the feasible GLS procedure of Wooldridge (2016).feasible
clustersNoFor get_ols: The cluster label for each observation (e.g. a coarser time bucket derived from the return index, to correct for within-period correlation), required when `cov_type="cluster"`. Aligned to the regression's own index before use, so it may be indexed by the full period index even though the... For get_wls: The cluster label for each observation, required when `cov_type="cluster"`.
cov_typeNoFor get_ols: Which covariance estimator to use for the standard errors -- one of "nonrobust" (classical, assumes homoskedastic errors), "HC0"/"HC1"/"HC2"/"HC3" (heteroskedasticity-robust), "cluster" (cluster-robust, requires `clusters`) or "HAC" (Newey-West, heteroskedasticity-and-autocorrelation-consistent,... For get_wls: Which covariance estimator to use, applied to the weighted/ transformed problem -- see `get_ols`'s `cov_type` for the full list of options.nonrobust
end_dateNoEnd of the date range in YYYY-MM-DD format.2026-10-27
gap_daysNoNumber of trading days between the end of the estimation window and the event date.
method_aNoThe first volatility forecasting method, one of "ewma" or "rolling".ewma
method_bNoThe second (competing) volatility forecasting method, one of "ewma" or "rolling".rolling
bandwidthNoThe maximum distance from `cutoff` an observation may be to be included in either local regression.
det_orderNoWhich deterministic term to include: -1 (none, Johansen's case 1), 0 (an unrestricted constant, case 3) or 1 (a linear trend, evaluated against the case 5 critical values). The critical values are those of MacKinnon, Haug & Michelis (1999).
indicatorYesName of the specific metric to calculate, one of the listed values. Required — search_metrics finds the indicator (and its tool) for a metric by name.
k_ar_diffNoThe number of lagged first differences to include as short-run dynamics.
quarterlyNoReturn quarterly data instead of annual when True.
break_dateNoThe date (e.g. "2021-06-30") at which to split the sample -- all periods starting on or after this date form the "after" sub-sample, everything before it forms the "before" sub-sample. Leave unset to use the default of the indicator you selected. Required by: get_chow_test.
event_dateNoThe date of the event (e.g. "2023-05-04"). Must fall within the Toolkit instance's daily historical data. Leave unset to use the default of the indicator you selected. Required by: get_event_study.
log_pricesNoWhether to use log prices, so the hedge ratio is an elasticity.
max_breaksNoThe most breaks considered.
parametersNoWhether to return the estimated parameters (a, b and the GARCH persistence of every asset) instead of the correlations.
regressionNoWhich deterministic terms to include, one of "n" (none), "c" (constant) or "ct" (constant and trend).c
start_dateNoStart of the date range in YYYY-MM-DD format.2021-10-28
n_bootstrapNoThe number of bootstrap resamples used for coefficient standard errors, overriding `statsmodels`' default analytic (kernel density-based) standard errors.
time_seriesNoWhether to return the Spread, Z-Score and Signal per date instead of the summary.
window_sizeNoThe rolling window size used by the "rolling" method.
add_constantNoWhether to include an intercept.
exit_z_scoreNoThe z-score whose crossing on the way back closes a position (0 closes when the spread is back at its mean).
show_columnsNoComma-separated names to filter the output. For historical data use the key names visible in any response record (e.g. 'Close,Volume,Return'). For financial statements use the 'metric' field values from the response (e.g. 'Revenue,Net Income,EBITDA'). Call the tool once without this parameter to see all available names, then repeat with show_columns to reduce response size and token usage.
significanceNoThe significance level (one of 0.01, 0.05, 0.10) at which the Johansen trace test determines the cointegrating rank.
time_effectsNoWhether to control for entity-invariant, time-specific shocks.
asset_tickersNoThe ticker(s) forming the cross-section of test assets.
donor_tickersNoThe ticker(s) forming the donor pool the synthetic control is built from.
entry_z_scoreNoThe z-score at which a position is opened.
other_tickersNoThe other assets to include in the VAR system alongside the ticker being validated (`model="var"` only).
probabilitiesNoWhether to return the smoothed probability of every regime per date instead of the summary.
within_periodNoWhether to calculate the test within the specified period or for the entire period. Thus whether to look at the test within a specific year (if period = 'yearly') or look at the entirety of all years. Note that this requires intraday data when period = 'daily', since a single day only nests...
entity_effectsNoWhether to control for time-invariant entity-specific characteristics.
equal_varianceNoWhether to assume the two samples share a common variance (Student's pooled t-test) instead of Welch's (unequal-variance) t-test.
factor_tickersNoThe ticker(s) whose returns are used as the risk factor(s) (e.g. "Benchmark" for a single-factor/CAPM-style test).
forecast_stepsNoThe number of periods ahead to forecast.
orthogonalizedNoWhether to orthogonalize the shocks via a Cholesky decomposition of the residual covariance matrix -- see `time_series_model.get_impulse_response_function`.
pre_event_daysNoNumber of trading days before the event date included in the event window.
suspect_tickerNoThe (possibly endogenous) asset being tested. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test.
train_fractionNoThe fraction of observations used for training; the remainder is the holdout.
treated_tickerNoThe asset believed to be affected by an event/ intervention starting at `treatment_period`. Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control.
treatment_dateNoThe date the event/treatment occurs, in the same format accepted by `pd.Timestamp`. Observations on or after this date are `Post = 1`. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences.
control_tickersNoThe untreated comparison asset(s).
minimum_segmentNoThe smallest segment as a share of the observations (the trimming).
post_event_daysNoNumber of trading days after the event date included in the event window.
treated_tickersNoThe asset(s) subject to the event/treatment. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences.
benchmark_tickerNoTicker used as the market benchmark, e.g. 'SPY' or '^GSPC'.SPY
dependent_tickerNoThe outcome asset. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_hausman_wu_test, get_iv_2sls, get_likelihood_ratio_test, get_propensity_score_matching, get_regression_discontinuity. Defaults are None for get_breusch_pagan_test, get_chow_test, get_durbin_watson_test, get_event_study, get_gls, get_logistic_regression, get_ols, get_probit_regression, get_quantile_regression, get_ramsey_reset_test, get_wald_test, get_white_test, get_wls.
include_constantNoFor get_arima_forecast: Whether to estimate the mean of the differenced series (its drift for `d >= 1`). For get_out_of_sample_validation: Whether the ARIMA model estimates a free intercept (`model="arima"` only).
treatment_periodNoThe first post-treatment period -- periods at or after this value (within `period`'s index) are treated as post-treatment, everything before as pre-treatment (used to fit the synthetic control's weights). Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control.
treatment_tickerNoThe asset whose return, once it exceeds `treatment_threshold`, defines the treatment indicator. Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching.
covariate_tickersNoThe asset(s) used as covariates to estimate the propensity score -- should include asset(s) believed to drive selection into "treatment". Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching.
dependent_tickersNoFor get_fixed_effects, get_hausman_test, get_random_effects: The panel of entity tickers to explain. For get_time_varying_beta: The assets whose beta is estimated.
endogenous_tickerNoThe endogenous regressor asset(s) -- suspected correlated with the error term. Leave unset to use the default of the indicator you selected. Required by: get_iv_2sls.
estimation_windowNoNumber of trading days used to estimate the market model.
exogenous_tickersNoOther, non-instrumented control asset(s) included as-is in both stages.
include_benchmarkNoWhether to include "Benchmark" among the assets.
independent_columnNoA different historical data column, taken per-entity from each of `dependent_tickers`' own data, to use as the regressor. Mutually exclusive with `independent_tickers`.
independent_tickerNoThe asset the beta is measured against.
instrument_tickersNoFor get_hausman_wu_test: One or more instrument asset(s) for `suspect_ticker` -- assets correlated with `suspect_ticker` but assumed uncorrelated with `dependent_ticker`'s error term. For get_iv_2sls: The excluded instrument asset(s), correlated with `endogenous_ticker` but assumed uncorrelated with the error term. Must supply at least as many instruments as endogenous regressors. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test, get_iv_2sls.
restriction_matrixNoThe `(q, k)` restriction matrix `R`, one row per restriction, one column per coefficient in the same order as `add_constant` (if True, "Intercept" first) followed by the independent ticker(s), e.g. [[0, 1, 0], [0, 0, 1]]. Leave unset to use the default of the indicator you selected. Required by: get_wald_test.
restriction_valuesNoThe length-`q` vector of hypothesized values.
switching_varianceNoWhether the volatility switches with the regime as well as the mean.
independent_tickersNoFor get_breusch_pagan_test, get_chow_test, get_durbin_watson_test, get_gls, get_logistic_regression, get_ols, get_probit_regression, get_quantile_regression, get_ramsey_reset_test, get_white_test, get_wls: The independent (predictor) asset(s). For get_fixed_effects, get_hausman_test, get_random_effects: The factor ticker(s), whose `column` values are broadcast identically to every entity at each date. Mutually exclusive with `independent_column`. For get_wald_test: The independent (predictor) asset(s), in the order the restriction matrix's columns (after "Intercept", if `add_constant`) refer to them.
treatment_thresholdNoThe return threshold defining treatment.
running_variable_tickerNoThe asset (or column) whose value determines which side of `cutoff` an observation falls on. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity.
other_independent_tickersNoAny other (assumed exogenous) independent asset(s) to include.
restricted_independent_tickersNoThe independent asset(s) in the restricted (smaller) model. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test.
unrestricted_independent_tickersNoThe independent asset(s) in the unrestricted (larger) model -- must be a superset of `restricted_independent_tickers`. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed34 schema fields changedv2.3.0
    • addedInput schema / properties / breaks
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The number of breaks to find instead of choosing it by the BIC."
      +}
    • addedInput schema / properties / changes
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "With series: how their changes (the 'Return' column the regressions and diagnostics use) are calculated: 'percentage' (default), 'log', 'difference' (for rates and ratios) or 'none' (the series are changes already). The series themselves are the 'Adj Close' column the unit root and cointegration tests use."
      +}
    • changedInput schema / properties / dependent_tickers / description
      Previous value: -"The panel of entity tickers to explain."New value: +"For get_fixed_effects, get_hausman_test, get_random_effects: The panel of entity tickers to explain. For get_time_varying_beta: The assets whose beta is estimated."
    • changedInput schema / properties / det_order / description
      Previous value: -"Which deterministic term to include: -1 (none), 0 (a constant, restricted to lie in the cointegrating relation) or 1 (a linear trend restricted to the cointegrating relation, alongside an unrestricted constant in the short-run dynamics)."New value: +"Which deterministic term to include: -1 (none, Johansen's case 1), 0 (an unrestricted constant, case 3) or 1 (a linear trend, evaluated against the case 5 critical values). The critical values are those of MacKinnon, Haug & Michelis (1999)."
    • changedInput schema / properties / end_date / default
      Previous value: -"2026-10-14"New value: +"2026-10-27"
    • addedInput schema / properties / entry_z_score
      Added value: +{
      +  "default": 2,
      +  "description": "The z-score at which a position is opened.",
      +  "type": "number"
      +}
    • addedInput schema / properties / exit_z_score
      Added value: +{
      +  "default": 0.5,
      +  "description": "The z-score whose crossing on the way back closes a position (0 closes when the spread is back at its mean).",
      +  "type": "number"
      +}
    • changedInput schema / properties / include_benchmark / description
      Previous value: -"Whether to include \"Benchmark\" among the assets tested."New value: +"Whether to include \"Benchmark\" among the assets."
    • changedInput schema / properties / include_constant / description
      Previous value: -"For get_arima_forecast: Whether to estimate a free intercept. For get_out_of_sample_validation: Whether the ARIMA model estimates a free intercept (`model=\"arima\"` only)."New value: +"For get_arima_forecast: Whether to estimate the mean of the differenced series (its drift for `d >= 1`). For get_out_of_sample_validation: Whether the ARIMA model estimates a free intercept (`model=\"arima\"` only)."
    • addedInput schema / properties / independent_ticker
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The asset the beta is measured against."
      +}
    • changedInput schema / properties / indicator / enum
      Previous value: -[
      -  "get_arch_lm_test",
      -  "get_arima_forecast",
      -  "get_augmented_dickey_fuller",
      -  "get_breusch_pagan_test",
      -  "get_chow_test",
      -  "get_cusum_test",
      -  "get_diebold_mariano_test",
      -  "get_difference_in_differences",
      -  "get_durbin_watson_test",
      -  "get_engle_granger_cointegration",
      -  "get_event_study",
      -  "get_f_test",
      -  "get_fama_macbeth_regression",
      -  "get_fixed_effects",
      -  "get_gls",
      -  "get_granger_causality",
      -  "get_hausman_test",
      -  "get_hausman_wu_test",
      -  "get_impulse_response_function",
      -  "get_iv_2sls",
      -  "get_jarque_bera_test",
      -  "get_johansen_cointegration",
      -  "get_kpss_test",
      -  "get_likelihood_ratio_test",
      -  "get_ljung_box_test",
      -  "get_logistic_regression",
      -  "get_mae",
      -  "get_ols",
      -  "get_out_of_sample_validation",
      -  "get_phillips_perron_test",
      -  "get_probit_regression",
      -  "get_propensity_score_matching",
      -  "get_quantile_regression",
      -  "get_ramsey_reset_test",
      -  "get_random_effects",
      -  "get_regression_discontinuity",
      -  "get_rmse",
      -  "get_synthetic_control",
      -  "get_two_sample_t_test",
      -  "get_var_forecast",
      -  "get_variance_decomposition",
      -  "get_variance_ratio_test",
      -  "get_vecm_forecast",
      -  "get_vif",
      -  "get_wald_test",
      -  "get_white_test",
      -  "get_wls",
      -  "get_zivot_andrews_test"
      -]New value: +[
      +  "get_arch_lm_test",
      +  "get_arima_forecast",
      +  "get_augmented_dickey_fuller",
      +  "get_breusch_pagan_test",
      +  "get_chow_test",
      +  "get_cusum_test",
      +  "get_dcc_garch",
      +  "get_diebold_mariano_test",
      +  "get_difference_in_differences",
      +  "get_durbin_watson_test",
      +  "get_engle_granger_cointegration",
      +  "get_event_study",
      +  "get_f_test",
      +  "get_fama_macbeth_regression",
      +  "get_fixed_effects",
      +  "get_gls",
      +  "get_granger_causality",
      +  "get_hausman_test",
      +  "get_hausman_wu_test",
      +  "get_impulse_response_function",
      +  "get_iv_2sls",
      +  "get_jarque_bera_test",
      +  "get_johansen_cointegration",
      +  "get_kpss_test",
      +  "get_likelihood_ratio_test",
      +  "get_ljung_box_test",
      +  "get_logistic_regression",
      +  "get_mae",
      +  "get_markov_regime_switching",
      +  "get_ols",
      +  "get_out_of_sample_validation",
      +  "get_pairs_trading",
      +  "get_phillips_perron_test",
      +  "get_probit_regression",
      +  "get_propensity_score_matching",
      +  "get_quantile_regression",
      +  "get_ramsey_reset_test",
      +  "get_random_effects",
      +  "get_regression_discontinuity",
      +  "get_rmse",
      +  "get_structural_breaks",
      +  "get_synthetic_control",
      +  "get_time_varying_beta",
      +  "get_two_sample_t_test",
      +  "get_var_forecast",
      +  "get_variance_decomposition",
      +  "get_variance_ratio_test",
      +  "get_vecm_forecast",
      +  "get_vif",
      +  "get_wald_test",
      +  "get_white_test",
      +  "get_wls",
      +  "get_zivot_andrews_test"
      +]
    • addedInput schema / properties / log_prices
      Added value: +{
      +  "default": true,
      +  "description": "Whether to use log prices, so the hedge ratio is an elasticity.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / max_breaks
      Added value: +{
      +  "default": 5,
      +  "description": "The most breaks considered.",
      +  "type": "integer"
      +}
    • changedInput schema / properties / maxlags / description
      Previous value: -"For get_ols: The maximum lag to include when estimating the HAC (Newey-West) covariance matrix, required when `cov_type=\"HAC\"`. A common rule of thumb is `floor(4 * (n / 100)^(2/9))` (Newey & West, 1994). For get_wls: The maximum lag to include when estimating the HAC (Newey-West) covariance matrix, required when `cov_type=\"HAC\"`. See `get_ols`'s `maxlags` for the rule-of-thumb formula."New value: +"The maximum lag to include when estimating the HAC (Newey-West) covariance matrix, only used when `cov_type=\"HAC\"`."
    • addedInput schema / properties / minimum_segment
      Added value: +{
      +  "default": 0.15,
      +  "description": "The smallest segment as a share of the observations (the trimming).",
      +  "type": "number"
      +}
    • removedInput schema / properties / omega / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • changedInput schema / properties / omega / default
      Previous value: -nullNew value: +"ar1"
    • changedInput schema / properties / omega / description
      Previous value: -"The (symmetric, positive-definite) error covariance structure, up to a scalar, shape `(n, n)`. Leave unset to use the default of the indicator you selected. Required by: get_gls."New value: +"The (symmetric, positive-definite) error covariance structure, up to a scalar, shape `(n, n)`, or \"ar1\" to estimate an AR(1) structure from the regression's own residuals (Prais-Winsten)."
    • addedInput schema / properties / omega / type
      Added value: +"string"
    • addedInput schema / properties / parameters
      Added value: +{
      +  "default": false,
      +  "description": "Whether to return the estimated parameters (a, b and the GARCH persistence of every asset) instead of the correlations.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / probabilities
      Added value: +{
      +  "default": false,
      +  "description": "Whether to return the smoothed probability of every regime per date instead of the summary.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / q / description
      Previous value: -"For get_arima_forecast: The moving-average order. For get_out_of_sample_validation: The ARIMA moving-average order (`model=\"arima\"` only). For get_variance_ratio_test: The number of periods to compound returns over. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_arima_forecast, get_out_of_sample_validation; 2 for get_variance_ratio_test."New value: +"For get_arima_forecast: The moving-average order. For get_out_of_sample_validation: The ARIMA moving-average order (`model=\"arima\"` only). For get_variance_ratio_test: The number of periods to sum returns over. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_arima_forecast, get_out_of_sample_validation; 2 for get_variance_ratio_test."
    • addedInput schema / properties / regimes
      Added value: +{
      +  "default": 2,
      +  "description": "The number of regimes.",
      +  "type": "integer"
      +}
    • changedInput schema / properties / restriction_matrix / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / restriction_matrix / description
      Previous value: -"The `(q, k)` restriction matrix `R`, one row per restriction, one column per coefficient in the same order as `add_constant` (if True, \"Intercept\" first) followed by the independent ticker(s). Leave unset to use the default of the indicator you selected. Required by: get_wald_test."New value: +"The `(q, k)` restriction matrix `R`, one row per restriction, one column per coefficient in the same order as `add_constant` (if True, \"Intercept\" first) followed by the independent ticker(s), e.g. [[0, 1, 0], [0, 0, 1]]. Leave unset to use the default of the indicator you selected. Required by: get_wald_test."
    • addedInput schema / properties / series
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Analyze the indicators of other tools instead of the tickers' prices: references separated by ';', each tool:indicator:tickers-or-countries with an optional :column, e.g. 'valuation:get_price_to_earnings_ratio:AAPL,MSFT; macroeconomics:get_inflation_rate:United States' or 'rates:get_government_bond_yield_curve:United States,Germany:10Y'. Every ticker or country becomes a series named after it, which dependent_ticker and independent_tickers then name. Use start_date for a long enough history."
      +}
    • changedInput schema / properties / start_date / default
      Previous value: -"2021-10-15"New value: +"2021-10-28"
    • addedInput schema / properties / switching_variance
      Added value: +{
      +  "default": true,
      +  "description": "Whether the volatility switches with the regime as well as the mean.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / time_series
      Added value: +{
      +  "default": false,
      +  "description": "Whether to return the Spread, Z-Score and Signal per date instead of the summary.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / weights / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • changedInput schema / properties / weights / default
      Previous value: -nullNew value: +"feasible"
    • changedInput schema / properties / weights / description
      Previous value: -"The portfolio weight per ticker as an object, e.g. {'AAPL': 0.6, 'MSFT': 0.4}; equal weights when left unset. Leave unset to use the default of the indicator you selected. Required by: get_wls."New value: +"The (positive) weight of each observation, aligned to the same period index as the return data (e.g. `1 / rolling_variance`), or \"feasible\" to estimate them from the regression's own residuals with the feasible GLS procedure of Wooldridge (2016)."
    • addedInput schema / properties / weights / type
      Added value: +"string"
    • addedInput schema / properties / window
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The number of periods the indicator looks back over, e.g. 14 or 20."
      +}
  2. Changed160 schema fields changedv2.2.3
    • changedInput schema / properties / add_constant / description
      Previous value: -"Value for add_constant."New value: +"Whether to include an intercept."
    • removedInput schema / properties / add_constant / title
      Removed value: -"Add Constant"
    • changedInput schema / properties / asset_tickers / description
      Previous value: -"Value for asset_tickers."New value: +"The ticker(s) forming the cross-section of test assets."
    • removedInput schema / properties / asset_tickers / title
      Removed value: -"Asset Tickers"
    • changedInput schema / properties / bandwidth / description
      Previous value: -"Value for bandwidth."New value: +"The maximum distance from `cutoff` an observation may be to be included in either local regression."
    • removedInput schema / properties / bandwidth / title
      Removed value: -"Bandwidth"
    • removedInput schema / properties / benchmark_ticker / title
      Removed value: -"Benchmark Ticker"
    • changedInput schema / properties / break_date / description
      Previous value: -"Value for break_date. Leave unset to use the default of the indicator you selected. Required by: get_chow_test."New value: +"The date (e.g. \"2021-06-30\") at which to split the sample -- all periods starting on or after this date form the \"after\" sub-sample, everything before it forms the \"before\" sub-sample. Leave unset to use the default of the indicator you selected. Required by: get_chow_test."
    • removedInput schema / properties / break_date / title
      Removed value: -"Break Date"
    • changedInput schema / properties / caliper / description
      Previous value: -"Value for caliper."New value: +"The maximum allowed logit-propensity-score matching distance."
    • removedInput schema / properties / caliper / title
      Removed value: -"Caliper"
    • changedInput schema / properties / clusters / description
      Previous value: -"Value for clusters."New value: +"For get_ols: The cluster label for each observation (e.g. a coarser time bucket derived from the return index, to correct for within-period correlation), required when `cov_type=\"cluster\"`. Aligned to the regression's own index before use, so it may be indexed by the full period index even though the... For get_wls: The cluster label for each observation, required when `cov_type=\"cluster\"`."
    • removedInput schema / properties / clusters / title
      Removed value: -"Clusters"
    • changedInput schema / properties / column / description
      Previous value: -"Value for column. Leave unset to use the default of the indicator you selected. Defaults differ between indicators."New value: +"The price column to use, e.g. 'Close' or 'Adj Close'. Leave unset to use the default of the indicator you selected. Defaults differ between indicators."
    • removedInput schema / properties / column / title
      Removed value: -"Column"
    • changedInput schema / properties / control_tickers / description
      Previous value: -"Value for control_tickers."New value: +"The untreated comparison asset(s)."
    • removedInput schema / properties / control_tickers / title
      Removed value: -"Control Tickers"
    • changedInput schema / properties / cov_type / description
      Previous value: -"Value for cov_type."New value: +"For get_ols: Which covariance estimator to use for the standard errors -- one of \"nonrobust\" (classical, assumes homoskedastic errors), \"HC0\"/\"HC1\"/\"HC2\"/\"HC3\" (heteroskedasticity-robust), \"cluster\" (cluster-robust, requires `clusters`) or \"HAC\" (Newey-West, heteroskedasticity-and-autocorrelation-consistent,... For get_wls: Which covariance estimator to use, applied to the weighted/ transformed problem -- see `get_ols`'s `cov_type` for the full list of options."
    • removedInput schema / properties / cov_type / title
      Removed value: -"Cov Type"
    • changedInput schema / properties / covariate_tickers / description
      Previous value: -"Value for covariate_tickers. Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching."New value: +"The asset(s) used as covariates to estimate the propensity score -- should include asset(s) believed to drive selection into \"treatment\". Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching."
    • removedInput schema / properties / covariate_tickers / title
      Removed value: -"Covariate Tickers"
    • changedInput schema / properties / cutoff / description
      Previous value: -"Value for cutoff. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity."New value: +"The threshold value of `running_variable_ticker` at which the discontinuity is estimated. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity."
    • removedInput schema / properties / cutoff / title
      Removed value: -"Cutoff"
    • changedInput schema / properties / d / description
      Previous value: -"Value for d."New value: +"For get_arima_forecast: The number of times to difference the series. For get_out_of_sample_validation: The ARIMA differencing order (`model=\"arima\"` only)."
    • removedInput schema / properties / d / title
      Removed value: -"D"
    • changedInput schema / properties / dependent_ticker / description
      Previous value: -"Value for dependent_ticker. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_hausman_wu_test, get_iv_2sls, get_likelihood_ratio_test, get_propensity_score_matching, get_regression_discontinuity. Defaults are None for get_breusch_pagan_test, get_chow_test, get_durbin_watson_test, get_event_study, get_gls, get_logistic_regression, get_ols, get_probit_regression, get_quantile_regression, get_ramsey_reset_test, get_wald_test, get_white_test, get_wls."New value: +"The outcome asset. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_hausman_wu_test, get_iv_2sls, get_likelihood_ratio_test, get_propensity_score_matching, get_regression_discontinuity. Defaults are None for get_breusch_pagan_test, get_chow_test, get_durbin_watson_test, get_event_study, get_gls, get_logistic_regression, get_ols, get_probit_regression, get_quantile_regression, get_ramsey_reset_test, get_wald_test, get_white_test, get_wls."
    • removedInput schema / properties / dependent_ticker / title
      Removed value: -"Dependent Ticker"
    • changedInput schema / properties / dependent_tickers / description
      Previous value: -"Value for dependent_tickers."New value: +"The panel of entity tickers to explain."
    • removedInput schema / properties / dependent_tickers / title
      Removed value: -"Dependent Tickers"
    • changedInput schema / properties / det_order / description
      Previous value: -"Value for det_order."New value: +"Which deterministic term to include: -1 (none), 0 (a constant, restricted to lie in the cointegrating relation) or 1 (a linear trend restricted to the cointegrating relation, alongside an unrestricted constant in the short-run dynamics)."
    • removedInput schema / properties / det_order / title
      Removed value: -"Det Order"
    • changedInput schema / properties / donor_tickers / description
      Previous value: -"Value for donor_tickers."New value: +"The ticker(s) forming the donor pool the synthetic control is built from."
    • removedInput schema / properties / donor_tickers / title
      Removed value: -"Donor Tickers"
    • changedInput schema / properties / end_date / default
      Previous value: -"2026-10-02"New value: +"2026-10-14"
    • removedInput schema / properties / end_date / title
      Removed value: -"End Date"
    • changedInput schema / properties / endogenous_ticker / description
      Previous value: -"Value for endogenous_ticker. Leave unset to use the default of the indicator you selected. Required by: get_iv_2sls."New value: +"The endogenous regressor asset(s) -- suspected correlated with the error term. Leave unset to use the default of the indicator you selected. Required by: get_iv_2sls."
    • removedInput schema / properties / endogenous_ticker / title
      Removed value: -"Endogenous Ticker"
    • changedInput schema / properties / entity_effects / description
      Previous value: -"Value for entity_effects."New value: +"Whether to control for time-invariant entity-specific characteristics."
    • removedInput schema / properties / entity_effects / title
      Removed value: -"Entity Effects"
    • changedInput schema / properties / equal_variance / description
      Previous value: -"Value for equal_variance."New value: +"Whether to assume the two samples share a common variance (Student's pooled t-test) instead of Welch's (unequal-variance) t-test."
    • removedInput schema / properties / equal_variance / title
      Removed value: -"Equal Variance"
    • changedInput schema / properties / estimation_window / description
      Previous value: -"Value for estimation_window."New value: +"Number of trading days used to estimate the market model."
    • removedInput schema / properties / estimation_window / title
      Removed value: -"Estimation Window"
    • changedInput schema / properties / event_date / description
      Previous value: -"Value for event_date. Leave unset to use the default of the indicator you selected. Required by: get_event_study."New value: +"The date of the event (e.g. \"2023-05-04\"). Must fall within the Toolkit instance's daily historical data. Leave unset to use the default of the indicator you selected. Required by: get_event_study."
    • removedInput schema / properties / event_date / title
      Removed value: -"Event Date"
    • changedInput schema / properties / exogenous_tickers / description
      Previous value: -"Value for exogenous_tickers."New value: +"Other, non-instrumented control asset(s) included as-is in both stages."
    • removedInput schema / properties / exogenous_tickers / title
      Removed value: -"Exogenous Tickers"
    • changedInput schema / properties / factor_tickers / description
      Previous value: -"Value for factor_tickers."New value: +"The ticker(s) whose returns are used as the risk factor(s) (e.g. \"Benchmark\" for a single-factor/CAPM-style test)."
    • removedInput schema / properties / factor_tickers / title
      Removed value: -"Factor Tickers"
    • changedInput schema / properties / forecast_steps / description
      Previous value: -"Value for forecast_steps."New value: +"The number of periods ahead to forecast."
    • removedInput schema / properties / forecast_steps / title
      Removed value: -"Forecast Steps"
    • changedInput schema / properties / gap_days / description
      Previous value: -"Value for gap_days."New value: +"Number of trading days between the end of the estimation window and the event date."
    • removedInput schema / properties / gap_days / title
      Removed value: -"Gap Days"
    • changedInput schema / properties / include_benchmark / description
      Previous value: -"Value for include_benchmark."New value: +"Whether to include \"Benchmark\" among the assets tested."
    • removedInput schema / properties / include_benchmark / title
      Removed value: -"Include Benchmark"
    • changedInput schema / properties / include_constant / description
      Previous value: -"Value for include_constant."New value: +"For get_arima_forecast: Whether to estimate a free intercept. For get_out_of_sample_validation: Whether the ARIMA model estimates a free intercept (`model=\"arima\"` only)."
    • removedInput schema / properties / include_constant / title
      Removed value: -"Include Constant"
    • changedInput schema / properties / independent_column / description
      Previous value: -"Value for independent_column."New value: +"A different historical data column, taken per-entity from each of `dependent_tickers`' own data, to use as the regressor. Mutually exclusive with `independent_tickers`."
    • removedInput schema / properties / independent_column / title
      Removed value: -"Independent Column"
    • changedInput schema / properties / independent_tickers / description
      Previous value: -"Value for independent_tickers."New value: +"For get_breusch_pagan_test, get_chow_test, get_durbin_watson_test, get_gls, get_logistic_regression, get_ols, get_probit_regression, get_quantile_regression, get_ramsey_reset_test, get_white_test, get_wls: The independent (predictor) asset(s). For get_fixed_effects, get_hausman_test, get_random_effects: The factor ticker(s), whose `column` values are broadcast identically to every entity at each date. Mutually exclusive with `independent_column`. For get_wald_test: The independent (predictor) asset(s), in the order the restriction matrix's columns (after \"Intercept\", if `add_constant`) refer to them."
    • removedInput schema / properties / independent_tickers / title
      Removed value: -"Independent Tickers"
    • changedInput schema / properties / indicator / description
      Previous value: -"Name of the specific metric to calculate, e.g. 'get_asset_turnover_ratio'. Required — omitting it returns the list of available indicators."New value: +"Name of the specific metric to calculate, one of the listed values. Required — search_metrics finds the indicator (and its tool) for a metric by name."
    • removedInput schema / properties / indicator / title
      Removed value: -"Indicator"
    • changedInput schema / properties / instrument_tickers / description
      Previous value: -"Value for instrument_tickers. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test, get_iv_2sls."New value: +"For get_hausman_wu_test: One or more instrument asset(s) for `suspect_ticker` -- assets correlated with `suspect_ticker` but assumed uncorrelated with `dependent_ticker`'s error term. For get_iv_2sls: The excluded instrument asset(s), correlated with `endogenous_ticker` but assumed uncorrelated with the error term. Must supply at least as many instruments as endogenous regressors. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test, get_iv_2sls."
    • removedInput schema / properties / instrument_tickers / title
      Removed value: -"Instrument Tickers"
    • changedInput schema / properties / k_ar_diff / description
      Previous value: -"Value for k_ar_diff."New value: +"The number of lagged first differences to include as short-run dynamics."
    • removedInput schema / properties / k_ar_diff / title
      Removed value: -"K Ar Diff"
    • changedInput schema / properties / kernel / description
      Previous value: -"Value for kernel."New value: +"One of \"uniform\" or \"triangular\"."
    • removedInput schema / properties / kernel / title
      Removed value: -"Kernel"
    • changedInput schema / properties / lags / description
      Previous value: -"Value for lags. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_impulse_response_function, get_out_of_sample_validation, get_var_forecast, get_variance_decomposition; None for get_kpss_test, get_phillips_perron_test; 10 for get_ljung_box_test; 5 for get_arch_lm_test."New value: +"The number of lags (past periods) the test or model uses, e.g. 1 or 5. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_impulse_response_function, get_out_of_sample_validation, get_var_forecast, get_variance_decomposition; None for get_kpss_test, get_phillips_perron_test; 10 for get_ljung_box_test; 5 for get_arch_lm_test."
    • removedInput schema / properties / lags / title
      Removed value: -"Lags"
    • changedInput schema / properties / lambda_ / description
      Previous value: -"Value for lambda_."New value: +"The decay factor used by the \"ewma\" method."
    • removedInput schema / properties / lambda_ / title
      Removed value: -"Lambda"
    • addedInput schema / properties / limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The rows to return, like head and tail: 5 for the first five, -5 for the last five (the most recent of a time series). A table with its periods as columns (financial statements, ratios) keeps its first or last periods instead. For ETF holdings the largest (or, negative, the smallest) by weight, and for a list (e.g. news or a screener) its length."
      +}
    • changedInput schema / properties / loss / description
      Previous value: -"Value for loss."New value: +"The loss function to compare forecast errors with, one of \"squared\" or \"absolute\"."
    • removedInput schema / properties / loss / title
      Removed value: -"Loss"
    • changedInput schema / properties / max_lag / description
      Previous value: -"Value for max_lag. Leave unset to use the default of the indicator you selected. Defaults are None for get_augmented_dickey_fuller, get_engle_granger_cointegration, get_zivot_andrews_test; 5 for get_granger_causality."New value: +"The maximum number of lagged differences to consider. Leave unset to use the default of the indicator you selected. Defaults are None for get_augmented_dickey_fuller, get_engle_granger_cointegration, get_zivot_andrews_test; 5 for get_granger_causality."
    • removedInput schema / properties / max_lag / title
      Removed value: -"Max Lag"
    • changedInput schema / properties / maxlags / description
      Previous value: -"Value for maxlags."New value: +"For get_ols: The maximum lag to include when estimating the HAC (Newey-West) covariance matrix, required when `cov_type=\"HAC\"`. A common rule of thumb is `floor(4 * (n / 100)^(2/9))` (Newey & West, 1994). For get_wls: The maximum lag to include when estimating the HAC (Newey-West) covariance matrix, required when `cov_type=\"HAC\"`. See `get_ols`'s `maxlags` for the rule-of-thumb formula."
    • removedInput schema / properties / maxlags / title
      Removed value: -"Maxlags"
    • changedInput schema / properties / method_a / description
      Previous value: -"Value for method_a."New value: +"The first volatility forecasting method, one of \"ewma\" or \"rolling\"."
    • removedInput schema / properties / method_a / title
      Removed value: -"Method A"
    • changedInput schema / properties / method_b / description
      Previous value: -"Value for method_b."New value: +"The second (competing) volatility forecasting method, one of \"ewma\" or \"rolling\"."
    • removedInput schema / properties / method_b / title
      Removed value: -"Method B"
    • changedInput schema / properties / model / description
      Previous value: -"Value for model."New value: +"Either \"arima\" or \"var\"."
    • removedInput schema / properties / model / title
      Removed value: -"Model"
    • changedInput schema / properties / n_bootstrap / description
      Previous value: -"Value for n_bootstrap."New value: +"The number of bootstrap resamples used for coefficient standard errors, overriding `statsmodels`' default analytic (kernel density-based) standard errors."
    • removedInput schema / properties / n_bootstrap / title
      Removed value: -"N Bootstrap"
    • changedInput schema / properties / omega / description
      Previous value: -"Value for omega. Leave unset to use the default of the indicator you selected. Required by: get_gls."New value: +"The (symmetric, positive-definite) error covariance structure, up to a scalar, shape `(n, n)`. Leave unset to use the default of the indicator you selected. Required by: get_gls."
    • removedInput schema / properties / omega / title
      Removed value: -"Omega"
    • changedInput schema / properties / orthogonalized / description
      Previous value: -"Value for orthogonalized."New value: +"Whether to orthogonalize the shocks via a Cholesky decomposition of the residual covariance matrix -- see `time_series_model.get_impulse_response_function`."
    • removedInput schema / properties / orthogonalized / title
      Removed value: -"Orthogonalized"
    • changedInput schema / properties / other_independent_tickers / description
      Previous value: -"Value for other_independent_tickers."New value: +"Any other (assumed exogenous) independent asset(s) to include."
    • removedInput schema / properties / other_independent_tickers / title
      Removed value: -"Other Independent Tickers"
    • changedInput schema / properties / other_tickers / description
      Previous value: -"Value for other_tickers."New value: +"The other assets to include in the VAR system alongside the ticker being validated (`model=\"var\"` only)."
    • removedInput schema / properties / other_tickers / title
      Removed value: -"Other Tickers"
    • changedInput schema / properties / p / description
      Previous value: -"Value for p."New value: +"For get_arima_forecast: The autoregressive order. For get_out_of_sample_validation: The ARIMA autoregressive order (`model=\"arima\"` only)."
    • removedInput schema / properties / p / title
      Removed value: -"P"
    • changedInput schema / properties / period / description
      Previous value: -"Observation frequency, e.g. 'monthly', 'quarterly', or 'annual'."New value: +"Observation frequency, e.g. 'daily', 'weekly', 'monthly', 'quarterly', or 'annual' (supported values differ per method)."
    • removedInput schema / properties / period / title
      Removed value: -"Period"
    • changedInput schema / properties / periods / description
      Previous value: -"Value for periods."New value: +"For get_impulse_response_function: The number of periods ahead to trace the response out to. For get_variance_decomposition: The forecast horizon to decompose out to."
    • removedInput schema / properties / periods / title
      Removed value: -"Periods"
    • changedInput schema / properties / post_event_days / description
      Previous value: -"Value for post_event_days."New value: +"Number of trading days after the event date included in the event window."
    • removedInput schema / properties / post_event_days / title
      Removed value: -"Post Event Days"
    • changedInput schema / properties / power / description
      Previous value: -"Value for power."New value: +"The highest power of the fitted values to add."
    • removedInput schema / properties / power / title
      Removed value: -"Power"
    • changedInput schema / properties / pre_event_days / description
      Previous value: -"Value for pre_event_days."New value: +"Number of trading days before the event date included in the event window."
    • removedInput schema / properties / pre_event_days / title
      Removed value: -"Pre Event Days"
    • changedInput schema / properties / q / description
      Previous value: -"Value for q. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_arima_forecast, get_out_of_sample_validation; 2 for get_variance_ratio_test."New value: +"For get_arima_forecast: The moving-average order. For get_out_of_sample_validation: The ARIMA moving-average order (`model=\"arima\"` only). For get_variance_ratio_test: The number of periods to compound returns over. Leave unset to use the default of the indicator you selected. Defaults are 1 for get_arima_forecast, get_out_of_sample_validation; 2 for get_variance_ratio_test."
    • removedInput schema / properties / q / title
      Removed value: -"Q"
    • removedInput schema / properties / quarterly / title
      Removed value: -"Quarterly"
    • changedInput schema / properties / regression / description
      Previous value: -"Value for regression."New value: +"Which deterministic terms to include, one of \"n\" (none), \"c\" (constant) or \"ct\" (constant and trend)."
    • removedInput schema / properties / regression / title
      Removed value: -"Regression"
    • changedInput schema / properties / restricted_independent_tickers / description
      Previous value: -"Value for restricted_independent_tickers. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test."New value: +"The independent asset(s) in the restricted (smaller) model. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test."
    • removedInput schema / properties / restricted_independent_tickers / title
      Removed value: -"Restricted Independent Tickers"
    • changedInput schema / properties / restriction_matrix / description
      Previous value: -"Value for restriction_matrix. Leave unset to use the default of the indicator you selected. Required by: get_wald_test."New value: +"The `(q, k)` restriction matrix `R`, one row per restriction, one column per coefficient in the same order as `add_constant` (if True, \"Intercept\" first) followed by the independent ticker(s). Leave unset to use the default of the indicator you selected. Required by: get_wald_test."
    • removedInput schema / properties / restriction_matrix / title
      Removed value: -"Restriction Matrix"
    • changedInput schema / properties / restriction_values / description
      Previous value: -"Value for restriction_values."New value: +"The length-`q` vector of hypothesized values."
    • removedInput schema / properties / restriction_values / title
      Removed value: -"Restriction Values"
    • changedInput schema / properties / running_variable_ticker / description
      Previous value: -"Value for running_variable_ticker. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity."New value: +"The asset (or column) whose value determines which side of `cutoff` an observation falls on. Leave unset to use the default of the indicator you selected. Required by: get_regression_discontinuity."
    • removedInput schema / properties / running_variable_ticker / title
      Removed value: -"Running Variable Ticker"
    • removedInput schema / properties / show_columns / title
      Removed value: -"Show Columns"
    • changedInput schema / properties / significance / description
      Previous value: -"Value for significance."New value: +"The significance level (one of 0.01, 0.05, 0.10) at which the Johansen trace test determines the cointegrating rank."
    • removedInput schema / properties / significance / title
      Removed value: -"Significance"
    • changedInput schema / properties / start_date / default
      Previous value: -"2021-10-03"New value: +"2021-10-15"
    • removedInput schema / properties / start_date / title
      Removed value: -"Start Date"
    • changedInput schema / properties / suspect_ticker / description
      Previous value: -"Value for suspect_ticker. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test."New value: +"The (possibly endogenous) asset being tested. Leave unset to use the default of the indicator you selected. Required by: get_hausman_wu_test."
    • removedInput schema / properties / suspect_ticker / title
      Removed value: -"Suspect Ticker"
    • changedInput schema / properties / tau / description
      Previous value: -"Value for tau."New value: +"The quantile to fit, in (0, 1)."
    • removedInput schema / properties / tau / title
      Removed value: -"Tau"
    • addedInput schema / properties / tickers / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
    • removedInput schema / properties / tickers / title
      Removed value: -"Tickers"
    • removedInput schema / properties / tickers / type
      Removed value: -"string"
    • changedInput schema / properties / time_effects / description
      Previous value: -"Value for time_effects."New value: +"Whether to control for entity-invariant, time-specific shocks."
    • removedInput schema / properties / time_effects / title
      Removed value: -"Time Effects"
    • changedInput schema / properties / train_fraction / description
      Previous value: -"Value for train_fraction."New value: +"The fraction of observations used for training; the remainder is the holdout."
    • removedInput schema / properties / train_fraction / title
      Removed value: -"Train Fraction"
    • changedInput schema / properties / treated_ticker / description
      Previous value: -"Value for treated_ticker. Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control."New value: +"The asset believed to be affected by an event/ intervention starting at `treatment_period`. Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control."
    • removedInput schema / properties / treated_ticker / title
      Removed value: -"Treated Ticker"
    • changedInput schema / properties / treated_tickers / description
      Previous value: -"Value for treated_tickers. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences."New value: +"The asset(s) subject to the event/treatment. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences."
    • removedInput schema / properties / treated_tickers / title
      Removed value: -"Treated Tickers"
    • changedInput schema / properties / treatment_date / description
      Previous value: -"Value for treatment_date. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences."New value: +"The date the event/treatment occurs, in the same format accepted by `pd.Timestamp`. Observations on or after this date are `Post = 1`. Leave unset to use the default of the indicator you selected. Required by: get_difference_in_differences."
    • removedInput schema / properties / treatment_date / title
      Removed value: -"Treatment Date"
    • changedInput schema / properties / treatment_period / description
      Previous value: -"Value for treatment_period. Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control."New value: +"The first post-treatment period -- periods at or after this value (within `period`'s index) are treated as post-treatment, everything before as pre-treatment (used to fit the synthetic control's weights). Leave unset to use the default of the indicator you selected. Required by: get_synthetic_control."
    • removedInput schema / properties / treatment_period / title
      Removed value: -"Treatment Period"
    • changedInput schema / properties / treatment_threshold / description
      Previous value: -"Value for treatment_threshold."New value: +"The return threshold defining treatment."
    • removedInput schema / properties / treatment_threshold / title
      Removed value: -"Treatment Threshold"
    • changedInput schema / properties / treatment_ticker / description
      Previous value: -"Value for treatment_ticker. Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching."New value: +"The asset whose return, once it exceeds `treatment_threshold`, defines the treatment indicator. Leave unset to use the default of the indicator you selected. Required by: get_propensity_score_matching."
    • removedInput schema / properties / treatment_ticker / title
      Removed value: -"Treatment Ticker"
    • changedInput schema / properties / trim / description
      Previous value: -"Value for trim."New value: +"The fraction of observations excluded from the candidate break date search at the start and end of the sample. Must be in [0, 1/3)."
    • removedInput schema / properties / trim / title
      Removed value: -"Trim"
    • changedInput schema / properties / unrestricted_independent_tickers / description
      Previous value: -"Value for unrestricted_independent_tickers. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test."New value: +"The independent asset(s) in the unrestricted (larger) model -- must be a superset of `restricted_independent_tickers`. Leave unset to use the default of the indicator you selected. Required by: get_f_test, get_likelihood_ratio_test."
    • removedInput schema / properties / unrestricted_independent_tickers / title
      Removed value: -"Unrestricted Independent Tickers"
    • changedInput schema / properties / weights / description
      Previous value: -"Value for weights. Leave unset to use the default of the indicator you selected. Required by: get_wls."New value: +"The portfolio weight per ticker as an object, e.g. {'AAPL': 0.6, 'MSFT': 0.4}; equal weights when left unset. Leave unset to use the default of the indicator you selected. Required by: get_wls."
    • removedInput schema / properties / weights / title
      Removed value: -"Weights"
    • changedInput schema / properties / window_size / description
      Previous value: -"Value for window_size."New value: +"The rolling window size used by the \"rolling\" method."
    • removedInput schema / properties / window_size / title
      Removed value: -"Window Size"
    • changedInput schema / properties / within_period / description
      Previous value: -"Value for within_period."New value: +"Whether to calculate the test within the specified period or for the entire period. Thus whether to look at the test within a specific year (if period = 'yearly') or look at the entirety of all years. Note that this requires intraday data when period = 'daily', since a single day only nests..."
    • removedInput schema / properties / within_period / title
      Removed value: -"Within Period"
    • removedInput schema / title
      Removed value: -"econometricsArguments"
  3. Changed3 schema fields changedv2.2.1
    • changedInput schema / properties / end_date / default
      Previous value: -"2026-08-19"New value: +"2026-10-02"
    • changedInput schema / properties / start_date / default
      Previous value: -"2021-08-20"New value: +"2021-10-03"
    • changedInput schema / properties / within_period / default
      Previous value: -trueNew value: +false
  4. Addedv2.2.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds useful behavioral context beyond annotations: data are fetched internally, the 'Adj Close' column is used for unit root/cointegration/breaks, changes become the 'Return' column for regressions and diagnostics, and defaults for several indicator-specific parameters are noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the content is relevant, but the description is a single dense paragraph with long enumerations of tests and models that partly duplicate the indicator enum. It is appropriately informative for a 52-indicator mega-tool, yet the wall-of-text structure and embedded parameter details reduce scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (52 indicators, 96 parameters) and the presence of an output schema, the description covers the main invocation paths: required indicator selection, tickers versus series usage, changes handling, and date-range requirements. It does not explain every indicator individually or every parameter, but the schema and output schema carry that load, leaving the definition complete enough for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already explains all 96 parameters. The description adds some meaning — the format of series references, how each ticker/country becomes a named series, and that changes='difference' suits rates and ratios — but it does not meaningfully document most parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Statistical and econometric analysis of price or return series' — and then names the concrete test families and models it runs. It distinguishes itself from sibling financial-metric tools by making clear that this is a single dispatch tool for econometric procedures rather than a valuation, risk, or market-data query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational context: 'No need to fetch price data first,' 'Requires tickers=...,' and how to use series= instead when analyzing other indicators. It does not explicitly state when-not to use this tool versus a sibling like performance or risk, but for a category-level econometrics tool the usage path is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.