Language: English | 简体中文
A reproducible, literature-grounded framework for empirical research on cryptocurrency cross-sectional factors.
Open Crypto Factor Research studies whether reported crypto return relations survive point-in-time data constraints, multiple testing, realistic costs, robustness checks, and genuinely future observations. The repository is a research instrument, not a catalogue of profitable trading signals.
No factor, portfolio, or strategy in this repository is approved for live capital. One frozen 90-day low-volatility relation has earned prospective shadow observation after historical analysis. That status means "collect new evidence without changing the rule," not "validated alpha."
See EVIDENCE_STATUS.md for the complete claim ledger.
- Which published cryptocurrency factor relations replicate in a cross-sectional panel under a declared adaptation?
- Which relations remain economically meaningful after turnover, fees, slippage, funding, liquidity, and capacity constraints?
- How much apparent evidence disappears after accounting for repeated trials, unstable regimes, and data-universe bias?
- Can frozen factor definitions accumulate prospective evidence without feeding future outcomes back into candidate selection?
The project prioritizes economic mechanisms and net implementability. Test counts and automation are controls that protect the evidence, not research success by themselves.
flowchart TD
A["Published evidence and market mechanism"] --> B["Registered and falsifiable hypothesis"]
B --> C["Frozen factor definition and trial record"]
C --> D["Historical replication and validation"]
D --> E["Costs, baselines, robustness, and red-team review"]
E --> F{"Evidence classification"}
F --> G["Reject and preserve the negative result"]
F --> H["Prospective observation only"]
H --> I["Frozen future-data evaluation"]
I --> J["Portfolio and paper-trading research"]
J --> K["Operational and risk review"]
K --> L["Only then consider capital"]
Historical acceptance cannot directly authorize a combination or a trade. Holdout details are isolated from candidate revision, and rejected trials stay in the record because negative results are part of the evidence.
| Research component | Public evidence status |
|---|---|
| Data substrate | 50 registered OKX assets, point-in-time top-40 eligibility, and audited 730-day interfaces; pre-freeze history remains survivor-conditioned |
| Canonical momentum replications | Six frozen historical paths rejected |
| Perpetual basis and funding | Twelve frozen two-leg paths rejected after costs; family closed on the current sample |
| Monthly low volatility | 60-day path rejected; 90-day path allowed only into unchanged prospective observation |
| Execution-cost evidence | Five OKX perpetuals, five frozen dates, and three notionals show material visible-book cost heterogeneity; the surface does not support production capacity inference |
| Detection-power audit | Eighteen synthetic cells and 3,600 outcomes show an open mechanical path but insufficient power at realistic reference effects; no real factor was tested |
| Factor promotion | None |
| Portfolio, paper trading, or deployment | None |
This table deliberately separates engineering readiness from economic evidence. A working evaluator does not imply that the evaluated relation is real, and a historical clue does not imply future profitability.
Run a complete evidence-boundary demonstration without downloading market data:
python examples/run_synthetic_evidence_demo.pyThe deterministic example uses the repository's production leakage audit,
multiple-testing adjustment, and historical discovery classifier. It shows a
future-leaking candidate being rejected, a nominally significant candidate
being blocked by family multiplicity, and a stronger clue receiving only
prospective_eligible. The final result is zero formal factor passes and no
permission for combination, paper trading, or capital.
Use --json for a machine-readable report. The demo validates research logic;
it is not an empirical cryptocurrency result.
A second data-free package exposes the sanitized aggregate evidence behind the execution-cost and gate-detection conclusions:
python examples/run_execution_economics_power_demo.py --package evidence/execution_economics_power_v1.json
python examples/run_execution_economics_power_demo.py --package evidence/execution_economics_power_v1.json --jsonThe visible-book surface spans five assets, five frozen dates, and three
notionals. Median one-way cost ranges from 5.18 to 12.91 bps and p95 cost from
5.82 to 33.54 bps, including a 5 bps taker fee. The synthetic detection-power
study produced zero formal passes in 1,800 realistic outcomes and was classified
mechanically_open_realistic_power_insufficient. These are execution and
measurement findings, not evidence that a real factor works. See the
research note.
- Literature grounding: an eligible candidate cites a registered source and states its economic mechanism, required fields, expected sign, baselines, and failure conditions.
- Preregistration: the factor definition and evaluation batch are frozen before outcomes are observed.
- Complete trial accounting: generated, manual, failed, and syntax-rejected candidates all contribute to the trial budget.
- Multiplicity control: statistical burden increases with the number and dependence of attempted hypotheses.
- Holdout isolation: Holdout details cannot enter model prompts or revision feedback.
- Economic auditing: turnover, fees, slippage, funding, drawdown, liquidity, and execution assumptions are explicit.
- Prospective evaluation: historical clues may earn only the right to be observed unchanged on future data.
- Red-team review: independent reconstruction and skeptical audits look for leakage, sign changes, unsupported adaptations, and false promotion.
These controls reduce avoidable self-deception. They do not prove that a factor will persist.
AI-assisted hypothesis generation is one optional research method in this repository. It can translate registered mechanisms into standardized, falsifiable candidates and help organize failure analysis. It cannot choose its own evidence standard, see sealed Holdout details, bypass trial budgets, or declare a signal tradeable. Deterministic code and frozen policies make the classification.
The current public baseline is Python 3.11 with 351 collected and passing
tests. The machine-readable source of truth is
CURRENT_BASELINE.json, checked independently by
GitHub Actions on every commit to main.
Historical counts such as 274, 278, and 288 remain in dated reports as development records. They are not alternative current baselines.
git clone https://github.com/qniequn-boop/open-crypto-factor-research.git
cd open-crypto-factor-research
python -m venv .venv
python -m pip install --require-hashes -r requirements.txt
python -m pytest -qThe repository excludes exchange keys, cloud credentials, server settings, ordinary runtime logs, and market-data caches. Full empirical reruns require researchers to obtain the relevant public market data independently. See REPRODUCIBILITY.md for exact boundaries and procedures.
| Start here | Purpose |
|---|---|
| RESEARCH_SCOPE.md | Research questions, scope, claim boundaries, and the role of AI |
| EVIDENCE_STATUS.md | Current positive, negative, incomplete, and prospective evidence |
| REPRODUCIBILITY.md | Environment, locked dependencies, CI, data boundaries, and verification |
| CONTRIBUTING.md | Standards for hypotheses, replications, code, and evidence language |
| examples/run_synthetic_evidence_demo.py | Data-free demonstration of leakage, multiplicity, and promotion boundaries |
| docs/EXECUTION_ECONOMICS_AND_DETECTION_POWER_20260725.md | Sanitized execution-cost and synthetic detection-power evidence |
| examples/run_execution_economics_power_demo.py | Data-free validator for the aggregate execution-economics package |
| evidence/execution_economics_power_v1.json | Machine-readable aggregate evidence with every authority field set to false |
| LITERATURE_HYPOTHESIS_REGISTRY.md | Registered literature mechanisms and falsification requirements |
| PANEL_DATA_SUBSTRATE_V2.md | Universe construction, missingness, and survivorship boundaries |
| RESEARCH_ALIGNMENT_RED_TEAM_AUDIT_20260717.md | Independent alignment and skeptic audit |
| FACTORY_MASTER_ROADMAP.md | Detailed development history and long-horizon research gates |
Some internal modules and historical records retain the earlier BTCLab and
factor factory names. They are preserved to keep paths, hashes, and dated
research artifacts reproducible; they do not define the public research claim.
- Crypto histories are short and market institutions change rapidly.
- The current registered pool begins with surviving contracts, so pre-freeze analysis cannot support claims about the delisted or illiquid majority.
- A 50-asset registry and top-40 panel remain small relative to equity factor studies.
- Daily and monthly research does not reproduce low-latency execution or market-making capabilities.
- Funding, basis, and liquidity premia may be consumed by financing, impact, borrow constraints, and operational failures.
- Multiple-testing controls and prospective tracking reduce specific risks; neither guarantees external validity or future profit.
Replication attempts, negative results, data audits, and mechanism-based hypotheses are welcome when they preserve the preregistration and evidence boundaries in CONTRIBUTING.md.
GitHub exposes citation metadata from CITATION.cff. The code is available under the MIT License.
This project is for research, education, and methodological discussion. It is not investment advice. Historical returns, statistical relationships, and internal classifications do not imply future performance. Users must verify data, code, costs, legal requirements, and risk independently.