{"adoption": {"forks": 272, "observed_at": "2026-08-28T04:04:05.456765+00:00", "stars": 1238}, "canonical_url": "https://ross.abutalabs.com/products/stock-analysis-engine", "card": {"archived": false, "artifact_type": "framework", "description": "Backtest 1000s of minute-by-minute trading algorithms for training AI with automated pricing data from: IEX, Tradier and FinViz. Datasets and trading performance automatically published to S3 for building AI training datasets for teaching DNNs how to trade. Runs on Kubernetes and docker-compose. >150 million trading history rows generated from +5000 algorithms. Heads up: Yahoo's Finance API was disabled on 2019-01-03 https://developer.yahoo.com/yql/", "domain": ["fintech", "machine-learning", "big-data"], "enriched": true, "function": ["machine-learning", "deep-learning", "etl", "data-science", "cli", "trading"], "health_score": 20, "homepage": "https://stock-analysis-engine.readthedocs.io/en/latest/README.html", "language": "Jupyter Notebook", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["AlgoTraders/stock-analysis-engine"], "name": "AlgoTraders/stock-analysis-engine", "platform": ["python", "cloud", "self-hosted"], "pushed_at": "2020-09-05T13:01:38+00:00", "repo": "AlgoTraders/stock-analysis-engine", "stars": 1238, "tags": ["algorithmic-trading", "backtesting", "iex-cloud", "tradier", "finviz", "stock-market-data", "s3", "redis", "minio", "tensorflow", "keras", "jupyter-notebooks", "helm-charts", "trading-algorithms", "market-data-ingestion", "data-engineering", "cryptocurrency", "docker", "kubernetes"], "topics": ["algorithmic-trading", "stocks", "options", "tensorflow", "keras", "kubernetes", "iex", "tradier", "backtesting", "docker", "redis", "minio", "s3", "deep-neural-networks", "deep-learning", "jupyter", "deep-learning-tutorial", "iexcloud", "helm", "helm-charts"], "urls": [], "use_cases": ["backtest thousands of minute-by-minute trading algorithms", "fetch stock pricing, options, and news data from IEX Cloud and Tradier", "build AI training datasets of trading performance for deep neural networks", "run distributed backtesting jobs on Kubernetes with Helm", "train DNNs to predict stock closing prices", "publish compressed trading datasets to S3 automatically"], "what_it_is": "A distributed stock analysis and backtesting framework that ingests automated pricing data from IEX Cloud, Tradier, and FinViz and runs thousands of minute-by-minute trading algorithm backtests. It publishes datasets and trading performance to S3 for building AI training datasets used to teach deep neural networks how to trade, and deploys via Kubernetes/Helm or docker-compose.", "when_to_avoid": ["you need a maintained, actively updated project - the latest release is from 2020 and Yahoo Finance integration is broken", "you want live trading execution rather than backtesting and dataset generation", "you need a lightweight single-machine tool without Docker or Kubernetes", "you require a permissively licensed dependency - the repo has no license, restricting reuse"], "when_to_choose": ["you need to backtest large numbers of intraday trading algorithms at scale", "you want automated market data ingestion from IEX Cloud, Tradier, or FinViz", "you want to generate training datasets for deep learning models that trade stocks", "you deploy on Kubernetes or docker-compose and want Helm-based orchestration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/stock-analysis-engine", "repo": "AlgoTraders/stock-analysis-engine", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.456765+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:10:00.649596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a4694d57425a00d7fcf29b7b302e301419a97cd6ca3a9570bfc1feda524f770", "fetched_at": "2026-08-28T04:04:05.456765+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AlgoTraders/stock-analysis-engine"}, {"content_hash": "f07fe5457b2e7640a2231c4231036071717ac69b25d37c4e317385c0aacc2386", "fetched_at": "2026-08-29T12:21:31.076552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stock-analysis-engine/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2908, "days_push": 2188, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}