From 3d482cfcea9a41f2b7a36f7044f22d41e05d9f2f Mon Sep 17 00:00:00 2001 From: initial-d Date: Fri, 7 Aug 2026 10:56:29 +0800 Subject: [PATCH] docs_link_live_hugging_face_artifacts --- README.md | 8 +++++--- docs/huggingface_artifacts.md | 14 ++++++++------ docs/visibility_status.md | 4 +++- scripts/export_huggingface_artifacts.py | 2 ++ tests/test_export_huggingface_artifacts.py | 8 ++++++-- 5 files changed, 24 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f5c528c..74f888d 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,11 @@ Languages: [English](README.md) | [简体中文](README.zh-CN.md) | [繁體中 | **Evidence, including failures** | Costs, turnover, baselines, caveats, and negative results stay visible | | **A contribution path** | CI, tests, report templates, Colab, and newcomer-sized research tasks | -Hugging Face publishing is prepared through the -[synthetic dataset/model export](docs/huggingface_artifacts.md); the export path -explicitly excludes real and proprietary market data. +Try the live Hugging Face artifacts: the +[100,000-row synthetic dataset](https://huggingface.co/datasets/dddyym/ml-quant-trading-synthetic) +and [213-input MLP checkpoint](https://huggingface.co/dddyym/ml-quant-trading-synthetic-mlp). +Both come from the deterministic quick start and explicitly exclude real and +proprietary market data; see the [artifact guide](docs/huggingface_artifacts.md). ## Quick Start diff --git a/docs/huggingface_artifacts.md b/docs/huggingface_artifacts.md index f4fabb3..7a0c5d3 100644 --- a/docs/huggingface_artifacts.md +++ b/docs/huggingface_artifacts.md @@ -8,11 +8,13 @@ from the deterministic synthetic quick start. | Hugging Face repository | Contents | Intended use | |---|---|---| -| `dddyym/ml-quant-trading-synthetic` | Viewer-ready compressed CSV, generator config, checksum manifest, dataset card | Installation, CI, teaching, and pipeline smoke tests | -| `dddyym/ml-quant-trading-synthetic-mlp` | PyTorch checkpoint, factor order, architecture config, metrics, model card | Checkpoint loading and inference smoke tests | +| [`dddyym/ml-quant-trading-synthetic`](https://huggingface.co/datasets/dddyym/ml-quant-trading-synthetic) | Live viewer-ready 100,000-row compressed CSV, generator config, checksum manifest, dataset card | Installation, CI, teaching, and pipeline smoke tests | +| [`dddyym/ml-quant-trading-synthetic-mlp`](https://huggingface.co/dddyym/ml-quant-trading-synthetic-mlp) | Live PyTorch checkpoint, 213-factor order, architecture config, metrics, model card | Checkpoint loading and inference smoke tests | -Neither artifact represents real instruments, proprietary data, deployable -alpha, or evidence of live performance. +Both public repositories were verified with anonymous downloads; the dataset +viewer renders its schema and rows, and the checkpoint passes the documented +loading and inference smoke test. Neither artifact represents real instruments, +proprietary data, deployable alpha, or evidence of live performance. ## Build locally @@ -50,7 +52,7 @@ artifacts/huggingface/ The dataset gzip stream uses a fixed timestamp so the same panel produces the same SHA-256 digest. Manifests record the source commit and file checksums. -## Upload after authentication +## Maintainer upload after authentication Install and authenticate the Hugging Face CLI locally. Never paste a full token into an issue, PR, notebook, or chat transcript. @@ -77,7 +79,7 @@ hf upload dddyym/ml-quant-trading-synthetic-mlp \ artifacts/huggingface/ml-quant-trading-synthetic-mlp . ``` -After upload: +After a new upload: 1. Confirm the dataset viewer renders rows and column types. 2. Run the model-card loading snippet in a clean environment. diff --git a/docs/visibility_status.md b/docs/visibility_status.md index e4990f1..bd06ab2 100644 --- a/docs/visibility_status.md +++ b/docs/visibility_status.md @@ -7,6 +7,8 @@ This page tracks the current public launch surface for `ml-quant-trading`. - Repository: - Paper: - Hugging Face paper page (verified authorship claim): +- Hugging Face synthetic dataset: +- Hugging Face synthetic MLP checkpoint: - alphaXiv page: - Awesome Quant listing (Factor Analysis): - ernie55ernie Awesome Quant listing (Research Frameworks): @@ -182,7 +184,7 @@ Primary ask: - Add more public-data mini reproductions with larger or differently constructed universes. - Ask new users to try the Dev Container and report first-run friction. - Post the v0.2.1 validation entrypoint release to one relevant community at a time with a customized note. -- Define a safe Hugging Face demo artifact or model card that uses synthetic or redistributable data only. +- Invite reproducibility feedback through the live synthetic Hugging Face dataset and model cards. - Follow up on open high-relevance awesome-list pull requests after maintainers have had time to review. - Follow up on the auto-refreshed Awesome Quant listing PR after maintainer review. - Set a GitHub social preview image through repository settings when browser upload access is available. diff --git a/scripts/export_huggingface_artifacts.py b/scripts/export_huggingface_artifacts.py index 171adb6..ea12e7d 100644 --- a/scripts/export_huggingface_artifacts.py +++ b/scripts/export_huggingface_artifacts.py @@ -131,6 +131,7 @@ def _dataset_card( - quantitative-trading - reproducibility - pytorch +- arxiv:2507.07107 configs: - config_name: default data_files: @@ -205,6 +206,7 @@ def _model_card( - quantitative-trading - reproducibility - pytorch +- arxiv:2507.07107 --- # ml-quant-trading synthetic MLP smoke-test checkpoint diff --git a/tests/test_export_huggingface_artifacts.py b/tests/test_export_huggingface_artifacts.py index 9b24a39..7d941a2 100644 --- a/tests/test_export_huggingface_artifacts.py +++ b/tests/test_export_huggingface_artifacts.py @@ -61,8 +61,12 @@ def test_export_bundle_is_viewer_ready_and_explicitly_synthetic(tmp_path: Path): assert len(rows) == 4 assert rows[-1]["tradable"] == "0" assert manifest["dataset_rows"] == 4 - assert "no real instruments" in (dataset_dir / "README.md").read_text(encoding="utf-8") - assert "not as a market model" in (model_dir / "README.md").read_text(encoding="utf-8") + dataset_card = (dataset_dir / "README.md").read_text(encoding="utf-8") + model_card = (model_dir / "README.md").read_text(encoding="utf-8") + assert "no real instruments" in dataset_card + assert "not as a market model" in model_card + assert "arxiv:2507.07107" in dataset_card + assert "arxiv:2507.07107" in model_card assert json.loads((model_dir / "config.json").read_text())["in_dim"] == 2 assert json.loads((model_dir / "feature_names.json").read_text()) == ["f1", "f2"]