-
Notifications
You must be signed in to change notification settings - Fork 0
Indicators Engine
Syed Ibrahim Omer edited this page Apr 13, 2026
·
1 revision
This page documents the core engine that powers indicators-cli.
- Fetch market data (Yahoo Finance via
yfinance) - Convert and normalize data into a Polars workflow
- Compute indicators (rolling windows + EWMs)
- Write output files concurrently
- Print phase timings (source / calculation / write)
Fetches market history for one or more tickers and returns a list of packages:
-
data: PolarsLazyFramewith standardized columns -
ticker: the ticker symbol -
period: the requested period
Behavior notes:
- Pulls combined history, then selects per-ticker columns
- Skips tickers with no data (detected via missing close column)
See Source Data Deep Dive for MultiIndex handling and return packages.
Takes a LazyFrame, selects window sizes based on defaults + optional config override, lowercases columns, then adds indicator columns:
smaema-
macd,signal_line,macd_hist rsi-
bb_lower,bb_upper roc-
ATR(uppercase) obv-
K,D(uppercase)
Returns a package like:
-
data: collected PolarsDataFrame -
ticker,period
Window selection uses defaults[family][period][time_frame] (see Config Resolution).
collect(..., engine=engine) is documented in Polars Engine.
Constructs the output path and writes to the chosen format using Polars writers.
See Write Output Deep Dive for path rules and edge cases.
Orchestrates:
- Parse ticker/period/timeframe/config inputs
- Source data
- Calculate indicators
- Write outputs
- Print phase timings
- Output column names include uppercase
ATR,K,D(see Indicators (Overview)) - Timeframe may be a string or a dict (when loaded from JSON); config lookup must still key by interval string per period when applicable (see Config Resolution)
Related pages:
- Getting Started
- CLI Reference
- Configuration & Templates
- Indicators (Overview)
- Output Formats
- Advanced Usage
- Troubleshooting
- Pipeline
- CLI Parsing
- Data Source (Yahoo Finance)
- Source Data Deep Dive
- Schema Normalization
- Data Shape Invariants
- Output Writing
- Write Output Deep Dive
- Config Resolution
- Polars Engine
- Source Modules
- Testing
- Performance
- Indicators Engine
- Reproducibility