{
  "dataset_id": "mw_composite_aligned_846bd6f7247d",
  "provider": "marketworld",
  "status": "approved_local_composite",
  "label": "MarketWorld aligned multi-instrument composite",
  "description": "Local composite dataset generated from official MarketWorld packages with strict timestamp inner-join alignment.",
  "venue_package": "COMPOSITE",
  "venue_capability": "multi_instrument",
  "source_policy_id": "marketworld_official_composite_aligned_v1",
  "venue_policy_id": "marketworld_multi_dataset_official_only_v1",
  "coverage_policy": "Composite contains only timestamps where every selected official package has every required instrument.",
  "anti_lookahead_policy": "Each step exposes a single common timestamp across all selected instruments; strategy still sees previous closed step and fills on the next step.",
  "input_dataset_ids": [
    "mw_kraken_spot_okx_perp_btc_daily_v1",
    "mw_okx_spot_kraken_perp_btc_daily_v1"
  ],
  "duplicate_instruments_collapsed": [],
  "instrument_sources": {
    "KRAKEN_SPOT_BTC": {
      "execution_venue": "KRAKEN",
      "data_provider": "kraken_spot",
      "venue_symbol": "XBTUSD",
      "market_type": "crypto_spot",
      "source_role": "spot",
      "dataset_source": "kraken_spot_public_ohlc",
      "live_source": "Kraken public spot OHLC"
    },
    "OKX_PERP_BTC": {
      "execution_venue": "OKX",
      "data_provider": "okx_swap",
      "venue_symbol": "BTC-USDT-SWAP",
      "market_type": "crypto_perp",
      "source_role": "perpetual_swap",
      "dataset_source": "okx_public_rest_history",
      "live_source": "OKX public swap"
    },
    "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": "kraken_spot_okx_perp_btc",
      "scope": "cross_venue",
      "basis_type": "spot_perp",
      "underlying": "BTC",
      "execution_venues": [
        "KRAKEN",
        "OKX"
      ],
      "allow_cross_venue_basis": true,
      "legs": [
        {
          "role": "spot",
          "instrument": "KRAKEN_SPOT_BTC",
          "execution_venue": "KRAKEN",
          "data_provider": "kraken_spot",
          "venue_symbol": "XBTUSD"
        },
        {
          "role": "perpetual_swap",
          "instrument": "OKX_PERP_BTC",
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP"
        }
      ],
      "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
    },
    {
      "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_composite_conservative_max_cost_v1",
  "generated_by": "scripts/offline_backtest_workbench.py",
  "generated_at": "2026-07-06T08:14:10+00:00",
  "period": {
    "start": "2026-03-29",
    "end": "2026-06-26",
    "timezone": "UTC"
  },
  "granularity": [
    "daily"
  ],
  "instruments": [
    "KRAKEN_SPOT_BTC",
    "OKX_PERP_BTC",
    "KRAKEN_PERP_BTC",
    "OKX_SPOT_BTC"
  ],
  "sources": [
    "kraken_spot_public_ohlc",
    "okx_public_rest_history",
    "kraken_futures_public_charts"
  ],
  "rows": 360,
  "aligned_step_count": 90,
  "timestamp_alignment": {
    "policy": "strict_inner_join_all_selected_instruments",
    "timezone": "UTC",
    "granularity": "daily",
    "required_legs_per_timestamp": [
      "KRAKEN_SPOT_BTC",
      "OKX_PERP_BTC",
      "KRAKEN_PERP_BTC",
      "OKX_SPOT_BTC"
    ],
    "input_dataset_ids": [
      "mw_kraken_spot_okx_perp_btc_daily_v1",
      "mw_okx_spot_kraken_perp_btc_daily_v1"
    ],
    "aligned_step_count": 90,
    "dropped_step_count_by_dataset": {
      "mw_kraken_spot_okx_perp_btc_daily_v1": 0,
      "mw_okx_spot_kraken_perp_btc_daily_v1": 0
    }
  },
  "cost_model_hash": "sha256:f77e0fb687a1dc63a882b00dbc272e1fe7d34c29b8dc99989a04836348473abb",
  "data_fingerprint": "sha256:25af50c3ed76387745abba36ad03e9cb9475217dd3b406b9d3c75f1e3de14740",
  "files": [
    {
      "role": "market_data",
      "name": "market_data_sessionized.csv",
      "path": "external_strategies/backtest_data/mw_composite_aligned_846bd6f7247d/market_data_sessionized.csv",
      "sha256": "sha256:25af50c3ed76387745abba36ad03e9cb9475217dd3b406b9d3c75f1e3de14740",
      "bytes": 90176,
      "download_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/files/market_data_sessionized.csv",
      "static_download_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/files/market_data_sessionized.csv"
    },
    {
      "role": "cost_model",
      "name": "execution_cost_assumptions.csv",
      "path": "external_strategies/backtest_data/mw_composite_aligned_846bd6f7247d/execution_cost_assumptions.csv",
      "sha256": "sha256:f77e0fb687a1dc63a882b00dbc272e1fe7d34c29b8dc99989a04836348473abb",
      "bytes": 581,
      "download_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/files/execution_cost_assumptions.csv",
      "static_download_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/files/execution_cost_assumptions.csv"
    }
  ],
  "manifest_release_status": "released",
  "manifest_matches_files": false,
  "manifest_hash": "sha256:76d37f64d2b1096c151f29aa9f9bd855df96f324109e5bd99147b49e52059e22",
  "computed_manifest_hash": "sha256:44146d867f737738653227c0e3859c9f4d2e86b9a05bb85d17f428aa72fb2206",
  "released_manifest_self_hash": "sha256:491b6be7107616ce8e94a4cede695425af8dd7f0c71e0820416402d68b615fac",
  "manifest_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/manifest.json",
  "static_manifest_url": "external-strategies/backtest-datasets/mw_composite_aligned_846bd6f7247d/manifest.json"
}
