{"adoption": {"forks": 283, "observed_at": "2026-08-28T04:03:18.557553+00:00", "stars": 1034}, "canonical_url": "https://ross.abutalabs.com/products/crosssection", "card": {"archived": false, "artifact_type": "dataset", "description": "Code to accompany our paper Chen and Zimmermann (2020), \"Open source cross-sectional asset pricing\"", "domain": ["fintech", "data-science", "analytics"], "enriched": true, "function": ["data-science", "etl", "data-generation"], "health_score": 64, "homepage": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3604626", "language": "Python", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["OpenSourceAP/CrossSection"], "name": "OpenSourceAP/CrossSection", "platform": ["python", "cli"], "pushed_at": "2025-10-22T17:06:47+00:00", "repo": "OpenSourceAP/CrossSection", "stars": 1034, "tags": ["asset-pricing", "quantitative-finance", "reproducible-research", "stock-signals", "wrds", "factor-portfolios", "r"], "topics": ["asset-pricing", "finance", "quantitative-finance", "reproducible-research", "stocks"], "urls": [], "use_cases": ["reproduce cross-sectional asset pricing signals from academic papers", "download stock characteristic data for factor research", "understand how a predictor like BrandInvest is constructed", "build stock portfolios from firm characteristics", "replicate quantitative finance research results"], "what_it_is": "Code and data accompanying Chen and Zimmermann's paper on open source cross-sectional asset pricing. It reproduces dozens of stock-level predictor signals in Python and portfolio constructions in R, with downloadable outputs at openassetpricing.com.", "when_to_avoid": ["you need real-time trading infrastructure or backtesting engines", "you lack WRDS access and only need the code rather than the data", "you want a maintained library API rather than research scripts"], "when_to_choose": ["you need transparent, reproducible implementations of stock return predictors", "you want open-source alternatives to commercial factor libraries", "you're doing academic research on cross-sectional equity returns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/crosssection", "repo": "OpenSourceAP/CrossSection", "role": "main", "score": 49}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "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:03:18.557553+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.557553+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:06:30.959276+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5cef7f9bf3a78214560c8a748351b4697ce3fafbd1692b5c708770c68e4ba05", "fetched_at": "2026-08-28T04:03:18.557553+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSourceAP/CrossSection"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 48, "longevity": 100, "rhythm": 21}, "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": 2308, "days_push": 315, "days_rel": 315, "gap_med": 378, "n_releases_24m": 2}, "score": 49, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}