원클릭으로
budget-data-split
为 BudgetAgent 基于预算层统一多资产行情面板生成 train、validation 和 walk-forward 数据切分。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
为 BudgetAgent 基于预算层统一多资产行情面板生成 train、validation 和 walk-forward 数据切分。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
为 BudgetAgent 汇总已登记的信号层资产行情数据,生成预算层统一 OHLCV 面板、收益率宽表和数据清单。
指导 BudgetAgent 在预算层训练结束时登记最终选择的预算策略,生成最终选择报告并更新 budget_run_state.json。
指导 BudgetAgent 按结构化预算策略规范生成 budget_policy_config.json、budget_policy_spec.md、param_space.json 和 budget_policy_meta.json。
指导 BudgetAgent 一次性评估单个或多个预算层策略,生成参数搜索、回测摘要、阶段归因和横向排名产物。
为 BudgetAgent 生成预算层资产池画像;第一步自动补全资产简称、类型、市场、行业/主题等元数据。
为 BudgetAgent 创建预算层任务,扫描已有信号层 run 目录,复制信号层最终策略小文件,并生成标准 budget_run_state.json。
| name | budget-data-split |
| description | 为 BudgetAgent 基于预算层统一多资产行情面板生成 train、validation 和 walk-forward 数据切分。 |
| license | Proprietary project skill |
在 budget-data-panel 已生成 panel_ohlcv.parquet 和 returns_wide.parquet 后使用本 skill。
预算层是多资产组合任务,因此切分必须按统一交易日期切分,而不是按长表行数切分。所有资产共享同一组 train、validation 和 walk-forward 日期窗口。
本 skill 会:
1. 读取 budget_run_state.json。
2. 自动定位 data_panel.panel_ohlcv 和 data_panel.returns_wide。
3. 按 returns_wide 的日期索引生成全样本 train/validation 切分。
4. 生成扩展窗口 walk-forward 切分。
5. 同时写出 panel 长表切片和 returns 宽表切片。
6. 写出 split_manifest.json。
7. 更新 budget_run_state.json 的 data_split 和 artifacts.datasets.budget_splits。
python -m strategy_lab.cli budget split-data BUDGET_RUN_STATE_PATH [OPTIONS]
必填参数:
BUDGET_RUN_STATE_PATH
预算层任务状态文件路径,例如:
artifacts\budget_runs\budget_xxx\budget_run_state.json
可选参数:
--panel-ohlcv-path
可选。覆盖 panel_ohlcv.parquet 路径。不传则从 budget_run_state.json 的 data_panel.panel_ohlcv 读取。
--returns-wide-path
可选。覆盖 returns_wide.parquet 路径。不传则从 budget_run_state.json 的 data_panel.returns_wide 读取。
--output-dir
可选。切分输出目录。不传则写入当前 budget run 的 data/splits。
--train-ratio
全样本 train/validation 切分中的训练日期比例。
默认 0.70。
--fold-count
walk-forward fold 数量。
默认 3。
--fold-train-ratio
walk-forward 中每个 fold 的最小训练窗口日期比例。
默认 0.60。
--fold-validation-ratio
walk-forward 中每个 fold 的验证窗口日期比例。
默认 0.20。
--min-train-dates
每个训练窗口最少交易日数量。
默认 120。
--min-validation-dates
每个验证窗口最少交易日数量。
默认 40。
默认输出:
artifacts/budget_runs/{budget_run_id}/data/splits/
train_panel_ohlcv.parquet
train_returns_wide.parquet
validation_panel_ohlcv.parquet
validation_returns_wide.parquet
split_manifest.json
walk_forward/
fold_001/
context_panel_ohlcv.parquet
context_returns_wide.parquet
train_panel_ohlcv.parquet
train_returns_wide.parquet
validation_panel_ohlcv.parquet
validation_returns_wide.parquet
文件说明:
train_panel_ohlcv.parquet
训练区间的多资产 OHLCV 长表。
train_returns_wide.parquet
训练区间的多资产收益率宽表。预算策略参数搜索通常读取这个文件。
validation_panel_ohlcv.parquet
验证区间的多资产 OHLCV 长表。
validation_returns_wide.parquet
验证区间的多资产收益率宽表。预算策略候选应在这里做样本外验证。
context_panel_ohlcv.parquet / context_returns_wide.parquet
walk-forward fold 中的上下文数据,等于该 fold 的 train + validation。
用于让动量、波动率、相关性等指标在验证段开头有足够历史窗口。
split_manifest.json
切分清单。后续预算层画像、策略搜索和组合回测应优先读取它,避免各环节自行切分导致不一致。
walk-forward 是时间序列策略验证方法:
fold_001: 用早期历史训练,随后一段验证。
fold_002: 训练窗口向后扩展,再用后面一段验证。
fold_003: 继续扩展训练窗口,再验证更靠后的区间。
它用于检查预算策略是否只在某一个时间段有效,还是在多个滚动样本外区间都有稳定表现。
默认切分:
python -m strategy_lab.cli budget split-data artifacts\budget_runs\budget_xxx\budget_run_state.json
增加 walk-forward fold 数:
python -m strategy_lab.cli budget split-data artifacts\budget_runs\budget_xxx\budget_run_state.json --fold-count 5
调整训练/验证比例:
python -m strategy_lab.cli budget split-data artifacts\budget_runs\budget_xxx\budget_run_state.json --train-ratio 0.75 --fold-train-ratio 0.65 --fold-validation-ratio 0.15
budget_run_state.json -> data_panel.panel_ohlcv 和 data_panel.returns_wide 已存在。split_manifest.json,后续服务不要自行重新切分。returns_wide 早期可能有 NaN;这是正常情况,后续预算策略和回测需要把这些资产视为当时不可交易或不可评分。