{
  "dataset_id": "mw_okx_spot_kraken_perp_btc_daily_v1",
  "provider": "marketworld",
  "status": "approved",
  "label": "MarketWorld OKX spot / Kraken perp BTC daily v1",
  "description": "Cross-venue BTC basis package using OKX BTC-USDT spot and Kraken Futures PF_XBTUSD perpetual daily bars.",
  "venue_package": "OKX_KRAKEN",
  "venue_capability": "cross_venue_spot_perp",
  "source_policy_id": "marketworld_public_rest_history_v1",
  "venue_policy_id": "marketworld_venue_locked_v1",
  "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
  "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
  "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
  "timestamp_alignment": {
    "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
    "alignment_key": "timestamp",
    "timezone": "UTC",
    "granularity": "daily",
    "bar_close": "00:00:00+00:00",
    "method": "inner_join_on_common_closed_daily_timestamps",
    "required_legs_per_timestamp": [
      "OKX_SPOT_BTC",
      "KRAKEN_PERP_BTC"
    ],
    "max_allowed_lag_seconds": 0,
    "missing_leg_policy": "reject_dataset",
    "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
  },
  "instrument_sources": {
    "OKX_SPOT_BTC": {
      "execution_venue": "OKX",
      "data_provider": "okx_spot",
      "venue_symbol": "BTC-USDT",
      "market_type": "crypto_spot",
      "source_role": "spot",
      "dataset_source": "okx_public_rest_history",
      "live_source": "OKX public spot"
    },
    "KRAKEN_PERP_BTC": {
      "execution_venue": "KRAKEN_FUTURES",
      "data_provider": "kraken_futures",
      "venue_symbol": "PF_XBTUSD",
      "market_type": "crypto_perp",
      "source_role": "perpetual_swap",
      "dataset_source": "kraken_futures_public_charts",
      "live_source": "Kraken Futures public charts"
    }
  },
  "venue_pairs": [
    {
      "venue_pair_id": "okx_spot_kraken_perp_btc",
      "scope": "cross_venue",
      "basis_type": "spot_perp",
      "underlying": "BTC",
      "execution_venues": [
        "OKX",
        "KRAKEN_FUTURES"
      ],
      "allow_cross_venue_basis": true,
      "legs": [
        {
          "role": "spot",
          "instrument": "OKX_SPOT_BTC",
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT"
        },
        {
          "role": "perpetual_swap",
          "instrument": "KRAKEN_PERP_BTC",
          "execution_venue": "KRAKEN_FUTURES",
          "data_provider": "kraken_futures",
          "venue_symbol": "PF_XBTUSD"
        }
      ],
      "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
    }
  ],
  "cost_model_id": "mw_cost_okx_spot_kraken_perp_btc_v1",
  "source_references": [
    "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history",
    "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
  ],
  "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
  "generated_at": "2026-06-29T04:42:12+00:00",
  "period": {
    "start": "2026-03-29",
    "end": "2026-06-26",
    "timezone": "UTC"
  },
  "granularity": [
    "daily"
  ],
  "instruments": [
    "KRAKEN_PERP_BTC",
    "OKX_SPOT_BTC"
  ],
  "sources": [
    "kraken_futures_public_charts",
    "okx_public_rest_history"
  ],
  "rows": 180,
  "cost_model_hash": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
  "data_fingerprint": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
  "files": [
    {
      "role": "market_data",
      "name": "market_data_sessionized.csv",
      "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/market_data_sessionized.csv",
      "sha256": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
      "bytes": 45064,
      "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv",
      "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv"
    },
    {
      "role": "cost_model",
      "name": "execution_cost_assumptions.csv",
      "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/execution_cost_assumptions.csv",
      "sha256": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
      "bytes": 325,
      "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
      "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
    }
  ],
  "manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
  "manifest_release_status": "released",
  "manifest_matches_files": true,
  "computed_manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
  "manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json",
  "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json"
}
