{"adoption": {"forks": 458, "observed_at": "2026-08-28T04:06:31.417599+00:00", "stars": 2256}, "canonical_url": "https://ross.abutalabs.com/products/investool", "card": {"archived": false, "artifact_type": "application", "description": "Golang实现财报分析、个股基本面检测、基本面选股、4433法则基金筛选与检测、基金持仓相似度、股票选基、基金经理筛选", "domain": ["fintech", "data-science", "analytics", "self-hosted", "web-development"], "enriched": true, "function": ["web-framework", "http-server", "data-science", "cli", "analytics", "data-visualization", "web-scraping"], "health_score": 40, "homepage": "https://investool.axiaoxin.com", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["axiaoxin-com/investool"], "name": "axiaoxin-com/investool", "platform": ["go", "windows", "self-hosted"], "pushed_at": "2025-06-07T10:41:01+00:00", "repo": "axiaoxin-com/investool", "stars": 2256, "tags": ["stock-analysis", "fund-screening", "fundamental-analysis", "eastmoney", "chinese-stock-market", "4433-rule", "financial-reports", "investment-research", "quantitative-finance", "linux", "macos", "web-server", "docker"], "topics": ["stock", "eastmoney", "fund"], "urls": [], "use_cases": ["screen stocks by fundamental financial metrics", "analyze financial reports of many stocks automatically", "filter mutual funds using the 4433 rule", "find funds similar to a stock portfolio", "evaluate and rank fund managers", "export stock screening results to excel or csv", "check if a stock is undervalued relative to fair price"], "what_it_is": "InvesTool is a Go-based personal investment analysis tool that automates fundamental stock screening, financial report analysis, and mutual fund selection using data from Eastmoney, Sina Finance, and Tiantian Fund. It offers both a CLI and a web interface for detecting quality companies, applying the 4433 fund selection rule, and analyzing fund manager performance.", "when_to_avoid": ["you need real-time trading or broker integration", "you invest primarily in non-Chinese markets", "you expect professional investment advice - this is a personal research tool only"], "when_to_choose": ["you invest in Chinese A-share stocks and funds and want automated fundamental screening", "you need to batch-analyze financial indicators like ROE, EPS, PEG, and cash flow", "you want a self-hosted web tool for stock and fund research"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/investool", "repo": "axiaoxin-com/investool", "role": "main", "score": 34}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "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:31.417599+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.417599+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:42.254785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "709a6d6bb81470010595f3c0d82604ec2cd8780c1d9c5c84c04c3a0879977589", "fetched_at": "2026-08-28T04:06:31.417599+00:00", "kind": "readme", "missing": false, "url": "https://github.com/axiaoxin-com/investool"}, {"content_hash": "e42440bfbdaa7ea017d09a2c1a435f1313d484113490322977afd73e83677aa0", "fetched_at": "2026-08-29T10:23:33.986962+00:00", "kind": "homepage", "missing": false, "url": "https://investool.axiaoxin.com"}, {"content_hash": "e244bfd5bf3bf0d475e43178046b60f8866e137553ab8b24b2f6c32dfe86f4f9", "fetched_at": "2026-08-29T10:23:33.996289+00:00", "kind": "site_page", "missing": false, "url": "https://investool.axiaoxin.com/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 25, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1963, "days_push": 452, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 34, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}