{"adoption": {"forks": 488, "observed_at": "2026-08-28T04:07:10.226580+00:00", "stars": 2685}, "canonical_url": "https://ross.abutalabs.com/products/xalpha", "card": {"archived": false, "artifact_type": "library", "description": "基金投资管理回测引擎", "domain": ["fintech", "data-visualization", "analytics"], "enriched": true, "function": ["data-visualization", "analytics", "data-science", "trading"], "health_score": 97, "homepage": "https://xalpha.readthedocs.io", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["refraction-ray/xalpha"], "name": "refraction-ray/xalpha", "platform": ["python"], "pushed_at": "2026-07-25T13:45:32+00:00", "repo": "refraction-ray/xalpha", "stars": 2685, "tags": ["fund-investment", "backtesting", "quantitative-finance", "mutual-funds", "portfolio-analysis", "dca-investing", "china-markets", "financial-data"], "topics": ["finance", "quantitative-trading", "backtest", "investment", "ai-agents"], "urls": [], "use_cases": ["backtest fund investment strategies in python", "track and analyze my mutual fund portfolio transactions", "fetch historical daily prices for Chinese stocks and funds", "predict QDII fund net value in real time", "analyze fund underlying stock holdings and sector exposure", "visualize PE/PB valuation history for indexes and funds", "price convertible bonds", "get reminders for scheduled periodic investing"], "what_it_is": "xalpha is a Python library for full-lifecycle management of fund and stock investments, including fetching fund/stock net values and market data, recording and analyzing investment accounts, and simple strategy backtesting. It is especially suited for dollar-cost averaging and grid trading with frequent cash flows, and offers rich visualizations plus AI agent support.", "when_to_avoid": ["you need high-frequency or intraday backtesting with order-book data", "you need a full production trading system with live broker execution", "your focus is non-Chinese markets without the supported data sources"], "when_to_choose": ["you invest in Chinese funds/stocks and need account tracking with cent-accurate trade records", "you want one-line access to multi-market daily and realtime financial data", "you do DCA or grid investing and need portfolio overview and cost analysis", "you want to run it in Jupyter or on the JoinQuant quant platform"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xalpha", "repo": "refraction-ray/xalpha", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/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:07:10.226580+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.226580+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:17:50.322708+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb49d55773845dfad651e0c5c6433f9b4df94f35b6314c3d923e9dc4e36affb9", "fetched_at": "2026-08-28T04:07:10.226580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/refraction-ray/xalpha"}, {"content_hash": "aeaf810a800590e0dee79261853bf4e5241dd993b147cc88715b1a813343655c", "fetched_at": "2026-08-29T10:00:31.844130+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xalpha/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 60}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2953, "days_push": 39, "days_rel": 57, "gap_med": 201, "n_releases_24m": 4}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}