{"adoption": {"forks": 342, "observed_at": "2026-08-28T04:06:33.297848+00:00", "stars": 2276}, "canonical_url": "https://ross.abutalabs.com/products/free-stockdb", "card": {"archived": false, "artifact_type": "application", "description": "面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎，集成增量同步、本地缓存、复权、批量查询、回测与指标计算。", "domain": ["fintech", "time-series", "developer-tools"], "enriched": true, "function": ["database", "search-engine", "mcp", "api-framework", "http-server", "data-science", "benchmarking"], "health_score": 99, "homepage": null, "language": "HTML", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hello245m/free-stockdb"], "name": "hello245m/free-stockdb", "platform": ["windows", "python", "cpp", "rust", "self-hosted", "cli"], "pushed_at": "2026-08-23T00:14:35+00:00", "repo": "hello245m/free-stockdb", "stars": 2276, "tags": ["a-share", "china-stock-market", "kline", "market-data", "backtesting", "technical-analysis", "local-first", "quant-research", "stock-data", "etf", "incremental-sync", "zstd-compression", "excel-integration", "mcp-server", "time-series-engine", "adjustment-factors", "sector-mapping", "offline-data", "time-series-database", "quantitative-finance", "data-engineering", "algorithmic-trading", "macos", "linux", "desktop"], "topics": ["a-share", "algorithmic-trading", "backtesting", "china-stock-market", "kline", "local-first", "market-data", "mcp", "quant-research", "quantitative-finance", "stock-data", "stock-market", "technical-analysis", "time-series-database"], "urls": [], "use_cases": ["run full-market backtests over 7000+ A-share stocks without remote API rate limits", "query minute-level K-line data for thousands of tickers locally", "compute technical indicators like MACD and KDJ in batch across the whole market", "get forward/backward adjusted prices with built-in adjustment factors", "feed stock market data to an AI assistant via MCP", "analyze stock data in Excel or WPS without writing code", "serve local market data to a team over LAN for distributed backtesting", "keep researching offline with all market data stored on disk"], "what_it_is": "A local-first quantitative data engine for China A-share daily/minute K-lines and ETF minute/tick data, combining incremental sync, cleaning, price adjustment, a custom C++ time-series store, and a Rust-based indicator/backtest computation core. It exposes one local protocol through five access modes: Python SDK, HTTP API, Excel/WPS, HTML web UI, and AI MCP.", "when_to_avoid": ["you need non-Chinese markets or global equities data", "you only need low-frequency fundamentals like financial reports or macro data (supported only as custom extensions)", "you require a managed cloud service rather than a self-hosted local engine", "you need real-time streaming tick feeds rather than synced historical data", "you want a fully open data pipeline - the binary is distributed via releases and third-party download links rather than buildable source"], "when_to_choose": ["you need whole-market minute-level A-share or ETF data for backtesting and remote APIs are too slow or rate-limited", "you want to avoid weeks of data engineering (sync, cleaning, adjustment factors, storage) before running your first strategy", "you need offline, local-first access to market data with no dependency on remote request chains", "you want one data layer serving Python, HTTP, Excel, web, and AI/MCP clients", "you need fast batch indicator computation faster than pandas can deliver"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/free-stockdb", "repo": "hello245m/free-stockdb", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "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:06:33.297848+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.297848+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.603809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f6dba4e74a04874ad1cea105da1a5f5b45de4228db8e3e05f9319868692f0dd", "fetched_at": "2026-08-28T04:06:33.297848+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hello245m/free-stockdb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 8, "rhythm": 61}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 117, "days_push": 11, "days_rel": 45, "gap_med": null, "n_releases_24m": 1}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}