5334 lines
565 KiB
Plaintext
5334 lines
565 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "13f0b347",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003905,
|
||
"end_time": "2026-06-13T03:12:01.037089+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:01.033184+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Cross-Validation for Financial Machine Learning\n",
|
||
"\n",
|
||
"**ML4T Third Edition — Chapter 6: Strategy Definition**\n",
|
||
"\n",
|
||
"**Docker image**: `ml4t`\n",
|
||
"\n",
|
||
"This notebook builds cross-validation from first principles for time series:\n",
|
||
"\n",
|
||
"1. **Decision-time admissibility** — the central design constraint\n",
|
||
"2. **Three dataset roles** — train, validation, and holdout test\n",
|
||
"3. **K-fold CV** — and why random shuffling fails for time series\n",
|
||
"4. **Walk-forward CV** — expanding and rolling windows\n",
|
||
"5. **Label buffer (purging)** — preventing forward-looking label leakage\n",
|
||
"6. **Feature buffer (embargo)** — preventing backward-looking feature leakage\n",
|
||
"7. **Calendar-aware CV** — trading days vs calendar days\n",
|
||
"8. **Nested walk-forward** — retuning across multiple test years\n",
|
||
"9. **Combinatorial purged CV (CPCV)** — multiple backtest paths\n",
|
||
"10. **Putting it together** — from config to protocol\n",
|
||
"\n",
|
||
"**Book Reference**: Section 6.5 (Evaluation Protocol for Time Series)\n",
|
||
"\n",
|
||
"**References**:\n",
|
||
"- López de Prado (2018). *Advances in Financial Machine Learning*, Ch. 7\n",
|
||
"- Bailey, Borwein, López de Prado, and Zhu (2014). \"The Probability of Backtest Overfitting\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "e8d6f415",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:01.045790Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:01.045592Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:04.791666Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:04.791166Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 3.751501,
|
||
"end_time": "2026-06-13T03:12:04.792182+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:01.040681+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"\"\"\"Cross-validation foundations for Chapter 6.\"\"\"\n",
|
||
"\n",
|
||
"import warnings\n",
|
||
"from math import comb\n",
|
||
"\n",
|
||
"import exchange_calendars as xcals\n",
|
||
"import matplotlib.dates as mdates\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"import pandas as pd\n",
|
||
"import plotly.graph_objects as go\n",
|
||
"from matplotlib.patches import Patch, Rectangle\n",
|
||
"from ml4t.diagnostic.splitters import CombinatorialCV, WalkForwardCV\n",
|
||
"from ml4t.diagnostic.splitters.config import WalkForwardConfig\n",
|
||
"from plotly.subplots import make_subplots\n",
|
||
"from sklearn.model_selection import KFold\n",
|
||
"\n",
|
||
"from utils.modeling import get_cv_config\n",
|
||
"from utils.reproducibility import set_global_seeds\n",
|
||
"\n",
|
||
"warnings.filterwarnings(\"ignore\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "f8e0993b",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:04.797621Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:04.797502Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:04.799417Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:04.798974Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.005431,
|
||
"end_time": "2026-06-13T03:12:04.800028+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:04.794597+00:00",
|
||
"status": "completed"
|
||
},
|
||
"tags": [
|
||
"parameters"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"N_VIZ = 504\n",
|
||
"SEED = 42"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "19987d6b",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:04.808908Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:04.808791Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:04.838033Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:04.837321Z"
|
||
},
|
||
"lines_to_next_cell": 2,
|
||
"papermill": {
|
||
"duration": 0.034377,
|
||
"end_time": "2026-06-13T03:12:04.838894+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:04.804517+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"set_global_seeds(SEED)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "80071e4b",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003795,
|
||
"end_time": "2026-06-13T03:12:04.846923+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:04.843128+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## Data Setup\n",
|
||
"\n",
|
||
"We use 12 years of NYSE trading sessions (2014–2025) throughout."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "802a029c",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:04.853651Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:04.853488Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.021888Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.021361Z"
|
||
},
|
||
"lines_to_next_cell": 2,
|
||
"papermill": {
|
||
"duration": 0.172913,
|
||
"end_time": "2026-06-13T03:12:05.022567+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:04.849654+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"NYSE sessions 2014–2025: 3,018\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"nyse = xcals.get_calendar(\"XNYS\")\n",
|
||
"sessions = nyse.sessions_in_range(\"2014-01-01\", \"2025-12-31\")\n",
|
||
"dates = pd.DatetimeIndex(sessions, tz=\"UTC\")\n",
|
||
"df_dates = pd.DataFrame({\"idx\": np.arange(len(dates))}, index=dates)\n",
|
||
"\n",
|
||
"print(f\"NYSE sessions 2014–2025: {len(dates):,}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "117977bb",
|
||
"metadata": {
|
||
"lines_to_next_cell": 2,
|
||
"papermill": {
|
||
"duration": 0.004122,
|
||
"end_time": "2026-06-13T03:12:05.031136+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.027014+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Visualization Helper"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "99695b08",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.040316Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.040183Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.044767Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.044264Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.010007,
|
||
"end_time": "2026-06-13T03:12:05.045164+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.035157+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def plot_splits(splits, dates, *, title=\"\", figsize=(12, 3.5)):\n",
|
||
" \"\"\"Plot walk-forward splits as horizontal bars with real dates.\"\"\"\n",
|
||
" n_folds = len(splits)\n",
|
||
" fig, ax = plt.subplots(figsize=figsize)\n",
|
||
"\n",
|
||
" for i, (tr, va) in enumerate(splits):\n",
|
||
" y = n_folds - i\n",
|
||
" tr_start, tr_end = dates[tr[0]], dates[tr[-1]]\n",
|
||
" va_start, va_end = dates[va[0]], dates[va[-1]]\n",
|
||
"\n",
|
||
" # Detect purge gap (more than 1 index between train end and val start)\n",
|
||
" gap = va[0] - tr[-1]\n",
|
||
"\n",
|
||
" ax.barh(y, tr_end - tr_start, left=tr_start, height=0.6, color=\"0.75\", edgecolor=\"0.5\")\n",
|
||
" ax.barh(y, va_end - va_start, left=va_start, height=0.6, color=\"0.35\", edgecolor=\"0.2\")\n",
|
||
"\n",
|
||
" if gap > 2:\n",
|
||
" ax.barh(\n",
|
||
" y,\n",
|
||
" va_start - tr_end,\n",
|
||
" left=tr_end,\n",
|
||
" height=0.6,\n",
|
||
" color=\"0.9\",\n",
|
||
" edgecolor=\"0.7\",\n",
|
||
" hatch=\"//\",\n",
|
||
" linewidth=0.5,\n",
|
||
" )\n",
|
||
"\n",
|
||
" ax.set_yticks(range(1, n_folds + 1))\n",
|
||
" ax.set_yticklabels([f\"Fold {n_folds - i}\" for i in range(n_folds)])\n",
|
||
" ax.xaxis.set_major_formatter(mdates.DateFormatter(\"%Y\"))\n",
|
||
" ax.xaxis.set_major_locator(mdates.YearLocator(2))\n",
|
||
" ax.set_title(title)\n",
|
||
"\n",
|
||
" handles = [\n",
|
||
" Patch(facecolor=\"0.75\", label=\"Training\"),\n",
|
||
" Patch(facecolor=\"0.35\", label=\"Validation\"),\n",
|
||
" ]\n",
|
||
" if any(va[0] - tr[-1] > 2 for tr, va in splits):\n",
|
||
" handles.insert(1, Patch(facecolor=\"0.9\", edgecolor=\"0.7\", hatch=\"//\", label=\"Label buffer\"))\n",
|
||
" ax.legend(handles=handles, loc=\"upper right\")\n",
|
||
" fig.tight_layout()\n",
|
||
" return fig"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0fcc6aa6",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003971,
|
||
"end_time": "2026-06-13T03:12:05.053477+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.049506+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 1. Decision-Time Admissibility\n",
|
||
"\n",
|
||
"The central question behind every CV design choice:\n",
|
||
"\n",
|
||
"> **At decision time $t$, which labeled samples were actually available?**\n",
|
||
"\n",
|
||
"Any sample whose label, feature, or selection criterion depends on\n",
|
||
"information unavailable at $t$ must be excluded from training.\n",
|
||
"Section 6.5 identifies five channels through which future information can\n",
|
||
"leak into past decisions:\n",
|
||
"\n",
|
||
"| Leakage Channel | Example | Prevention |\n",
|
||
"|---|---|---|\n",
|
||
"| **Label leakage** | 21-day forward return overlaps validation | Label buffer (purging) |\n",
|
||
"| **Standardization leakage** | Z-scoring with full-sample mean/std | Expanding-window transforms |\n",
|
||
"| **Threshold leakage** | Percentile labels from full sample | Rolling percentile thresholds |\n",
|
||
"| **Survivorship leakage** | Training only on surviving firms | Rebalance universe per period |\n",
|
||
"| **Point-in-time leakage** | Fundamentals reported after decision | Conservative publication lag |\n",
|
||
"\n",
|
||
"The CV schemes in this notebook operationalize the first channel (label\n",
|
||
"leakage via the **label buffer**) and flag where the others apply."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "4ff332b2",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002041,
|
||
"end_time": "2026-06-13T03:12:05.059019+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.056978+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 2. Three Dataset Roles\n",
|
||
"\n",
|
||
"Before any experiment, partition data into three disjoint sets:\n",
|
||
"\n",
|
||
"| Dataset | Role | When Accessed |\n",
|
||
"|---|---|---|\n",
|
||
"| **Training** | Fit model parameters | During training |\n",
|
||
"| **Validation** | Select hyperparameters, compare models | During development |\n",
|
||
"| **Holdout Test** | Final unbiased performance estimate | Once, at the end |\n",
|
||
"\n",
|
||
"The **holdout test set is sealed** from the start. Using it for any\n",
|
||
"development decision contaminates the final estimate."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "a0008676",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.064237Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.064110Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.083619Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.083115Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.023176,
|
||
"end_time": "2026-06-13T03:12:05.084231+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.061055+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Period</th>\n",
|
||
" <th>Start</th>\n",
|
||
" <th>End</th>\n",
|
||
" <th>Trading Days</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>Training</td>\n",
|
||
" <td>2014-01-02</td>\n",
|
||
" <td>2018-12-31</td>\n",
|
||
" <td>1258</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Validation</td>\n",
|
||
" <td>2019-01-02</td>\n",
|
||
" <td>2023-12-31</td>\n",
|
||
" <td>1258</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Holdout Test</td>\n",
|
||
" <td>2024-01-02</td>\n",
|
||
" <td>2025-12-31</td>\n",
|
||
" <td>502</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Period Start End Trading Days\n",
|
||
"0 Training 2014-01-02 2018-12-31 1258\n",
|
||
"1 Validation 2019-01-02 2023-12-31 1258\n",
|
||
"2 Holdout Test 2024-01-02 2025-12-31 502"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Partition: Train 5Y | Validation 5Y | Holdout 2Y\n",
|
||
"train_end = pd.Timestamp(\"2018-12-31\", tz=\"UTC\")\n",
|
||
"val_end = pd.Timestamp(\"2023-12-31\", tz=\"UTC\")\n",
|
||
"\n",
|
||
"train_mask = dates <= train_end\n",
|
||
"val_mask = (dates > train_end) & (dates <= val_end)\n",
|
||
"test_mask = dates > val_end\n",
|
||
"\n",
|
||
"partition_df = pd.DataFrame(\n",
|
||
" {\n",
|
||
" \"Period\": [\"Training\", \"Validation\", \"Holdout Test\"],\n",
|
||
" \"Start\": [\n",
|
||
" dates[0].date(),\n",
|
||
" dates[train_mask.sum()].date(),\n",
|
||
" dates[train_mask.sum() + val_mask.sum()].date(),\n",
|
||
" ],\n",
|
||
" \"End\": [train_end.date(), val_end.date(), dates[-1].date()],\n",
|
||
" \"Trading Days\": [train_mask.sum(), val_mask.sum(), test_mask.sum()],\n",
|
||
" }\n",
|
||
")\n",
|
||
"partition_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "8d49b831",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002403,
|
||
"end_time": "2026-06-13T03:12:05.089360+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.086957+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"**Rule**: The holdout test set is NEVER used for model selection,\n",
|
||
"hyperparameter tuning, or any development decision."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b8c324d4",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002449,
|
||
"end_time": "2026-06-13T03:12:05.094461+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.092012+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 3. K-Fold Cross-Validation\n",
|
||
"\n",
|
||
"Standard k-fold CV shuffles samples randomly and rotates the held-out fold.\n",
|
||
"This works for i.i.d. data but **destroys temporal structure** in time series:\n",
|
||
"the model trains on future data to predict the past."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "634a5d81",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.100817Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.100688Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.503969Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.503209Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.407234,
|
||
"end_time": "2026-06-13T03:12:05.504385+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.097151+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABJ8AAAHjCAYAAACNVb5sAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAStFJREFUeJzt3XeYFeXdBuBnWVAURKQjotg7KAiKvSEqsfdeYjdGNLH33luiIhp77yVqFFvEFnvFbiyIdFQQpGz5/uDL6rqArDLsovd9XV7ZM/POzG/eM+/Z5ck7c0omT55UGQAAAAAoQIO6LgAAAACA3y7hEwAAAACFET4BAAAAUBjhEwAAAACFET4BAAAAUBjhUx16aMDA9Np6vxm2+ceNd2f3A4+dTRXVbzPTX3OK1958Nz1775px342v61LSs/euefr5V5IkQ4eNTM/eu+bDTz6fbvtZVXt96oP/+XFfzEoHHXF6Lup3Y9XrrXbvm9vueWSWH2daxwIAAKhrDeu6gPrktPP757vvJuSckw+rWvbkMy/llHP6Zf89t8vO225arf1rb76bg488s8Z+9txpi+y/53aF1/tjTz3zUu58YEA+/PjzVFRUZMH2bbLemj2y7ea98tCAgbnu1vvyz1svzdxzzVVtu4kTJ6XPTgdn/z22y/Zb9v7Z4/TsvWvVz/PO2ziLLNQ+e+60ZdZevdssP6f64KEBA3P6BVfOsM0911+U9u1a12q/Ky63VB689dI0bTJvrWu6+qZ78vngoXnptbez87abZvcdNq/R5pqb781dDzyWB27+Wxo2nPlh3qZ1yzx466WZf/75al3XjBx0xOlZcrFFctiBu1Ut+zV9UBunnd8/Dz/2TJKktLQ0zeZrkiUWXTi91uuZPr3WSoMGP2TwD956aeZr2mSm9tuz9645+6S+WWf1VX627Vkn9E3DhqW/7ASm43+fPwPu7l+t5iKOBQAA8GsIn2bggX89lfMvuz5HHrJX/tB7nem2u/3q89Jk3nmqXs8zT+PZUV6VK669Izfd8WB22HrjHLDn9mndcoEMHjIs9z70ZB554tlsvOEa6Xft7fn3s6+k9/qrV9v2yWdeStmU8vRef42ZPt7xf9kvq63SOeMnfJ+7//l4jj39b7nustOzxKIdZ/Wp1bkN1lktq63Suer10adeksU7LZR9d9+malnz+ZtV/TxlSlkaNfr5YdWoUcO0bNH8F9U08IVXs9v2m2WB5s3y0ICBNcKnysrKPPzYM9lkwzVrFTwlSWlpg19cV239mj6ordVW6Zzj/7Jfyisq8vXX3+aFV97Kxf1uzFPPvJRzTzk8DUunhjWzup7/XQ/zN2s6S/c7I7PzWAAAADND+DQdN93xYK668e6ceszBWXeN7jNsu0DzZtOcLTF23Phc1O/GPPfia5k8pSwrr7hMDj9o93Ts0G66+7rh9gdy2z2PZNKkyVl/7VWzwM/MQBn0/ie5/rYH0veAXbPDVhtXLW/frnV6dFsx474bn/maNsmaq3bNg48+XSN8enDA01l79W61+gdr06bzpmWL5mnZonn222Pb3HHfo3ntzXerwqcXXn4z1916f/772Zdp0KBBVlh2iRx24G5ZaMG2Sabe2rX1HoflrBMOzZ33D8igDz5JxwXb5cg/75UVl1uy6jgPDRiYq264O9+MHZdVu62YLssvXaOWe/75eG65++EMHzk6C7ZrnT132jKbbLhm1fqevXfNkX/eK8/+5/W8+ua7ademVY47fN80n3++nHXxP/LeB59micUWzklHHlBV3481nnuuNJ77h9lijRqVZu6556oKKf43W27ZpRbL3f98LI0aNco9N1yUfz3+bO6479F88eXQNG48d7p1WS59D9w1LZrPn6TmrJWHBgzMxVfclNOO/VMuvuKmjBg5Op2XXyrH/2W/tGq5QNXxh48YnU8/H5Keq3ROp4U75I77Hs2b73yQLiv80Devv/Vehgwdkc16r5t3P/gkV1x7Zz785LOUlZVnycUXSd/9d8nSSy46zff2f+/N9ZefkaUWXyRJ8vxLb+TiK27K8JGjs8IyS2TTXmtV2+bbseNywWXX5/W3P8i478anQ/s22WPHzbPReqtX9dHrb72f1996P3fc9+jU9+36izJ0+MgaM3eeeualXHXD3fly6PC0bNE8222+UbUZh1vt3jdbbLJevvxqeJ565qXM17RJ9tx5i2y56frTPJ//matRo6r3rE2rFll6yUWzwrJL5JCjzsrDAwZm803Wq7pe/jebacqUslzS/+b8+7mXMm7chLRYoFm27LNB9thx82y1e98kydGnXJwkade2Ve694eL848a7M/D5V7Pt5r1y3a0PZNiIUXn+kRunOfNrwvff58SzLs0zL7yepk3nzR47bp5tN+813fdh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",
|
||
"text/plain": [
|
||
"<Figure size 1200x500 with 5 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"n_samples = 100\n",
|
||
"sample_indices = np.arange(n_samples)\n",
|
||
"\n",
|
||
"kfold = KFold(n_splits=5, shuffle=True, random_state=SEED)\n",
|
||
"\n",
|
||
"fig, axes = plt.subplots(5, 1, figsize=(12, 5), sharex=True)\n",
|
||
"\n",
|
||
"for fold_idx, (train_idx, val_idx) in enumerate(kfold.split(sample_indices)):\n",
|
||
" ax = axes[fold_idx]\n",
|
||
" colors = np.zeros(n_samples)\n",
|
||
" colors[val_idx] = 1\n",
|
||
"\n",
|
||
" for i in range(n_samples):\n",
|
||
" color = \"0.3\" if colors[i] == 1 else \"0.8\"\n",
|
||
" ax.bar(i, 1, width=1, color=color, edgecolor=\"none\")\n",
|
||
"\n",
|
||
" ax.set_ylabel(f\"Fold {fold_idx + 1}\", rotation=0, labelpad=30, va=\"center\")\n",
|
||
" ax.set_ylim(0, 1)\n",
|
||
" ax.set_yticks([])\n",
|
||
" ax.set_xlim(-0.5, n_samples - 0.5)\n",
|
||
"\n",
|
||
"axes[-1].set_xlabel(\"Sample Index (Time)\")\n",
|
||
"axes[0].set_title(\"K-Fold CV: Random Train/Validation Distribution\")\n",
|
||
"axes[0].legend(\n",
|
||
" handles=[Patch(facecolor=\"0.8\", label=\"Training\"), Patch(facecolor=\"0.3\", label=\"Validation\")],\n",
|
||
" loc=\"upper right\",\n",
|
||
" fontsize=8,\n",
|
||
")\n",
|
||
"fig.tight_layout()\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "324d56fd",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002903,
|
||
"end_time": "2026-06-13T03:12:05.510499+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.507596+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"In Fold 1, the model trains on samples from the future (indices 80–100) to\n",
|
||
"predict the past. This violates decision-time admissibility."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b29ef47b",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002999,
|
||
"end_time": "2026-06-13T03:12:05.516659+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.513660+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 4. Walk-Forward Cross-Validation\n",
|
||
"\n",
|
||
"**Walk-forward CV** respects temporal ordering: training always **precedes**\n",
|
||
"validation. Two variants — **expanding** and **rolling** windows.\n",
|
||
"\n",
|
||
"We use `WalkForwardCV` from `ml4t.diagnostic.splitters` to generate the\n",
|
||
"actual folds on NYSE trading sessions."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "570aa905",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003059,
|
||
"end_time": "2026-06-13T03:12:05.522732+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.519673+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Expanding Window\n",
|
||
"\n",
|
||
"Training grows with each fold — uses all available history."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "b03221c9",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.529662Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.529552Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.772731Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.772237Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.247592,
|
||
"end_time": "2026-06-13T03:12:05.773379+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.525787+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1200x350 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"cv_exp = WalkForwardCV(n_splits=5, test_size=252, expanding=True)\n",
|
||
"splits_exp = list(cv_exp.split(df_dates))\n",
|
||
"\n",
|
||
"fig = plot_splits(splits_exp, dates, title=\"Expanding Window Walk-Forward CV\")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "548dd254",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.00325,
|
||
"end_time": "2026-06-13T03:12:05.779464+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.776214+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"**Advantage**: Uses all available data. **Disadvantage**: Training set size\n",
|
||
"varies, which can affect model behavior."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "05019c72",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003809,
|
||
"end_time": "2026-06-13T03:12:05.787169+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.783360+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Rolling Window\n",
|
||
"\n",
|
||
"Fixed training window — old data drops off as we move forward."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "20efe455",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.795500Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.795347Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:05.968105Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:05.967664Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.177357,
|
||
"end_time": "2026-06-13T03:12:05.968484+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.791127+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1200x350 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"cv_roll = WalkForwardCV(n_splits=5, test_size=252, train_size=1260, expanding=False)\n",
|
||
"splits_roll = list(cv_roll.split(df_dates))\n",
|
||
"\n",
|
||
"fig = plot_splits(splits_roll, dates, title=\"Rolling Window Walk-Forward CV\")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e6899cf5",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.002706,
|
||
"end_time": "2026-06-13T03:12:05.974762+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.972056+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"**Advantage**: Consistent training size; stale data doesn't influence the model.\n",
|
||
"**Disadvantage**: Discards data. Choose expanding if older data is still\n",
|
||
"relevant, rolling if you believe regimes change."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "eeb40319",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003167,
|
||
"end_time": "2026-06-13T03:12:05.980474+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.977307+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 5. Label Buffer (Purging)\n",
|
||
"\n",
|
||
"Walk-forward CV respects temporal order, but there's a subtler problem:\n",
|
||
"**labels take time to materialize**. A 21-day forward return label computed\n",
|
||
"at time $t$ uses prices from $t$ to $t+21$. If validation starts at $t+10$,\n",
|
||
"the training label has \"seen\" 11 validation-period prices.\n",
|
||
"\n",
|
||
"This is **label leakage** — the most common form of look-ahead bias."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "75bb59eb",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003316,
|
||
"end_time": "2026-06-13T03:12:05.986435+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.983119+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Visualizing the Overlap Problem"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "1a0d3bcc",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:05.994171Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:05.994021Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:06.976775Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:06.976084Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.987728,
|
||
"end_time": "2026-06-13T03:12:06.977381+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:05.989653+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 20
|
||
},
|
||
"mode": "markers",
|
||
"name": "Training sample",
|
||
"type": "scatter",
|
||
"x": [
|
||
52
|
||
],
|
||
"y": [
|
||
0.5
|
||
]
|
||
},
|
||
{
|
||
"line": {
|
||
"color": "steelblue",
|
||
"width": 3
|
||
},
|
||
"marker": {
|
||
"size": 10
|
||
},
|
||
"mode": "lines+markers",
|
||
"name": "Label horizon (5 days)",
|
||
"type": "scatter",
|
||
"x": [
|
||
52,
|
||
57
|
||
],
|
||
"y": [
|
||
0.4,
|
||
0.4
|
||
]
|
||
}
|
||
],
|
||
"layout": {
|
||
"annotations": [
|
||
{
|
||
"font": {
|
||
"size": 12
|
||
},
|
||
"showarrow": false,
|
||
"text": "Validation Set",
|
||
"x": 56.5,
|
||
"y": 0.7
|
||
},
|
||
{
|
||
"font": {
|
||
"color": "red",
|
||
"family": "Arial Black",
|
||
"size": 16
|
||
},
|
||
"showarrow": false,
|
||
"text": "LEAKAGE!",
|
||
"x": 54,
|
||
"y": 0.25
|
||
}
|
||
],
|
||
"height": 300,
|
||
"shapes": [
|
||
{
|
||
"fillcolor": "coral",
|
||
"line": {
|
||
"width": 0
|
||
},
|
||
"opacity": 0.2,
|
||
"type": "rect",
|
||
"x0": 53,
|
||
"x1": 60,
|
||
"xref": "x",
|
||
"y0": 0,
|
||
"y1": 1,
|
||
"yref": "y domain"
|
||
},
|
||
{
|
||
"fillcolor": "yellow",
|
||
"line": {
|
||
"width": 0
|
||
},
|
||
"opacity": 0.5,
|
||
"type": "rect",
|
||
"x0": 53,
|
||
"x1": 55,
|
||
"xref": "x",
|
||
"y0": 0,
|
||
"y1": 1,
|
||
"yref": "y domain"
|
||
}
|
||
],
|
||
"showlegend": true,
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermap": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermap"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "white",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "#C8D4E3"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "white",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"radialaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"caxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"title": {
|
||
"text": "Label Overlap Creates Information Leakage"
|
||
},
|
||
"xaxis": {
|
||
"title": {
|
||
"text": "Day"
|
||
}
|
||
},
|
||
"yaxis": {
|
||
"visible": false
|
||
}
|
||
}
|
||
},
|
||
"image/png": "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O2ePsZMACZAACZAACZAACWgSoPBqIuIAEiABEiABEiABEiABOxOg8No5e4ydBEiABEiABEiABEhAkwCFVxMRB5AACZAACZAACZAACdiZAIXXztlj7CRAAiRAAiRAAiRAApoEKLyaiDiABEiABEiABEiABEjAzgQovHbOHmMnARIgARIgARIgARLQJEDh1UTEASRAAiRAAiRAAiRAAnYmQOG1c/YYOwmQAAmQAAmQAAmQgCYBCq8mIg4gARIgARIgARIgARKwMwEKr52zx9hJgARIgARIgARIgAQ0CVB4NRFxAAmQAAmQAAmQAAmQgJ0JUHjtnD3GTgIkQAIkQAIkQAIkoEmAwquJiANIgARIgARIgARIgATsTIDCa+fsMXYSIAESIAESIAESIAFNAhReTUQcQAIkQAIkQAIkQAIkYGcCFF47Z4+xkwAJkAAJkAAJkAAJaBKg8Goi4gASIAESIAESIAESIAE7E6Dw2jl7jJ0ESIAESIAESIAESECTAIVXExEHkAAJkAAJkAAJkAAJ2JkAhdfO2WPsJEACJEACJEACJEACmgQovJqIOIAESIAESIAESIAESMDOBCi8ds4eYycBEiABEiABEiABEtAkQOHVRMQBJEACJEACJEACJEACdiZA4bVz9hg7CZAACZAACZAACZCAJgEKryYiDiABEiABEiABEiABErAzAQqvnbPH2EmABEiABEiABEiABDQJUHg1EXEACZAACZAACZAACZCAnQlQeO2cPcZOAiRAAiRAAiRAAiSgSYDCq4mIA0iABEiABEiABEiABOxMgMJr5+wxdhIgARIgARIgARIgAU0CFF5NRBxAAiRAAiRAAiRAAiRgZwIUXjtnj7GTAAmQAAmQAAmQAAloEqDwaiLiABIgARIgARIgARIgATsToPDaOXuMnQRIgARIgARIgARIQJMAhVcTEQeQAAmQAAmQAAmQAAnYmQCF187ZY+wkQAIkQAIkQAIkQAKaBCi8mog4gARIgARIgARIgARIwM4EKLx2zh5jJwESIAESIAESIAES0CRA4dVExAEkQAIkQAIkQAIkQAJ2JkDhtXP2GDsJkAAJkAAJkAAJkIAmAQqvJiIOIAESIAESIAESIAESsDMBCq+ds8fYSYAESIAESIAESIAENAlQeDURcQAJkAAJkAAJkAAJkICdCVB47Zw9xk4CJEACJEAC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"
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = go.Figure()\n",
|
||
"\n",
|
||
"fig.add_trace(\n",
|
||
" go.Scatter(\n",
|
||
" x=[52],\n",
|
||
" y=[0.5],\n",
|
||
" mode=\"markers\",\n",
|
||
" marker=dict(size=20, color=\"steelblue\"),\n",
|
||
" name=\"Training sample\",\n",
|
||
" )\n",
|
||
")\n",
|
||
"fig.add_trace(\n",
|
||
" go.Scatter(\n",
|
||
" x=[52, 57],\n",
|
||
" y=[0.4, 0.4],\n",
|
||
" mode=\"lines+markers\",\n",
|
||
" line=dict(color=\"steelblue\", width=3),\n",
|
||
" marker=dict(size=10),\n",
|
||
" name=\"Label horizon (5 days)\",\n",
|
||
" )\n",
|
||
")\n",
|
||
"fig.add_vrect(x0=53, x1=60, fillcolor=\"coral\", opacity=0.2, line_width=0)\n",
|
||
"fig.add_annotation(x=56.5, y=0.7, text=\"Validation Set\", showarrow=False, font=dict(size=12))\n",
|
||
"\n",
|
||
"fig.add_vrect(x0=53, x1=55, fillcolor=\"yellow\", opacity=0.5, line_width=0)\n",
|
||
"fig.add_annotation(\n",
|
||
" x=54,\n",
|
||
" y=0.25,\n",
|
||
" text=\"LEAKAGE!\",\n",
|
||
" showarrow=False,\n",
|
||
" font=dict(color=\"red\", size=16, family=\"Arial Black\"),\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.update_layout(\n",
|
||
" title=\"Label Overlap Creates Information Leakage\",\n",
|
||
" xaxis_title=\"Day\",\n",
|
||
" yaxis_visible=False,\n",
|
||
" template=\"plotly_white\",\n",
|
||
" height=300,\n",
|
||
" showlegend=True,\n",
|
||
")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5c4ec1c4",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.003269,
|
||
"end_time": "2026-06-13T03:12:06.984049+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:06.980780+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### The Solution: Label Buffer (Purge Gap)\n",
|
||
"\n",
|
||
"End training at least $h$ samples before validation starts, where $h$ is the\n",
|
||
"label horizon. López de Prado (2018) calls this **purging**.\n",
|
||
"\n",
|
||
"$$\\text{Training End} \\leq \\text{Validation Start} - h$$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "5556cbc0",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:06.991434Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:06.991238Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:07.066908Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:07.066072Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.080436,
|
||
"end_time": "2026-06-13T03:12:07.067556+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:06.987120+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 15
|
||
},
|
||
"mode": "markers+text",
|
||
"name": "Training",
|
||
"showlegend": false,
|
||
"text": [
|
||
"Last train sample"
|
||
],
|
||
"textposition": "middle left",
|
||
"type": "scatter",
|
||
"x": [
|
||
47
|
||
],
|
||
"y": [
|
||
0.3
|
||
]
|
||
},
|
||
{
|
||
"line": {
|
||
"color": "steelblue",
|
||
"dash": "dot",
|
||
"width": 2
|
||
},
|
||
"marker": {
|
||
"size": 8
|
||
},
|
||
"mode": "lines+markers",
|
||
"name": "Label (safe)",
|
||
"type": "scatter",
|
||
"x": [
|
||
47,
|
||
52
|
||
],
|
||
"y": [
|
||
0.3,
|
||
0.3
|
||
]
|
||
}
|
||
],
|
||
"layout": {
|
||
"annotations": [
|
||
{
|
||
"font": {
|
||
"color": "steelblue",
|
||
"size": 12
|
||
},
|
||
"showarrow": false,
|
||
"text": "Training",
|
||
"x": 38.5,
|
||
"y": 0.8
|
||
},
|
||
{
|
||
"font": {
|
||
"color": "gray",
|
||
"size": 10
|
||
},
|
||
"showarrow": false,
|
||
"text": "Label Buffer\n(5 days)",
|
||
"x": 50,
|
||
"y": 0.5
|
||
},
|
||
{
|
||
"font": {
|
||
"color": "coral",
|
||
"size": 12
|
||
},
|
||
"showarrow": false,
|
||
"text": "Validation",
|
||
"x": 61.5,
|
||
"y": 0.8
|
||
}
|
||
],
|
||
"height": 300,
|
||
"shapes": [
|
||
{
|
||
"fillcolor": "steelblue",
|
||
"line": {
|
||
"width": 0
|
||
},
|
||
"opacity": 0.3,
|
||
"type": "rect",
|
||
"x0": 30,
|
||
"x1": 47,
|
||
"xref": "x",
|
||
"y0": 0,
|
||
"y1": 1,
|
||
"yref": "y domain"
|
||
},
|
||
{
|
||
"fillcolor": "gray",
|
||
"line": {
|
||
"width": 0
|
||
},
|
||
"opacity": 0.2,
|
||
"type": "rect",
|
||
"x0": 48,
|
||
"x1": 52,
|
||
"xref": "x",
|
||
"y0": 0,
|
||
"y1": 1,
|
||
"yref": "y domain"
|
||
},
|
||
{
|
||
"fillcolor": "coral",
|
||
"line": {
|
||
"width": 0
|
||
},
|
||
"opacity": 0.3,
|
||
"type": "rect",
|
||
"x0": 53,
|
||
"x1": 70,
|
||
"xref": "x",
|
||
"y0": 0,
|
||
"y1": 1,
|
||
"yref": "y domain"
|
||
}
|
||
],
|
||
"showlegend": true,
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermap": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermap"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "white",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "#C8D4E3"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "white",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"radialaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"caxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"title": {
|
||
"text": "Label Buffer Prevents Leakage"
|
||
},
|
||
"xaxis": {
|
||
"title": {
|
||
"text": "Day"
|
||
}
|
||
},
|
||
"yaxis": {
|
||
"visible": false
|
||
}
|
||
}
|
||
},
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAEsCAYAAAAhNGCdAAAgAElEQVR4Xu2dBXRURxuG3xghIYFAgODuTnB3Ke5SilZwKAXaoqVQaClSpFBaqADFCxQtUtzdKe4OIUIIxP8zk3+XJER2995sZsN7z+lpu7kz893nmyRPZr+ZtYuMjIwELxIgARIgARIgARIgARJIoQTsKLwpNLN8LBIgARIgARIgARIgAUmAwsuJQAIkQAIkQAIkQAIkkKIJUHhTdHr5cCRAAiRAAiRAAiRAAhRezgESIAESIAESIAESIIEUTYDCm6LTy4cjARIgARIgARIgARKg8HIOkAAJkAAJkAAJkAAJpGgCFN4UnV4+HAmQAAmQAAmQAAmQAIWXc4AESIAESIAESIAESCBFE6Dwpuj08uFIgARIgARIgARIgAQovJwDJEACJEACJEACJEACKZoAhTdFp5cPRwIkQAIkQAIkQAIkQOHlHCABEiABEiABEiABEkjRBCi8KTq9fDgSIAESIAESIAESIAEKL+cACZAACZAACZAACZBAiiZA4U3R6eXDkQAJkAAJkAAJkAAJUHg5B0iABEiABEiABEiABFI0AQpvik4vH44ESIAESIAESIAESIDCyzlAAiRAAiRAAiRAAiSQoglQeFN0evlwJEACJEACJEACJEACFF7OARIgARIgARIgARIggRRNgMKbotPLhyMBEiABEiABEiABEqDwcg6QAAmQAAmQAAmQAAmkaAIU3hSdXj4cCZAACZAACZAACZAAhZdzgARIgARIgARIgARIIEUToPCm6PTy4UiABEiABEiABEiABCi8nAMkQAIkQAIkQAIkQAIpmgCFN0Wnlw9HAiRAAiRAAiRAAiRA4eUcIAESIAESIAESIAESSNEEKLwpOr18OBIgARIgARIgARIgAQov5wAJkAAJkAAJkAAJkECKJkDhTdHp5cORAAmQAAmQAAmQAAlQeDkHSIAESIAESIAESIAEUjQBCm+KTi8fjgRIgARIgARIgARIgMLLOUACJEACJEACJEACJJCiCVB4U3R6+XAkQAIkQAIkQAIkQAIpXng/GT4V9x89w6bF3+mW7fKNP8F7dStjwue9dOvT3I4iIyOx6K9tWP73Djx87IN0ad3w74ppcHR0iPN1JydHc4fg/SmcQJ12n8K7ZCFM+6pfCn9SPh4JkAAJkMC7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Si7hFWObyt/A03CWq+Hs3dhzxtT+zBFeIdgTZizChcs3kcrJCb06N5EfqrFi3S5s2XVU1vGGh0exbdagKrp3aGSsK45vThuEN76vG+azqc/zx8ot+POvbbI8pkCe7PIDJ85duhFnDW904RXj33/0DJ36fA17e3tZuyzq1k39XhOnpMxbtE6eV+wfECjPKP6oSzOsXL9LynbsDy8xZT6a8DOMt5AACZAACZBAogSUE95EI+YNJEACNkVAnDCRN3dW4/F0NhU8gyUBEiABEkgRBCi8KSKNfAgSSH4CISGhb50CYjj+78sB78uVZl4kQAIkQAIkkBwEKLzJQZ1jkkAKJCDqh8UmvdLFCiBntkwQm/zEa57p08r6XbFxjRcJkAAJkAAJJAcBCm9yUOeYJJACCZw8d1V++MatOw/x8tVrpE/njuoVS0LUWHtlSp8Cn5iPRAIkQAIkYCsEKLy2kinGSQIkQAIkQAIkQAIkYBEBCq9F2NiIBEiABEiABEiABEjAVghQeG0lU4yTBEiABEiABEiABEjAIgIUXouwsREJkAAJkAAJkAAJkICtEKDw2kqmGCcJkAAJkAAJkAAJkIBFBCi8FmFjIxIgARIgARIgARIgAVshQOG1lUwxThIgARIgARIgARIgAYsIUHgtwsZGJEACJEACJEACJEACtkKAwmsrmWKcJEACJEACJEACJEACFhGg8FqEjY1IgARIgARIgARIgARshQCF11YyxThJgARIgARIgARIgAQsIkDhtQgbG5EACZAACZAACZAACdgKAQqvrWSKcZIACZAACZAACZAACVhEgMJrETY2IgESIAESIAESIAESsBUCFF5byRTjJAESIAESIAESIAESsIgAhdcibGxEAiRAAiRAAiRAAiRgKwQovLaSKcZJAiRAAiRAAiRAAiRgEQEKr0XY2IgESIAESIAESIAESMBWCFB4bSVTjJMESIAESIAESIAESMAiAhRei7CxEQmQAAmQAAmQAAmQgK0QoPDaSqYYJwmQAAmQAAmQAAmQgEUEKLwWYWMjEiABEiABEiABEiABWyFA4bWVTDFOEiABEiABEiABEiABiwhQeC3CxkYkQAIkQAIkQAIkQAK2QoDCayuZYpwkQAIkQAIkQAIkQAIWEaDwWoSNjUiABEiABEiABEiABGyFAIXXVjLFOEmABEiABEiABEiABCwiQOG1CBsbkQAJkAAJkAAJkAAJ2AoBCq+tZIpxkgAJkAAJkAAJkAAJWESAwmsRNjYiARIgARIgARIgARKwFQIUXlvJFOMkARIgARIgARIgARKwiACF1yJsbEQCJEACJEACJEACJGArBCi8tpIpxkkCJEACJEACJEACJGARAQqvRdjYiARIgARIgARIgARIwFYIUHhtJVOMkwRIgARIgARIgARIwCICFF6LsLERCZAACZAACZAACZCArRCg8NpKphgnCZAACZAACZAACZCARQQovBZhYyMSIAESIAESIAESIAFbIUDhtZVMMU4SIAESIAESIAESIAGLCFB4LcLGRiRAAiRAAiRAAiRAArZCgMJrK5linCRAAiRAAiRAAiRAAhYRoPBahI2NSIAESIAESIAESIAEbIUAhddWMsU4SYAESIAESIAESIAELCJA4bUIGxuRAAmQAAmQAAmQAAnYCgEKr61kinGSAAmQAAmQAAmQAAlYRIDCaxE2NiIBEiABEiABEiABErAVAhRejZk6cvWJxh7YXFUC4RFAcEgYXFM7qhqizcWVJ5M7vDxcTI47ICAAL1++NPl+c2/0CwyFh5uTuc1Mvt/NzQ3u7u4m3w+/J8CTO6bfzzsTJBAUHA5nR3s4ONiRVEolUKh8Sn0yPpfOBCi8GoFSeDUCVLg5hVf/5FB4E2FK4dV10lF4dcWpZmcUXjXzomBUFF6NSaHwagSocHMKr/7JofBSePWfVfH3SOG1Ju1kGovCm0zgbW9YCq/GnFF4NQJUuDmFV//kUHgpvPrPKgqvNZkqNxaFV7mUqBoQhVdjZii8GgEq3JzCq39yKLwUXv1nFYXXmkyVG4vCq1xKVA2IwqsxMxReywCOXX4s3oYtKuRB+fyZTO540e4ryJbBFfVL5Ui0jTn3UngTxWn2DRReCq/ZkyZ2g/2rAZe0QLkGMb9y7wpwcjvQor/x9bdKGgKeAVt+Azp8HnXP8u+A2h2BLHnfDsvnAbD3L6D1oMRDXjsLqNkO8MwWde+ze8C2hUCnLwF7h8Tb8w7LCVB4LWf3jrWk8GpMOIXXMoCvQsKMDeduuYDGZXMhn1fUbnYnB3s4Otib3PHzwGDZxt0l8d325txL4TU5BSbfSOGl8Jo8WeK78e4l4PhWoNVAwC7az4mDfwNpPIDStU0XXr/HQJr0gFMqfYU3LBR44QOkz6L5cdlBIgQovJwiJhKg8JoIKr7bKLwaAQKYvuEsmpXPjUJZ08nOlu+/Bo80qeAbGIxrjwPQuEwuhEdGYN/FRwh6HQrX1E5yBbhOiajVlJUHriObZxpUL5IFj/2CsODfS6hdIhuOXH2M4NAIVCnkJf8/9r2Hrz7Gxbt+yJTWWf7b0cEOzUUc2TzkvT4vgrHh2C3cfR6INM6OCA+PRJ2S2c1afdZOJ2X1QOGl8Gqe0eFhwNqZQI12gFfuqO6EYK6dATTsAYQEA4fXA0EvAAdHRHrlhV3lZlFSG3uFd80MoFaHNyuzl48C/x0GQoMBDy8g0O/NCu/BdcCD60BYCOCWHihdE8hZFDi8CbhxWo4FOzugRA0gR8GYK8kBPsCxLYBYNU6TFihdB8hRKCr2K8cBIfFpPYE7lwBHR6DCe0C2AppRvRMdUHjfiTTr8ZAUXo0UKbwaAcYjvHd9XqJh6RzIliENXFI5ICg4DA7/X8UNehWKRXuvoEX5PMiT2f0t4Z2z5QKqFPZCuXyZ4BcUgqV7r2Bg01LwdHOOca8Q3h1n76N+yewomM0DZ2/54MSNpxjaojQiIoF52y4gd0Z3KdZiRXrlweuoUCAzhVdDyim8FF4N0+dN08MbAXt7oGKTqNduXwQuHASafAQEBQLBL6WUBr0KgcvZ7bDzyBglogkJr5DOE9uAaq0B9wzA3f+A8wffCK8oU3BNBzinBp4/BnYvA9oMiRLd2CUN0ccJDwc2/wLkLwMIOfN5COxbBTTsDqTNGCW8Z3ZHrUxnyw/cOg9cOwW0MqGUQheYNt4JhdfGE2i98Cm8GllTeDUCjEd4c2VyR9XCXsbO/YNCcPDyI9x8HICXweF4FRyGxt45UbFA5rdXeHdcwqi23sa2Mzedw3tlc8qV2+irwUJ4bzwKwPs1Csp7X7wKxZR1pzGmnTeevgiGqPcd0Lg43P5fKvHnnqsoksODwqsh5RReCq+G6fOm6eObwL61QJvBUTWye1YBmXIAxaoA4aGAWKm9fx2RgX6wCwsGsuYHqrdJWHj3rIiq5S1cMWqc2DW8T+8B104CPveB0BDgVSDQrHeUtCYkvE/vAvvXRAmsWAEWl1gVdnEDSteKEt6HN4Fa7aO+JoT975lRdcaOiZdp6cLTljuh8Npy9qwaO4VXI24Kr0aAJgivWG398Z9zyJXRHbWLZ0W6NM5Ysf8a8ni5o3JBr0SFd962i6hVLCuK5kifoPCK8oeJq09gRJuyuPH4Bfb99xDdahYyftIahVd7rim8FF7tswhAZATw92ygUjMgY/aoEodmfaPKBY5sAvyfAuUbI8glA1LfPgP7p3eAGm0TFl6xClum7ptSgujCG+gLbJ4fVYqQpzjg7Ar8NR2o3xXwyJSw8IrVZ1Em0bjXm0c/tw946QdUbv628AqZXjUFaDcUSJVaF1wpuhMrCm/g61Ccvf0cNx4HwCudC0rl9jTrkyMTysPW3ccw54+/sf6PiWala8maf3H4xAXMnjjYrHbi5qFfz0WJwnnRs9N78bbduP0QZv26Gst+GgvP9GnNHkM0CA0Lx+jJC7Bz/ynxzYt/lnyPjBmiShhjX+HhERg0ZhZyZ/fC5/07WzRefI0ovBpxUng1AjRBeP1fhWDaujMY3b4cUv1/M5uo801K4X3kF4Q1R26hb4NiFF7tKTb2QOGl8Oo2nU5sB4KDoup4b54F6neL6nrDXKBcI1keIE5pSH3zpGnCu+NPIE+JqNIDcUUX3pvnosS0Uc834UcX3nWzgept39QCRy9pMHeFl8Jr3hSxkvCKdxinrjuDl8FvNlyLQD+oWRBda/2/Htu8yGPcraLw+vkH4r0un2P+tOFSjC299hw6g+m/rMSiWSOR2jkVnBwdYW8f/8d9vwgMQrNuI/DjxMEoWTSfpcO+1Y7CqxElhVcjQBOENyw8At+tPYWm5XKjQJZ0uPzAD1tO3UH90jmSbIXX0d4O09afRfWiWVA6T0bcevoCm0/eRr2SOVjSoCHlFF4Kr4bpE7OpENKdS6I2lwlRLfj/MqZdywA3D6BEdQQ/fQzn09uA9F6Jr/CKVdgbZ4EqLaJWkEVNsBhDHEsmyhl2Lwfqvg84pwGuHAMuHQGafBK1wiuOIBP1t4UqABFhQMirN5vWjDW8paO+HlcNb/SSBgqveVPECsIrVna7zdr5luwaAv2+W2WUzu1pXtyx7k5IeMUq7oKlG+Hr9wLpPdzRvllt9OvRSvYgvrZtzzHkzJYZuw6eQjr3NBj7WXdU9i4mv/7kmR8mzFiEU+euwsXFGZ980Ey2F1diK7yzf1uD2/ceY+rYvsZol6zZjoUrt+K5XwByZffCkE/ao0alUjKOuGL08Q1AvQ6fISwsHKmdneS9P3w9AKcvXMN3Py7F7buPkC1LRowZ0g1lir/ZqCn6O3j8POZM+lQT1+iNKbwaUVJ4NQI0QXjFCBfuPsfmk3cQEhaBItk9IGp6i+VMn2TC65LKEVcfBmDj8VsICglDgSxp4fcyFBULZkLZvBm1P/Q72gOFl8Kr69Tf8FNUaUDrwVFlBuLyewKIExVePEdEhmywc08PO3HqQmIlDeL0h+/PguEAACAASURBVGP/AHcvA67uQI7CUQJsOIf31E7g6gnAyRkoUDaqTlisKgvhFTXFoi5X1PV6NwCy5I55SoO/OKXhH8D3IeAaxykNFF7Lp4WFwnvmtg/O3X4uxy2ZO4NRWON6Xbz2+aLD8cZYSrTPkzHRfhJ6yISE9/qt+3ByckLmjB4QAvnJ8Kn4elhPlC9dWIrm3IV/Y2jvDqhQpgi27z2O35f/g39XTpcrqR16j0Oj2hVk2cK9B0/RbdAk/DJlGIoUyJWo8IpV1i8HvI/qFUvK0P+7eluOvXj2KGTJnAGnz19D0KvXqFvdGwnFuGHbQfy1aQ8Wzhwh+3n81BetPxyN6V/1RyXvorLUQUj51mVT4Jwqqm5drC4LUd67dhbSuOpT2kPhtfzbTLak8GoEqHDz2Ofw/rz9IhqUyoF8XpbVMSn8qFYLjcJL4bXaZBP7v4LD4exoDweH+N8+tWY8HCsJCFgovIv3XMGfe6/KgKKXJcT1emLCi8hIuSExsX4sFd5HT5/jjxVbcPTUf/D1fwG/gJf4sn9ndGxZVwpv9BreyMhI1Gw9CDMnDJLn2Q8b/xO2LZ9qHHr8D4uQPUtGfNi5SYLCK8oKKjfrh1Pb5iPV/yX05Lmr+HDo95g76VOUL1METo5vPlQloRhjC++CpZtw6+4jfPPFh8a4mncbgUkjPo5RwtD2o7GyjrdS2aK6TBwKr0aMFF6NABVu/t89P3kkWuZ0Lrj6yB9bT93Fp81KIlW0b3KFw1cyNAovhdeaE5PCa03ayTSWhcIrJFYcRSmuUnk8Y6zwxn49MeEtmUus8Hom2o8lwhsREYnm3UfAu2Qh9OveUq6sDvlqjlzN7dKm/lvCK8Zo2XMUBn/UDiEhoRjx7fwYm83Ea22a1MSnH7dLUHiFkHYf/C32rJkZI+z5Szbir4178MTHD94lC2LskO6ynCKhGGMLr5DuzTsOwy2Ni7FvsVI8eVRvWfJguPqPnIEm9Sqjab3KukwuCq9GjBRejQAVbr7l9D2cvP4U4RERyJzOFe9550SujG4KR6x+aBReCq81ZymF15q0k2ksC4XXnGhFDW/XWTvlefBxXUlZwyve/q/bfghObP1FbvgS16djf4xXeMPCw1Gj5UAsnDUSgS9fydMRNv85Oc64E6rhFcLbc8h32PXXjDjbPnvuj0mz/oQYb9SgrgnGGFt4f168AQ8f+2DcsB4JpqHvlz+geYOqaFKvkjnpivdeCq9GjBRejQAVbs6PFtY/ORReCq/+syr+Him81qSdTGNZQXjFk4lTGqasO/OW9Op5SoPYJLZ49sgYIF2cnVGj9UCMGtxV1tLuPHAKU+Yulyu0hhXedVv3Y+rYfnLFVNTvitKH5fPGQmz4FmUB9Wt4o2u7hrCDHc5dugEnJ0e5qS0h4RUlDVVb9Mfp7b/KD32SDI6fx72Hz9CgZjm4ubrg2x+XIjQ0DGOHdJP3xhdjbOG9++AJOvb+Gl8N7S5XdP0DXuLwyYuydEFsYDNcrXuNxhcD3jduwNM6wyi8GglSeDUCVLg5hVf/5FB4Kbz6zyoKrzWZKjeWlYRXPHfUObw+uP4oAF4errIMwsvjzdvyWtiITWufjZvzVherF4yXJyWI1dTXwSGoU62sXB1tWKuCUXh/X74Zdvb28Hnuj7IlC+KbLz5C1swZZF8PHj3DlJ+W4/iZy3gdHCo3qw3r2xGli+U3adPauKE95OY4cV25cQ8TZy7G5et3IariK3kXk9KaPp07RPzxxRhbeEVfJ85ewYz5q3Dp2l25Ua1cqUL4amgPZPBwl2OJzXn1Ow7F/r9nc9OalomlZ1sKr5401eqLwqt/Pii8FF79ZxWF15pMlRvLisKr3LMncUDiAydEScXELz9K4pHe7l5u0jv9H+Z+O0S3sbnCqxElhVcjQIWbU3j1Tw6Fl8Kr/6yi8FqTqXJjUXiTLCXiaLAmH3yBP2aOQKF8OZJsnNgdixKHJl2/wE/fDkGpYvl1G5fCqxElhVcjQIWbU3j1Tw6Fl8Kr/6yi8FqTqXJjUXiTNCXio4V/Xrwef84ZLT/UIqkv8THEfT6fhkL5c+ILfrRwUuM2r38Kr3m8bOluCq/+2aLwUnj1n1UUXmsyVW4sCq9yKVE1IK7waswMhVcjQIWbU3j1Tw6Fl8Kr/6yi8FqTqXJjUXiVS4mqAVF4NWaGwqsRoMLNKbz6J4fCS+HVf1ZReK3JVLmxKLzKpUTVgCi8GjND4dUIUOHmFF79k0PhpfDqP6sovNZkqtxYFF7lUqJqQBRejZmh8GoEqHBzCq/+yaHwUnj1n1UUXmsyVW4sCq9yKVE1IAqvxsxQeDUCVLg5hVf/5FB4Kbz6zyoKrzWZKjcWhVe5lKgaEIVXY2YovBoBKtycwqt/cii8FF79ZxWF15pMlRuLwqtcSlQNiMKrMTMUXo0AFW5O4dU/ORReCq/+s4rCa02myo1F4VUuJaoGROHVmBkKr0aACjen8OqfHAovhVf/WUXhtSZT5cai8CqXElUDovBqzAyFVyNAhZtTePVPDoWXwqv/rKLwWpOpcmNReJVLiaoBUXg1ZobCqxGgws0pvPonh8JL4dV/VlF4rclUubEovMqlRNWAKLwaM0Ph1QhQ4eYUXv2TQ+Gl8Oo/qyi81mSq3FgUXuVSompAFF6NmaHwagSocHMKr/7JofBSePWfVRReazJVbiwKr3IpUTUgCq/GzFB4NQJUuDmFV//kUHgpvPrPKgqvNZkqNxaFV7mUqBoQhVdjZii8GgEq3JzCq39yKLwUXv1nFYXXmkyVG4vCq1xKVA2IwqsxMxRejQAVbk7h1T85FF4Kr/6zisJrTabKjUXhVS4lqgZE4dWYGQqvRoAKN6fw6p8cCi+FV/9ZReG1JlPlxqLwKpcSVQOi8GrMDIVXI0CFm1N49U8OhZfCq/+sovBak6lyY1F4lUuJqgFReDVmhsKrEaDCzSm8+ieHwkvh1X9WUXityVS5sSi8yqVE1YAovBozQ+HVCFDh5hRe/ZND4aXw6j+rKLzWZKrcWBRe5VKiakAUXo2ZofBqBKhwcwqv/smh8FJ49Z9VFF5rMlVuLAqvcilRNSAKr8bMUHg1AlS4OYVX/+RQeCm8+s8qCq81mSo3FoVXuZSoGhCFV2NmKLwaASrcnMKrf3IovBRe/WcVhdeaTJUbi8KrXEpUDYjCqzEzFF6NABVuTuHVPzkUXgqv/rOKwmtNpsqNReFVLiWqBkTh1ZgZCq9GgAo3p/DqnxwKL4VX/1lF4bUmU+XGovAqlxJVA6LwaswMhVcjQIWbU3j1Tw6Fl8Kr/6yi8FqTqXJjUXiVS4mqAVF4NWaGwqsRoMLNKbz6J4fCS+HVf1ZReK3JVLmxKLzKpUTVgCi8GjND4dUIUOHmFF79k0PhpfDqP6sovNZkqtxYFF7lUqJqQBRejZmh8GoEqHBzCq/+yaHwUnj1n1UUXmsyVW4sCq9yKVE1IAqvxsxQeDUCVLg5hVf/5FB4Kbz6zyoKrzWZKjcWhVe5lKgaEIVXY2YovBoBKtycwqt/cii8FF79ZxWF15pMlRuLwqtcSlQNiMKrMTMUXo0AFW5O4dU/ORReCq/+s4rCa02myo1F4VUuJaoGROHVmBkKr0aACjen8OqfHAovhVf/WUXhtSZT5cai8CqXElUDovBqzAyFVyNAhZtTePVPDoWXwqv/rKLwWpOpcmNReJVLiaoBUXg1ZobCqxGgws0pvPonh8JL4dV/VlF4rclUubEovMqlRNWAKLwaM0Ph1QhQ4eYUXv2TQ+Gl8Oo/qyi81mSq3FgUXuVSompAFF6NmaHwagSocHMKr/7JofBSePWfVRReazJVbiwKr3IpUTUgCq/GzFB4NQJUuDmFV//kUHgpvPrPKgqvNZkqNxaFV7mUqBoQhVdjZii8GgEq3JzCq39yKLwUXv1nFYXXmkyVG4vCq1xKVA2IwqsxMxRejQAVbk7h1T85FF4Kr/6zisJrTabKjUXhVS4lqgZE4dWYGQqvRoAKN6fw6p8cCi+FV/9ZReG1JlPlxqLwKpcSVQOi8GrMDIVXI0CFm1N4305OREQEdq7+HfXbf2hS5i4c3QPPLDmQJVd+eX9iwnv+/HncuXMHTZo0kfcHBATg5cuXEOMuWLAAadKkka87OjqiWrVqyJEjR4Jx3Lt3DwcPHkRkZCSaN2+OAwcOwNfXF/nz50e5cuXgFxgKDzcnk54l+k07duyAl5cXSpQogbt372Lbtm0yJsPVoUMHuLi4wM3NDe7u7m/1HxgYiEWLFqFfv34xv+b3BHhyx+x4ngUE4q8Dp9CjXmWkTmX+85g9oI00CAoOh7OjPRwc7GwkYoZpNgEKr9nI3tUGFF6NmafwagSocHMKr1rCKwSxR48eMqhbt27hzJkzaNmyZYIzaOPGjahSpQo8PT3x8OFDnDt3Dg0bNjS2sUR479+/L8c2SLkQ3kuXLqFBgwZvxWIt4RUDn7h2B0J8G3kXU/i7yrqhUXityztZRqPwJgt2WxyUwqsxaxRejQAVbk7hNV1471y9gBsXTsLewQHOqV1Qqmp9uKRxh1jhjQgPh7/PE4SEvEatug1RtUIZueIqVklv3ryJsLAwVKpUCd7e3khohTe68F68eBHPnz9H9erV4e/vj127dqFVq1Yy4BMnTsDZ2VmusO7evVuusIrV2GfPnkGsrAoJrVmzJuzt7bFv/0GEh4XIe+vUqSP/vWLFCuTLlw9XrlxBgQIFZGzRry1btqB06dLImjWrfNlU4Q0KCsLff/8txTtdunQICQmRK7zHjx/Hvn375ApxmtSp0LZ8MbikcsLsTbsxqFkdODk64HVIKH7esh8Dm9XC1YdPsePMZYRHRMj7u9auJO8Rq+CzNu7GwGa14WBvr/B3lvVCo/Baj3WyjUThTTb0tjYwhVdjxii8GgEq3JzCa7rwBr8KQirn1LCzt8ftK+fw+mUgCpetIoXXzs4ehctWxquXL3By9yZ8NuRTudLq5+eH2rVrIzw8HPPnz0f37t1x/fr1eEsafv31V6RNm1be/+rVK1StWhVFixaNV3hFucGaNWvkyquQ3tu3b0vBFmMKOdywYQMqVq2NrJnS4erVq/Dx8UHlypWl8Ip+ixUrJqVY/BP9WrJkCd5//33Y2UW9TS6Ed/v27UidOjVcXV2lIBtkOPoK77p16+RKs5B0Id8rV66UwiskXLQT4xzdswP+jx+gQZmiWHfkDPJk9kTpvDlw5PJNBL4ORr3SRTBz/S70alAF7i6p8cg3ABnTpoGjg4OMZc2h0/DOlxN5vDwV/s6yXmgUXuuxTraRKLzJht7WBqbwaswYhVcjQIWbU3hNF95XgQG4fuEkAv2fIyw0FGkzZESpKvWk8Eav4T3x7xp07NBersiKFdpUqVLJQcTqZ7t27fDkyZN4hTf6Cu/r16+xfv161KhRQ8piXCu8CQmvkG3R3j2tBxwd7OSKs1h1rVWrlhReUSohBDb2JcbdtGkT2rZta/ySEHAhq0KARbnDv//+i27dusn/jy68P/zwAwYMGAAnJycpuYYaXhHL3r178fTpU4g/HLK6u6B1lTK4+9QX/565hJ71q+DnLfvQoXo5pHdzxfK9xxEaHo4iObxQKJsX0qVxMcay6+xleKZ1Q6k82RX+zrJeaBRe67FOtpEovMmG3tYGpvBqzBiFVyNAhZtTeE0X3v0blyNfiXLImrsAfB7fx/0bl1C6av23hPf49jX4oEtnucmrTJkyKFiwYIxBTC1pEI3279+PDBkyyI1rO3fufKukISHhFRvXRLlDnQbN3tq0lpjwbt68GW3atIl35i5dulQKs9hgF114p06diqFDh0oRji68c+bMkSUWIt6b507h9MkTaFO1rOx/7ua9qF4sP87cvIeudaJKKyIiInH90VPcfvIcp2/ew8cNqxmld+fZy8hI4TXmhsKr8A9YvUKj8OpFMsX3Q+HVmGIKr0aACjen8JouvDvX/IGazbvA0ckJd66ch++zR0bh9cjohez5isg63kvHdmPQwAE4efKkrNft3LmzXPEUpQaiDODatWsmrfCKkgaxQlu3bl14eHhg1apV6NSpkwxYyG+WLFmkQCZU0iDEtky5yihaKC+Cg4PlCquQ54SEV/S/bNkyGbfhEjW5IgZR/ytOhRD1uIavRxdeUQohyjDy5s0ryyBESYUoaRAiPGjQILnafWzvTty9cd0ovIcu3cCuc1fQqlJpFMsVVTP8392HKJoz6r8X7jiMeqULI0fG9PL/Vx88hfIFciN35gwKf2dZLzQKr/VYJ9tIFN5kQ29rA1N4NWaMwqsRoMLNKbxxC++25T/DyfnN2/058heFq1ta3LlyDk7OLlJ6HRydjMIb4PsMoSHBsLd3QMP3mqFk4byyhECIqdh8Jv47ffr0EEd5iVrahI4lEwIp7herpGXLlpW1tuISG9XEyQ1is5q48uTJk6DwintEHe3efftlbKI/seJcqFChRIV369at8l6xEU5cly9fluOLumBRXiHKLDJlyiS/Fl14hVCLTWtic5qoRX78+LEUXtH26NGjsq2zPZAqPMQovL6BQfh1+0F81rIe7O2jaoZX7DuBR77+soyicHYvNCwbxUCs/M7csBODmtfhprX/T10Kr8I/YPUKjcKrF8kU3w+FV2OKKbwaASrcnMKrf3ISO4c39oiGc3j1jySqR0uPJROr040aNUo0rPiOJYu3YaxzeI9euYWAoNeoX6ZIomOJjW1+L1/xWLJopCi8iU4b27+Bwmv7ObTSE1B4NYKm8GoEqHBzCq/+yUkJwiuoiCPVsmfPjiJFEhZRrcI7d/MedK5ZQW5WS+gSK75rDp1Br/pV+METFF79v3FV7pHCq3J2lIqNwqsxHRRejQAVbk7h1T85KUV4TSWjVXhNHYf3xU2AK7zvwMyg8L4DSdbnESm8GjlSeDUCVLg5hVf/5FB4E2Fq4UcL65+plNEjhTdl5DHBp6DwvgNJ1ucRKbwaOVJ4NQJUuDmFV//kUHgpvPrPqvh7pPBak3YyjUXhTSbwtjcshVdjzii8GgEq3JzCq39yKLwUXv1nFYXXmkyVG4vCq1xKVA2IwqsxMxRejQAVbk7h1T85FF4Kr/6zisJrTabKjUXhVS4lqgZE4dWYGQqvRoAKN6fw6p8cCi+FV/9ZReG1JlPlxqLwKpcSVQOi8GrMDIVXI0CFm1N49U8OhZfCq/+sovBak6lyY1F4lUuJqgFReDVmhsKrEaDCzSm8+ieHwkvh1X9WUXityVS5sSi8yqVE1YAovBozQ+HVCFDh5hRe/ZND4aXw6j+rKLzWZKrcWBRe5VKiakAUXo2ZofBqBKhwcwqv/smh8FJ49Z9VFF5rMlVuLAqvcilRNSAKr8bMUHg1AlS4OYVX/+RQeCm8+s8qCq81mSo3FoVXuZSoGhCFV2NmKLwaASrcnMKrf3IovBRe/WcVhdeaTJUbi8KrXEpUDYjCqzEzFF6NABVuTuHVPzkUXgqv/rOKwmtNpsqNReFVLiWqBkTh1ZgZCq9GgAo3p/DqnxwKL4VX/1lF4bUmU+XGovAqlxJVA6LwaswMhVcjQIWbU3j1Tw6Fl8Kr/6yi8FqTqXJjUXiVS4mqAVF4NWaGwqsRoMLNKbz6J4fCS+HVf1ZReK3JVLmxKLzKpUTVgCi8GjND4dUIUOHmFF79k0PhpfDqP6sovNZkqtxYFF7lUqJqQBRejZmh8GoEqHBzCq/+yaHwUnj1n1UUXmsyVW4sCq9yKVE1IAqvxsxQeDUCVLg5hVf/5FB4Kbz6zyoKrzWZKjcWhVe5lKgaEIVXY2YovBoBKtycwqt/cii8FF79ZxWF15pMlRuLwqtcSlQNiMKrMTMUXo0AFW5O4dU/ORReCq/+s4rCa02myo1F4VUuJaoGROHVmBkKr0aACjen8OqfHAovhVf/WUXhtSZT5cai8CqXElUDovBqzAyFVyNAhZtTePVPDoWXwqv/rKLwWpOpcmNReJVLiaoBUXg1ZobCqxGgws0pvPonh8JL4dV/VlF4rclUubEovMqlRNWAKLwaM0Ph1QhQ4eYUXn2Sc/PpC9x+8gIPfYMQGQFkcE+F/FnSoUGpHPDycElwkICAALx8+VKfQOLoxS8wFB5uTknWv5ubG9zd3U3v3+8J8OSO6ffzzgQJBAWHw9nRHg4OdiSVUglQeFNqZnV/LgqvRqQUXo0AFW5O4dWWnNeh4dh1/gEOXX78pqPISCCae3StVQgf1CwY70AUXm05eNdbU3jfgRlA4X0HkqzPI1J4NXKk8GoEaEbzCTMWo2m9yvAuGb8gmdEdRn47H727tUDu7F5xNhPCO3ryfPRJ4B5Txhs0Zjb6dW+JIgVymXK7UvfsO3IW5y7dlPGbcwnZnbvlAvxehsRsFkt4xRfzeaXFT5/UiLN7Cq851HlvbAIU3ndgTlB434Ek6/OIFF6NHCm8GgGa0dxWhff+o2fImCEdnFMl3VvnZmA061ZLhXfpvmu4dN8v2liREEu7kQbhjYyEnd2bpV6xyitWe2Nftiq8r0LCcM8nCM4urnBxTYN8Xu5wS21C/lnSYNb8TOxmCm9ihFLA1ym8KSCJ1nkECq9GzhRejQDNaB6f8AaHhGLavBV49txfClXObF7o3Kousnp5IiwsHCs37MaZi9fkf+fKnhkftG2If3YewaHjF+Do5AB7Ozs0qVcZDWqWjxHN4tXbcTjWPcUL55VjtW5cA//uOw4x9rhhPeMdX3T45cRf0LdHS7mSPH/JRrilccVzP39cv/UAXpnSo1enpsjkmS5OErsPncbOfSfx4mUQMnl6oGXj6iheKA/E69t2H0Pgy1dwS+OC6hVLymcQl/ja6fPXkDmjB06duwZXV2d89H5TnDp3FfuPnZPi2fq96qhSrri8X8SUOrUz/Pxf4Oadh8iRNRN6dGiMDOnTIrbw+ge8xPJ1O3H99gMp8I3rVEC1CiVjxH7pvi+W7rse63mihBdG4QUi7WJUN2DuxzWQP0vaGO1sUXivPvTH4j1X8DwwGCFwkv+kcXbEsJalUbVwloRnPIXXjJ8Iid9K4U2ckc3fQeG1+RRa6wEovBpJU3g1AjSjeXzCGx4egZt3HyFbZk8psPuPnsW5/25g8EftsPPASZz/7yZ6dW4Ce3t7+bqQXiHDlpQ0PHjsg4kzFqNy+eKoWbEkUqVyQuaM6eMdPy7hFX20blwd2bNmwqoNu+Hi4ozu7Ru9ReLug6f48fc1GNq7A9Knc8eN2w8RHBKCUsXy49ETHzg4OMIjbRoEBAbhx9/Xokvr+iiQN7sU3g3bDqJV4+ooUiA3dh04iX1HzqFeDW8puUJW/9q4G1PG9IWDg70U3qc+flKmM3umx7qt+xESGibLGKILr3DV735cKktK6tcsB5/n/pj+8yoM6NVaSrLhim91V349eklDJBCJNyu9ca3y2prwipXdscuP4VVIuHxcg/CK/xbS+9MnNRPeqEfhNeMnQuK3UngTZ2Tzd1B4bT6F1noACq9G0hRejQDNaJ5QScOx05dw/MxlCJkUUmhvZ4/vRn2CLbuO4sTZy+jR8T1kz5IxxmiWCq9Y4Z32Vb8YfcU3flzCmz9PNtSt5i3bi5h37D+JL/p3fouEENNZv65G324tUTBvDimnhss3IBA79p7AlRt35Srvy1ev0a5pLdSoVEoK7+Vrd9C7awt5+43bDzB/6SZ8O+Jj+f8REZEYOGomvvniQ6T3cJfCGz2mh499MGnWEsz6ZlDUHw//r+G9dfcRflu2GeM/72WMQ6z2eqZPG2N1fPqGs2/X7hpaxKrh/f+6r1z9FW/7921UHF7pXIxSeP3uE9x/6itbe7o5I4O7s/zv5y+C4RMYrPn1W48DERoRobkfQzz3ngdi9aEbRj7RhVe8OLRFaTQsnSP+WU/hNeMnQuK3UngTZ2Tzd1B4bT6F1noACq9G0hRejQDNaB6f8ArZXLN5L7q0aYBC+XPK0oYfflmFKWP64HVwCP7auAdnLl6X5Q6lixdAh+a15dvxeglvQuMnJrxCJjdsO4CRgz6Ik8TW3cdw4Nh5+L8IRP7c2dC5VT1kzOCB8T8slP8vNvEZpLVgvhyoXaXMW8J77+FT/PjbWvkHgOESG+nGfNpVlknEFt6XQa/x+YR5mDauH8SzGYT35LkrWLhqK9zTuBr7EWUiVcsXR4tG1YyvjV1+PP6sxie88vWomt7oK72/bzuNjUeuytebeOeS/4hr88k78h+tr685dBM7L9zX3E/0eKI/fGzhja9W2diGwmvGT4TEb6XwJs7I5u+g8Np8Cq31ABRejaQpvBoBmtE8PuFdsmY7XF1cZF2quMQqr0F4o3f/6Olz/Lx4A2pVLo3aVctg9OQF+Pj9ZsidM+66SnFKw9jvF+CTLm/uEX3HXuFNbPzYNbzRV1MTE15D/KJsYeX6XYiIiECHFnUw6tsFmDF+AJycHOUtQlr1Et7b9x5LQZ4ytk+Mkgax4rz4r20YN7RHglmbuPokgkOjVk3fuhJY4XVN7YD8XmnRsHRO4yrohsOXsf/8bdlN5UJeqFwws/zvw1ef4PCVqOPOtLy+69xDnLnzTHM/hnhevg6V5w0brtjC27thMbSplDd+fhReM34iJH4rhTdxRjZ/B4XX5lNorQeg8GokTeHVCNCM5kJ469fwRsmi+YytnBwc5YrmmQvX8OH7TeWK7tp/9kFIm1jhFV8Tq5gF8mSHqPWd/dtq1KnqjYpli2DavJUoVii3LC8IDQuTm7+iX0J4p89bgRJF8hjvEeIZW3jFKmx844v+LBXeS9du49nzAJQpUQAuzqmwauMeufFObMgbPmGeFN9ihfLg7MXrcoVbrLJausLr6uKMFg2ryU14f67ejtw5ssg/IKLX8Ap+k2YvQZni+VGnWlnYwQ637j2Co4MDCufPaUT3285LuPUk0CThxZuaBrSqmEeWNES/bK2GV5Q2cy7viQAAE2BJREFUjF1xLF7hjWtjXowHpvCa8RMh8VspvIkzsvk7KLw2n0JrPQCFVyNpCq9GgGY0F8L76LFPjBaliuVDjw7v4bflm3Hp+h35dn/Z4gWw5/AZKbzibXhxIoMoc0jtnAoVyxaTm7nEu+eXr9+VK5ZCYts1q4WalUq9JbznL9/EqvU7jfcIcY4tvMHBofGOr0V4HzzywYr1OyGONROXkMrOrevBzdUFJ89dxaoNu+TmMrGJ7blvAMqWLGix8Ao+4gSGsPBwlC9dGG2b1oKTo8NbpzSIcdb8sxdXb95HaGgYcmTNjNZNaiBvtFXyQ1ce45+TdxMV3miuK+/9qkO5t04xsDXhFc8hPmxj9eGoOt7oK7xxCf1bkCi8ZvxESPxWCm/ijGz+DgqvzafQWg9A4dVImsKrEaDCzd+VT1qLXcOrR0rmbr2AR76v3u7q/yUN0Up25T1VCnlhXMeYx8KJ121ReEXc4mgy8Y+9U2o4OrugVB5PlM7tmThaCm/ijMy4g8JrBixbvZXCa6uZs3rcFF6NyCm8GgEq3JzCa3lyHvkGYe7Wi/EKb/QvuDo7YvGgunF+MIOtCq/h+dzc3ODu7m46SAqv6axMuJPCawIkW7+FwmvrGbRa/BRejagpvBoBKtycwqstOUJ61xy9GXOlN9amtZK5M2B4izLxnk1L4dWWg3e9NYX3HZgBFN53IMn6PCKFVyNHCq9GgAo3f1eEN6lTIGpabz4JiNrIFhkJ19SO8hPVop/GEF8MFN6kzk7K7p/Cm7LzK5+OwvsOJFmfR6TwauRI4dUIUOHmFF79k5Mnk3vCnzQWa0gKr/45eJd6pPC+A9mm8L4DSdbnESm8GjlSeDUCVLg5hVf/5FB4E2HKGl5dJx2FV1ecanZG4VUzLwpGReHVmBQKr0aACjen8OqfHAovhVf/WRV/jxRea9JOprEovMkE3vaGpfBqzBmFVyNAhZtTePVPDoWXwqv/rKLwWpOpcmNReJVLiaoBUXg1ZobCqxGgws0pvPonh8JL4dV/VlF4rclUubEovMqlRNWAKLwaM0Ph1QhQ4eYUXv2TQ+Gl8Oo/qyi81mSq3FgUXuVSompAFF6NmaHwagSocHMKr/7JofBSePWfVRReazJVbiwKr3IpUTUgCq/GzFB4NQJUuDmFV//kUHgpvPrPKgqvNZkqNxaFV7mUqBoQhVfVzDAuEiABEiABEiABEiABXQhQeHXByE5IgARIgARIgARIgARUJUDhVTUzjIsESIAESIAESIAESEAXAhReXTCyExIgARIgARIgARIgAVUJUHhNyMz+o+cw94+/cf32A0RERKB44bwY+1l35MuVVbb29X+BMZN/w8Hj5+GWxgVd2zXEx12amdAzb1GNwO6DpzFozCwsmPo5KpYtIsOLiIjE1J+WY+0/+xAaFoZ6Ncrh62E9kdo5lWrhM554CHTqOx7n/rsR46ufftzO+H26busBzP5tDZ4990fJIvkw8csPkSu7F3naEIEzF6/jx9/W4vSFawgLD8eWJd/DK1N6+QTnL9/EuKl/4NrNe8iWJSNGDOyCGpVK2dDTvduhNu36JW7dffQWhG3LpyJ7loz8HfxuTw+Tn57CawIqIbx2dnYonD+n/EH6/ZzlCHr1GvMmfyZbfzZuLsLDwzFmSDc8fPIcfb+YjkkjPkLNyqVN6J23qELg5Lkr+Hr6Qjz18cOMrwcahXf5up1YuHIL5nw7BK4uzhg+/ieULl4Aw/p0VCV0xpEIASG8bZrUROM6FY13pk7lhFSpnHDt5n107PM1ZowfgFJF82Puwr9x+vw1rPj5K3K1EQJCcgeMnInBH7eVIhsZEQnP9GllfkNDw9Do/eHo3KoeOrasiz0HT2P8D4uwddkUZPBwt5EnfLfDfBn0GuEREUYI9x8+RffB32LHyulwd3Pl7+B3e3qY/PQUXpNRAZGRkXjq44/x0xeiRJG86NOtBUJCQlGxaV8s/2ksihTIJXub8tNy+PgG4LuRn5jRO29NTgJXb97DkK/m4KfvhqDnkMmY9OXHRuEVP1jrVfdGt/aNZIh7Dp2Rc2DHqunJGTLHNoOAEN4ureujecOqb7Wa8/taXLp2B7MnDpZfexEYhKot+mPzn5ORM1tmM0bhrclFoOvAiWjVuAbaNq35VghHT13C4DGzcGD9HNjb28mvd+g9Dp1a1pV/BPGyPQJfTPwZXhnT47PeHfg72PbSl2wRU3jNQC/E5/iZy2jXrBa++qyH/OF5885DNOs2Ase3/AKX1FFvca/auBurN+7B8nlcITIDb7Ld+uDRM/T+fBqmjO0r/2ip33FoDOGt1WYwJnzey7hif/veYzT54IsYOU+24DmwSQSE8N6++whpXFPLt7R7dWqC2lXLyLbDxv+ELJkzxFixr932U5lzvu1tEt5kvUn8gVK5WT+5en/s9CW8eh2M6hVLYvzwXnL1b+X6XVi9aW+MFfvPJ8yDV6YMGNqnQ7LGzsHNJ3Dlxj10GzQJW5dOQbq0afg72HyE72wLCq+ZqX/yzA9fTf0dObJmxKjBXfHf1dto9/FXOL/rd1n2IK6N2w/hlz83YP3CSWb2ztutTUCUqLT/+CuMHPQBKpSJqtmNLbwVm/SRq3+VyhaVX3/81Bd12w/Bvr9n8y1RayfMwvHE96mor4+MBPYdOYOp81Zi6ZzRKFowt3wrXPyhM6BXa2Pv73X5HKLGt1HtNyUQFg7NZklMQAhQ616jMffbIahQpjBeBL6CWAHM4JEW08f1w8JVW7Fj3wksmjXSGMnYKb/BydFRlqHxsi0C/UfOQPFCedCvRysZOH8H21b+kjNaCq8F9PcdOYeR3/4ihcewwntq23xZLyYuscL714Y9rAG0gK21mwS9CkblZn1hb29vHFrU/Dk6OKBHx8YY8kl7iBXeiV9+JFeNxMUVXmtnSf/xPho2BeVKFULfbi3lCq/Y+CJybbjECu/44T1Zh68/et17FOVIrXqOxrmdvxtLFsS+C1GidOyfeXKFd+2W/Vg2d4xxbLHCmzlTetbh656NpO3w1PmrEMK7bdlU+QesuPg7OGmZp6TeKbwWZHPLrqOYOm8F/l0xLap+qEkfWb5gqOH9fs4yudv7+zF9LOidTZKbQOwVXvH2WYOa5eXpG+LadfAUvp62ELtXz0juUDm+hQTe7zdB1vOKjUxiZ//lG3cx+5tBsjfxFnmV5v2xafF3yJ2DJzVYiNhqzcQG4kpN+2L1ggkolC+HHFfU2X8zczG2L5+KI6f+w5CxP+LA+h+N78KJd+U6tqyD9s1qWy1ODqSdgPhZXKtKGXzYuYmxM/4O1s71XemBwmtCpr+ZsVi+VSZ25j956osR386Xm5hEwby4Bo+ZLVcWRn/aDU+e+eKT4VMxbmhP1KvhbULvvEU1ArGFd8ma7fhz9b9yQ5urS2oM/XouihXKLY824qU+gfuPnmHp2n/RtF5lZM6YHuIP1hnzV2Hj4u+QJVMGuWFNCLAoWxGbUectWo8jJy9iza8T1H84RigJDJ/wE0S52bSv+snNxeLkHPEze9CHbeWiRINOw+Sm0w7Na2PvkbMY+/1v2LL0e2Ty9CBBGyGw78hZjPpuAbYum2rcL2MInb+DbSSJyRwmhdeEBCz+axv+2rQH9x48hUdaNzRrUAX9e7QyljCI1dwx3/+GwycvIo1LanRpW1++VcrLNgnEFt7w8AhMnrMM67cdQFhYGOpUKyvP4RXyy0t9An7+gRjz/a8Q57SK440K5s2OYX07oXzpwsbgxaYmcda2j68/ShTJJzes5f3/OdvqPyEjFHn9dvYS7Nx/Ek5OjmjVuDoG9GoDJ0cHCUfkXpysIo6gy5bFE8P7dUbdamUJzkYIiD9ixKp86/dq4IO2Dd6Kmr+DbSSRyRwmhTeZE8DhSYAESIAESIAESIAEkpYAhTdp+bJ3EiABEiABEiABEiCBZCZA4U3mBHB4EiABEiABEiABEiCBpCVA4U1avuydBEiABEiABEiABEggmQlQeJM5ARyeBEiABEiABEiABEggaQlQeJOWL3snARIgARIgARIgARJIZgIU3mROAIcnARIgARIgARIgARJIWgIU3qTly95JgARIgARIgARIgASSmQCFN5kTwOFJgARIgARIgARIgASSlgCFN2n5sncSIAESIAESIAESIIFkJkDhTeYEcHgSIAESIAESIAESIIGkJUDhTVq+7J0ESIAESIAESIAESCCZCVB4kzkBHJ4ESIAESIAESIAESCBpCVB4k5YveycBEiABEiABEiABEkhmAhTeZE4AhycBEiABEiABEiABEkhaAhTepOXL3kmABEiABEiABEiABJKZAIU3mRPA4UmABEiABEiABEiABJKWAIU3afmydxIgASsSqN9xKB4+9pEjOqdyQiZPD5QpUQBd2zVEicJ5rRgJhyIBEiABElCJAIVXpWwwFhIgAU0EhPDWr1EObZvWxOvgUFy7eQ/rtx3AybNX8c0XH6J5w6qa+mdjEiABEiAB2yRA4bXNvDFqEiCBOAgI4e3Yog4+7tIsxlen/7wSi1dvx4aFk5Ajayb4B7xE/5EzcPveI7x4+QoZM6RD03qVMfijdrC3t8OazXsxadaf2LNmFtK4pjb2NXD0LDg62OOHrweQPwmQAAmQgA0RoPDaULIYKgmQQMIE4hPe0NAw1Gw9CB+0bYD+PVvD1/8F5i1aj+oVSyFzRg9cvXkP46b+jiGftEeXNg3w6nUIarUZhGF9O6FD89py0GfP/VG3/RD88v0wVC5XjKkgARIgARKwIQIUXhtKFkMlARKwTHhFq+6Dv4Vn+rSYPq5/nJ188c3PCAsPx7Sv+smvj/9hEc5fuoGVP4+T///Lnxuw9p/92Pznd7Czs2MqSIAESIAEbIgAhdeGksVQSYAEtAmvKF0wCO22Pcexecdh3LjzEIEvg+DrH4jK3sXw03dD5CD/Xb2Ndh9/hdULxqNw/pxo/P7n6NyqHnp0bMw0kAAJkAAJ2BgBCq+NJYzhkgAJxE8gvpIGsXJbs9UgKauffNAcC1dtxexfV6Nnx/dQsWxRZPBwx/ylm2Rtr0F4xSgdeo9DySL5UK+GN/qNmIHdf82ARzo3poAESIAESMDGCFB4bSxhDJcESMB84Z3162os/msbNi76Dl6Z0qPnkO+QN1c2jB3SzdjZNzMW4/6jZzGEd+WG3Zg2bwW8SxZCWndXTB7Vm/hJgARIgARskACF1waTxpBJgATiJiBWeOtW80abJjXwIjAI9x4+lceSnTp3FZNH90Gj2hVkQ1Gfu+/IWXzZ/32kSuWIwycvYvnfO+Vqb/QV3qBXr1GrzWAEvQrG4tmj4F2yINGTAAmQAAnYIAEKrw0mjSGTAAnEL7yGD55wcnKUx41Vr1AS77epj0L5chgb+fkHYvTkX3HoxAV57FiTepXlyQ0BL4JiCK9oMPTrubh26z7W/T6R2EmABEiABGyUAIXXRhPHsEmABJKegKj9bdBxKD7u0hzvt66X9ANyBBIgARIggSQhQOFNEqzslARIICUQ2LLrKEZPXoDdq2fCLY1LSngkPgMJkAAJvJMEKLzvZNr50CRAAqYQ6DpwEvLmyoLxw3uZcjvvIQESIAESUJQAhVfRxDAsEiABEiABEiABEiABfQhQePXhyF5IgARIgARIgARIgAQUJUDhVTQxDIsESIAESIAESIAESEAfAhRefTiyFxIgARIgARIgARIgAUUJUHgVTQzDIgESIAESIAESIAES0IcAhVcfjuyFBEiABEiABEiABEhAUQIUXkUTw7BIgARIgARIgARIgAT0IUDh1YcjeyEBEiABEiABEiABElCUAIVX0cQwLBIgARIgARIgARIgAX0IUHj14cheSIAESIAESIAESIAEFCVA4VU0MQyLBEiABEiABEiABEhAHwIUXn04shcSIAESIAESIAESIAFFCVB4FU0MwyIBEiABEiABEiABEtCHAIVXH47shQRIgARIgARIgARIQFECFF5FE8OwSIAESIAESIAESIAE9CFA4dWHI3shARIgARIgARIgARJQlACFV9HEMCwSIAESIAESIAESIAF9CFB49eHIXkiABEiABEiABEiABBQlQOFVNDEMiwRIgARIgARIgARIQB8CFF59OLIXEiABEiABEiABEiABRQlQeBVNDMMiARIgARIgARIgARLQhwCFVx+O7IUESIAESIAESIAESEBRAhReRRPDsEiABEiABEiABEiABPQhQOHVhyN7IQESIAESIAESIAESUJQAhVfRxDAsEiABEiABEiABEiABfQhQePXhyF5IgARIgARIgARIgAQUJUDhVTQxDIsESIAESIAESIAESEAfAhRefTiyFxIgARIgARIgARIgAUUJUHgVTQzDIgESIAESIAESIAES0IcAhVcfjuyFBEiABEiABEiABEhAUQIUXkUTw7BIgARIgARIgARIgAT0IUDh1YcjeyEBEiABEiABEiABElCUAIVX0cQwLBIgARIgARIgARIgAX0IUHj14cheSIAESIAESIAESIAEFCVA4VU0MQyLBEiABEiABEiABEhAHwIUXn04shcSIAESIAESIAESIAFFCVB4FU0MwyIBEiABEiABEiABEtCHwP8AwSjCEej2Mj0AAAAASUVORK5CYII="
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = go.Figure()\n",
|
||
"\n",
|
||
"fig.add_vrect(x0=30, x1=47, fillcolor=\"steelblue\", opacity=0.3, line_width=0)\n",
|
||
"fig.add_annotation(\n",
|
||
" x=38.5, y=0.8, text=\"Training\", showarrow=False, font=dict(size=12, color=\"steelblue\")\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.add_vrect(x0=48, x1=52, fillcolor=\"gray\", opacity=0.2, line_width=0)\n",
|
||
"fig.add_annotation(\n",
|
||
" x=50, y=0.5, text=\"Label Buffer\\n(5 days)\", showarrow=False, font=dict(size=10, color=\"gray\")\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.add_vrect(x0=53, x1=70, fillcolor=\"coral\", opacity=0.3, line_width=0)\n",
|
||
"fig.add_annotation(\n",
|
||
" x=61.5, y=0.8, text=\"Validation\", showarrow=False, font=dict(size=12, color=\"coral\")\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.add_trace(\n",
|
||
" go.Scatter(\n",
|
||
" x=[47],\n",
|
||
" y=[0.3],\n",
|
||
" mode=\"markers+text\",\n",
|
||
" marker=dict(size=15, color=\"steelblue\"),\n",
|
||
" text=[\"Last train sample\"],\n",
|
||
" textposition=\"middle left\",\n",
|
||
" name=\"Training\",\n",
|
||
" showlegend=False,\n",
|
||
" )\n",
|
||
")\n",
|
||
"fig.add_trace(\n",
|
||
" go.Scatter(\n",
|
||
" x=[47, 52],\n",
|
||
" y=[0.3, 0.3],\n",
|
||
" mode=\"lines+markers\",\n",
|
||
" line=dict(color=\"steelblue\", width=2, dash=\"dot\"),\n",
|
||
" marker=dict(size=8),\n",
|
||
" name=\"Label (safe)\",\n",
|
||
" )\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.update_layout(\n",
|
||
" title=\"Label Buffer Prevents Leakage\",\n",
|
||
" xaxis_title=\"Day\",\n",
|
||
" yaxis_visible=False,\n",
|
||
" template=\"plotly_white\",\n",
|
||
" height=300,\n",
|
||
" showlegend=True,\n",
|
||
")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "db974830",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.007362,
|
||
"end_time": "2026-06-13T03:12:07.082658+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.075296+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Walk-Forward CV with Label Buffer\n",
|
||
"\n",
|
||
"`WalkForwardCV` implements label buffer via the `label_horizon` parameter.\n",
|
||
"With `calendar='XNYS'`, the gap is counted in **NYSE trading days**."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "1968e9e3",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:07.096256Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:07.096058Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:07.336743Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:07.336226Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.247989,
|
||
"end_time": "2026-06-13T03:12:07.337136+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.089147+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1200x350 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Expanding with 21-day label buffer\n",
|
||
"cv_purge_exp = WalkForwardCV(\n",
|
||
" n_splits=5,\n",
|
||
" test_size=252,\n",
|
||
" expanding=True,\n",
|
||
" label_horizon=21,\n",
|
||
" calendar=\"XNYS\",\n",
|
||
")\n",
|
||
"splits_purge_exp = list(cv_purge_exp.split(df_dates))\n",
|
||
"\n",
|
||
"fig = plot_splits(\n",
|
||
" splits_purge_exp, dates, title=\"Expanding Window with Label Buffer (21 trading days)\"\n",
|
||
")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "5ad29d17",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:07.349205Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:07.349082Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:07.595144Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:07.594643Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.253179,
|
||
"end_time": "2026-06-13T03:12:07.595871+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.342692+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1200x350 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Rolling with 21-day label buffer\n",
|
||
"cv_purge_roll = WalkForwardCV(\n",
|
||
" n_splits=5,\n",
|
||
" test_size=252,\n",
|
||
" train_size=1260,\n",
|
||
" expanding=False,\n",
|
||
" label_horizon=21,\n",
|
||
" calendar=\"XNYS\",\n",
|
||
")\n",
|
||
"splits_purge_roll = list(cv_purge_roll.split(df_dates))\n",
|
||
"\n",
|
||
"fig = plot_splits(\n",
|
||
" splits_purge_roll, dates, title=\"Rolling Window with Label Buffer (21 trading days)\"\n",
|
||
")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "90b24c43",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.005589,
|
||
"end_time": "2026-06-13T03:12:07.607049+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.601460+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"The hatched regions are **label buffer gaps**: 21 NYSE trading days where\n",
|
||
"training labels would overlap with validation. These samples are excluded\n",
|
||
"from training but not used for validation — they are simply discarded."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6c87d190",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.005867,
|
||
"end_time": "2026-06-13T03:12:07.619013+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.613146+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 6. Feature Buffer (Embargo)\n",
|
||
"\n",
|
||
"The label buffer prevents **forward-looking** leakage: training labels that\n",
|
||
"peek into the validation period. But there is a second leakage channel:\n",
|
||
"**backward-looking features** computed from validation data that bleed into\n",
|
||
"training.\n",
|
||
"\n",
|
||
"This matters in **CPCV** and **k-fold** schemes where a training block can\n",
|
||
"appear *after* a validation block in calendar time. A 60-day rolling feature\n",
|
||
"computed for the first training sample after the validation block uses 60 days\n",
|
||
"of validation-period prices.\n",
|
||
"\n",
|
||
"López de Prado (2018) calls this the **embargo**.\n",
|
||
"\n",
|
||
"| Buffer | Direction | Protects Against | When It Matters |\n",
|
||
"|---|---|---|---|\n",
|
||
"| **Label buffer** (purge) | Forward-looking | Training labels peeking into validation | Always |\n",
|
||
"| **Feature buffer** (embargo) | Backward-looking | Training features using validation data | CPCV, k-fold |\n",
|
||
"\n",
|
||
"In pure walk-forward CV (training always precedes validation), the feature\n",
|
||
"buffer is **zero** because no training sample follows a validation block."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "ef293af4",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:07.631366Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:07.631234Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:07.749972Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:07.749439Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.125725,
|
||
"end_time": "2026-06-13T03:12:07.750432+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.624707+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABQIAAAFNCAYAAABbmBJrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAASg5JREFUeJzt3Xd8U/X+x/F3uhdt2ZQyCy2ggKIMQRBxXicCelFEQBkCouIAFRWVPRRRFGWpiOIARL1uQdniQplC2aulhSJQSlvaJPePSqCWliZNyek5r+fjcR8PSXJOvof09+uHV85JbCdPZjsFAAAAAAAAwNT8fL0AAAAAAAAAAKWPEAgAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABRYbAo8fSdeN/Byr5wMFi73DqrA/10uuzS7ywc5k5Z4F6DBhWon0kHzio1td3V+L23V5aVdE+/eoHdbz7IbX5zz368JNvCr3Nm3bvTdJNdz6gjBOZXt93aThfPz8AAODc/j0Lrlm7Sa2v76704xmFbvPTr2vVY8AwORyO87VMS1i7MVF33/+k2t7YU088/3Kht3lTTk6ubu/1qNZtTPT6vv+tU4/BpTILe8snXyzW48Nf8vUyAAAosYCi7nzng8/UrvUliqlWudg77Hb7TerS6xHd2fkGxcZUKfRxA4eMUnxcbT0y4J7ir9YHBg4ZpT/WbXb9uXx0pC5u0lAP9u2mmKqVir2fjIwTeun12Xqo393q0LaFIsLDznqbt73x9se649brFB4WKilvgH9g6Jh8x3PRhQ00qO9dRb5e50txf34AAEDp82QWbN3iIs14d76+/WGVbrimbaGPmzlngWa9t7DA7a+MfVItL2ns0XrPdGrm+W7BNJWLCC/x/jzx72MMDwtV/bo11a/XHbqkaSO39vXqtPeVUK+2Xh41RKGhIYXe5k0Lv1ys6tWqqOmFCa7bWl/f/ayPHfHUA7r2ytZeX4NR3HJ9e70991P9uX6zLm7S0NfLAQDAY4WGwKysbP3vm6WaPOYJt3YYHVVOrS5tqk++WKQH+3Yr8QKNoOMNHdS3Rxc5nU4dSE3T5Dfn6IXxU/XmpOHF3seBg2nKzbXr8lYXq1LF8pKk7bv2FrjNE7m5uQoIKPhSHkg9pJU//6FHB/YocN9HsyYqLDREe5NSNG7yLA0Z/pLmvDlW/v7uXy2ek5OrwMAim3KxmfHnBwCAssjTWVCSbrz2Cs377NsiQ6AkxdWuoVfHPZnvtshyEW4/X2krbNYqjjOP8Vh6ht6f/6WGDH9Jn73/qltvAu9PTlGnm65SlcoVi7zNXYXNcU6nU/M//159e3QpcN8zj/XTZc2b5rstIsL7b2iXlN3ukM0m+fmV/NOQAgMDdF2H1vr4s+8IgQCAMq3Q34qrfl2roMBANW5U33Wb3e7Q6Ekz1LnHI2p/y73q2vtxfbSw4Cn8bVs106Ilq0u0sNdnfqj/3ve4rrz1PnXp+YimzZ6n3NzcAo9b+OVidbz7IV156316etSrOp5xIt/9n3/9o+7sM1Ttb75XXXsP0YL/fe/2WoKDg1SxQrQqVSyvxo3q6/Zbr9WWbacvJ/7yu2W6tnO/fNssXfWb6x3TL79bpu73PyVJ6tLzUbW+vvtZbzt12c2yVb+r5wNPq/3N96pLz0c0671PlGu3u/bd+vru+uR/izTkuZfU4dbeeueDz8667sVLf1Z8XC1VqVShwH3loyNVqWJ5NWvSUPfd3Uk79+zXvqQD5zwW6fRl2Z9//aPrZ0GSdu1J0v2PjlD7m+/VXX2H6pc1G9T6+u5auuo317YpqWl6etSrurZzP13X5X4NfW5SgUvPvfHzAwAASuZss+Ap6zYmqnv/p9T+5nvV5+HntH3X3nz3t72smf5K3Kl9SSlFPoe/v58qVojO979TUWrthi3q/+gItb/lXnW8+yFNmvquMrOyXNt+vWiF7h30rK6+rY9uuvMBDR/7ug4fOSop7+NfTl0BcV2X+9X6+u4a+eI0SWe/BLXHgGGaOWeB68+FzVrnmtHOdYx1a8eqX48uOpGZpT37kl1r/fdH1aQfz1Dr67trzdpNrvuPHjuu0ZNmuObIs90m5b3R/MjTE3RVx966setAvTDhDR05mu7a98Aho/Tia7P18htz9J87+mvwsPFnXffmrTu1PzlFbVpeXOC+iIiwAq9bcFCQpNNz8YrVf6hr77xZftjIV5SVla0vv1+mTj0G67ou/TRp6ruy2/NfPn4iM1PDx76mDrf21i3dHtT8z/PP7R8s+Ep33/+kOtzaWx3vfkgTp7ytE5mnfyZOPffyn37XXX2Hqv3NvZSSmqZDaX/rsWcnqv0t96pzj0f07Q+rCvwcHEg9pKHPTdJVHXvr6k599PSoV3X476P5nr/tZZdoxeo1yso+WejrDQCA0RX61ubaDZvVIL5OvtucToeqVKqg0c88qKjICK3ftFXjJr+lihWidU37y1yPu6BBPaUeOqzkAwfdupTkTGFhIXrmsX6qXLG8tu3aq3GTZyk8NFTd/3uz6zH7klK0eNnPmjjiMWWcyNSYSTM0cco7euHJgZKkb39YqRnvLtBjD/RUQv3aSty2W2Mnz1JISLBuuvYKj9Z19NhxLV72sy5sWK/Y21zd/jJVqVxBDz05TrNefUFVK1dUWFhIgduioyL15/rNGjHxTT0y8B5d3Lih9ielaNwrb0mSenfv7NrnzPc+0cD7umpw/3sKPYtv7YYtahgfd871BQcHSpJycoseZM+0LylFP674VWOHPyx/Pz/Z7Q498cLLqlaloma+8rxOZGbp1elz822Tm5urwU+PV+NG8XrjpWcV4O+nt+d+psFPT9B7b451Df7e+PkBAAAlc7ZZ8JTXZn6gR/rfowoVovXm2x9ryPBJ+vitia6z5qpVqaQK5aO0dsMW1ahe1e3n3peUokeenqB+Pe/Q04/1099HjumlqbP10muz9czj90uScu129et5u2rViNHfR47plWnva9SL0zVp1BBVqVxRY599WE+NfEUfzZqo8LBQBQcHubWGf89axZ3RinLyZI6++G6ZykWEqXaNmGJtU6VyRX3xwWvq2nuI+vboomvaX6awsBBd1rxpvtvCw8OUfjxDDw4dq1v+014P399d2SdPauqsD/XM6Cl6bcLpz9b+etFydbr5ak0r4uqWPzdsUc3YGNfHy7gjKztb8z77ViOeGqQTmVl6asRkPTlisiLCwzRp5BDtT07VsFGvqOkFCbrmytP/hnh//pfqeeet6nNPF/38+3pNfmOOasVWU8tLm0iSbDY/PTqgh6pXq6z9B1I1cco7en3mBxry4L35nnvOx1/oqcF9FBUZofLRkRr6/Ms6cixdUyc+rQB/f70y/X39feSYaxuHw6Ghz7+ssJBgTX3xGdntdr342mw9M2aKpk58xvW4RvF1ZbfbtWnzNl1y0QVu/70AAGAEhYbAAylpBS5XDQgIyHd5QPVqVbR+0zb9sOznfCGwcsVoSVJy6iGPQ8693W5z/XdMtcra0yVZi5auzhcCT57M0fAh/V1nvD06sIceH/6iHurXTRUrRGvGuwv0YL9uurJtC9d6d+7Zr0+//NGtEPjJF4v0v2+WyOnMGy5q1aimyaOLf5lMSHCQoiLLSZLKR0WqYoVoSTrrbbPeW6h7ut7iWl9sTBX169lFr8/8MN+QeV2HNrr5+vZFPu+B1ENqmFC3yMccSvtbc+d/pcqVyqt2jRht2bqzWMeUk5ur4UP6q3x0pKS8Dwbfn5yqqROfdh3L/b3u0MNPjXNts2jpajkcTg17pI9sNpukvEtLru3ST2vW/aVW/wx53vj5AQAAJXO2WfCU3nd3dsWZZx+/Xx27P6QlK3/LNw9WqhitA6mHinyO7bv26qqOvV1/rlMrVm9NGaF3P/pc113VRnd2/o8kqWZsNT06oIcGDhmlIQ/dq+CgIN1yxhwUG1NFjw68R/c9OFwnMrMUFhqiyHJ5nwtYPjrSo88I/PesNfqlGcWa0Yo6xqzskwoLDdHIYYMUXszLgk+dUWiz2RQRHuaas0JDQgrc9sGCr5RQv7YG3NfVtf3Tj/ZVx+4Pa8++ZNX6Jz7WiK2qQX3uKvJ5D6QcUqV/ZrJ/Gz72dfn/63LbuTPGq1qVvM/Pzs21a8iD97oicIe2LfXN4pX68qPXFRYaorq1Y3VJ00b6fe2mfCGw6QUJ6tH1VklSrRoxWrcxUR8u/Mb1s3bq50HK+/fB/b3u0IRX38oXAnNz7RoyqJfi69WWlHfFyq9/bNBbU0aoUULeG+RPDe6j/973uGub3/7YqB0792rB7JdVtUreZdbDh/RXt35PaNOW7bqgQd4JACEhwQoPC1PyOX6uAQAwskJDYPbJkwoKCixw+/zPv9cX3y5VysE0ZWefVE5uruLjaud7zKl3XLNLcNr8oiWr9fFn32p/cqoyM7NktzsKvCNZtUrFfJe9NrkgXg6HU7v3JSssLET7k1M15uWZGjd5lusxdrtD4eHuvbN5fYc26nlXR0nS4SPH9O6Hn+nhYeP19msjPXqXtCjbdu7Ruk2Jmn3G5b52h0MnT+YoKytbISHBkqRG5wh8UuGvoSR1vPshV9iMj6ulsc8+7Nbn/FWrUskVASVpz75kVa1cwTWIStKFDfKfjbh1xx7tT0rR1bf1yXf7yZM52p+UIv0z5Hnj5wcAAJRMUXNE4wtOXy4cFRmhWjVitHtvUr7HBAcFKSur6N/ltWrEaMLzj7r+HBSY93zbduzRtp179d0Pq1z3OZ2Sw+FU8oGDqlMrVpu37tTMOZ9o2449Sj+eIYfDKSnvY0jq1o5172DP4t+zVnFntKKO8URmlhYvXe06Q+9UmPKWrTv26Pe1m/LF1VP2J6e6QmDD+sWbI4MLef0fvr+7WjS7MN9tZ0bjkODgfGeCVigfpZiqlRR2xheaVCgfpb+PHsu3j8aN4v/15/r6aOG3rj//smaD3v3oc+3em6wTJzKVa7cX+PsPDAxQ/bharm327EuWv7+/GtSv47qtZmy1fHF4194kValc0RUBJalu7ViViwjTrj1JrhAo5c2p2ef4uQYAwMgKLT9RkeWUnp6R77bvl/ykKTPm6qF+3dS4UbzCQkP0/vwvtWnz9nyPO/bPdtFR5Txa1PpNW/X8+Knqc08XtWreRBHhYfp+yU/6YMHXxd5HZma2JOmpwb3z/fKW5PYXYoSHh6lmbDVJeYPDsEf66ua7Bmnx0tW69YYOstlscjqd+bbJdeMy2zOdyMxS33u6qP3lzQvcd+YwXtiweaazvYanvPHSswoPC1X56Mh8MbO4xxJajOf/t8zMbDWIr6vnnxhQ4L4zo2JJf34AAEDJFTVHFMex9Ixz/i4PDAhwzVhnOpGZrdtuvEp3dLyuwH3VqlRSZlaWBg8br1aXNtXzTwxQdFSkUg6mafCw8co5y2dKn8nPZpNT5551/j1rFXdG+7d/H2OD+nW0dNXv+mjhN3r+iYGy+eVdJXHm/OXpHJmZmaW2rS7RwN5dC9x35tl9xZkjoyPLafvOfWe9r2KFqLO+bqcEBPjn+7PNdrbbbHI68r8ORUk+cFBDhr+kTjdfrf69/qvIcuFauzFRYybNUE5urkKUd0zBQUGuK09Kw7H044o+Y24FAKCsKTQEJtSrrW9/WJnvtnUbE9Xkgnh1ueVa1237k1ILbLt9114FBPirbu0aHi1q/aatqla1knp16+i67WyXlqSkpulg2t+q/M87kBv+2iY/P5tq14hRhfJRqlSxvPYnp+r6qy73aB2FOfXNY9kncyTlRawTmVnKzMpSaEjeO51bz/jAZ3c0qF9Hu/clFzlcFVdCvTratSfprPdVr1b5rJfJeHostWrEKOXgYR3++6gqlI+SJG1K3JHvMQ3q19GipatVITqyyMthSvrzAwAASu5ss+ApG/7a5roM9Fh6hvbuO6DaNau77s8+eVL7k1OUUL/2Wbc/lwb162jn7v2FzkPbd+3V0WPHNfC+rq6zuDZvzT93nPq8Qocj/xdSREdFKu3wEdefMzJOKCkl/xeXFbYmb81o/n5+ys7Oca1HUr41lWSO/HHFr4qpVlkB/v7n3qAICfXr6JMvFsvpdJZqWDvTxs3bCvy5Tq28n6vNW3fK4XTooX7dXLP44mU/n3OftWrEyG63K3H7bjWMzzsTcu/+A0o/fjpy16lZXakH05SSmub6edq5e7/Sj5/Id3bpvqQUnTyZo4R6nv1cAwBgBIWeGteqeVPt2L3fdXaWlHc23ObEnVr92zrt2ZesabPn6a9/xR4p70sqLmrcQCHn+FDmI0fTlbh9d77/Hf77qGrGVtWB1DR9v+Qn7UtK0ceffqulK38vsH1QUKBGTpymrdt368/1m/XyG+/q6itauS5P7XtPZ7370f/08affas++ZG3buVdffLtUHyz4qrh/P5LyLlFNO3xEaYePaOv23Zo45W0FBQWq5SWNJeV9uUVIcJDefPtj7UtK0bc/rNKX3y936zlOue/uTvp60QrNeu8T7di1T7v27Nf3S37StHfmub2vVs2baP1fWwt8I1tRPD2Wlpc0UWxMFY2Y+Ka27dijtRsTNX32fEmSTXnD4/VXtVF0VDkNff5l/bl+s5IOpGrN2k2aNPVdpR5Mc+2ruD8/AACg9JxtFjzl7fc/1a9/bND2XXs16sVpio6KUPs2p8+U2/jXNgUFBqrJvy71LK57/nuz1v+1VS++NluJ23dr7/4DWrbqd7342mxJUtXKFRUYGKB5n3+n/cmpWv7T73p77qf59lGtaiXZbDat+PkP/X3kmOvbZS+9+AJ9s3iF/ly/Wdt27tWIF6cV+Ly7s/F0RrPbHa45cu/+A3p77qfauWe/2rW+RFLeZ0k3blRfcz76n3bt2a816/7StH9mKHd1ufVapadnaPjY17Vpy3btS0rR6t/WadSL09yaByXp0osaKTMrSzt2Fzwr8PjxE65jOvW/M7/R2VPrNibqvY+/0J59yZr/+ff6Ydkv+u9t10uSalSvqtxcu+Z9lveaf71ohRZ+ufic+6xTq7paNGuscZNnaePm7dqybZfGv/KWgoODdKpvtrikseLq1tTz46dqy9ad2rh5u0ZMfFPNmjbMd/n22g1bFBtTxaMvwAEAwCgKPSOwft2aalC/jhYvW61ON10tSbrtxquUuG2Xnh3zmmw26dorW6vzLddo9a9r8237/ZLV6nPPub897bsfV+m7H1flu61fz9t1b7fbdGfn/+il12crJydXbVperHu73aZZ732S77E1qlfVlZc316PPvqhj6cd1eatmenzQ6Q8LvvWGDgoODtb787/UazM/UEhwsOrVramuna4/99/MGT77+kd99vWPkqRyEeGqH1dTk0YOcb3zHRUZoeeeGKDXZnygz75eouYXX6g+3Ttr3CuzitrtWV3WvKleHPGY3np/oeZ8/IUC/P1Vu2Z13fqfK93eV+sWF8nf31+//rFBlzVvWqxtPD0Wf38/jX/uEY2dPFP3PTRc1atV0aA+d2nIcy+5LpcJCQnWGy8+o9dnfainRr6iEyeyVLlSeTW/+MJ8lycX9+cHAACUnrPNgqcMuK+rJr/xnvYmHVB8XG1NfOGxfJ81/N2Sn3RdhzbFugT1rM8dV0tTJz6tae/M04DHRsrpdCo2pqqubt9KUt4VDM881k9vvj1P8z79Tgn162hQ324a+twk1z6qVKqgPvd01htvfaTRL83QDde01bOP36+eXW9R8oGDenz4S4oID1Pfnl2UfODcZwR6OqPt2L1PN981SFLeZ+fFVq+iIQ/eqxuvbed6zNOP9tXoSTPVa9CzqlUjRoN636mHh413+++tcsXymvbycL0+60MNHjZeJ3NyVa1KJV3WvKn8/Nw7qy8qspzat2mub39YpYH35b/UeNRL0ws8fsB9/3V90Yen7upyo/5K3KFZ7y1UeHiIHrr/btcMG1+vth66/2699/EXeuPtj3Vx4wYacG9XjZj45jn3O3zI/Rrz8kwNfHyUKlSI0oB7/6sdu/e5ZlSbzaYJzz+iSa+/qwGPj5LNz6bLLm2qxx7omW8/3y/5SbfecGWJjhEAAF+znTyZXeiHc6z8+Q+9NvMDvT9tnOsU/HP56de1enX6+5rz5tgSX5KAkpv/+fdasXqNJo8p/rcce8vajYnq/+gIzXv7pWK/c8rPDwAAxuHJLHjkaLq69h6it18boerVqpTyClGatu3Yo4eeGqf570zK90UfZV3qwTR17P6wXh33pFo0a1ysbXbs2qdBT4zRx2+9qIhifuMzAABGVOTXxF7eqpn27k/RwUN/5/sWraJkZmXrmcf6EXEM4rabrtLx4yeUcSLT699w/G9LVv6qsJAQ1Yytpr1JKZr8xhw1vTDBrcsn+PkBAMA4PJkFk1MOasigXkRAE6gfV0sP9L5TSQcOqn7dmr5ejsd++3OjMjOzVK9uTR1KO6LXZ32omKqV1axJw2Lv49DhIxo+pD8REABQ5hV5RiDgjq++X653PvhMKalpioqKUItmjfVQv26KiuTbfwEAAOAbq39bpynT52r/gVSFhYaoyQXxGtz/HsVUreTrpQEAcN4RAgEAAAAAAAALKN6HvQAAAAAAAAAo0wiBAAAAAAAAgAUQAgEAAAAAAAALKBACnU6ncnNz5XTy0YEAAABWwywIAABgXgVCoN1uV7ubeslut/tiPQAAAPAhZkEAAADz4tJgAAAAAAAAwAIIgQAAAAAAAIAFEAIBAAAAAAAACyAEAgAAAAAAABZACAQAAAAAAAAsgBAIAAAAAAAAWAAhEAAAAAAAALAAQiAAAAAAAABgAYRAAABgajk5ueoxYJh6DBimm+58QLfe/aB6DBimvoNfOOe202fP15/rN5+HVQIAAKA0DBwySn/8a5576fXZmvfZdwUeu2btJg0b+Yok6ZMvFmvRktVFPqYwS1f9pj37kl1/HvPyDO1LSvFk+V4X4OsFAAAA61m5cpXX9nX55W2KvD8wMEDvvjFGkjRzzgJFRZbTHR2vc91vtzvk73/290b79bzda+sEAABAnp49e3ltX7Nnv1Pk/ddccZkWL/1ZzZo0lCQ5HA4tXfWb3p4yssjtOt98tcdrWrbqd/n7+atWjRhJ0rBH+nq8L28jBAIAAMsZ+eI0BQcFafPWnbqi9aWqWydWsz/4XLl2uypXjNbzTwxUuYhwjXxxmjq0bam2lzVTpx6DddO17bRs1e8KCPDXhOcfVaWK5X19KAAAACjCle1aaPaHn+vRgffIz89Pf67frFqxMXpu3FSlZ2TI6XBqUN9uanlJ43zbnfkG8sbN2zVm0gz5+/upyYUJrscsXfVbgRlyz75kLf9pjf5cv1nTZ8/T5LFP6JnRU/TYAz1Vr05Nfb1ohd6b94XklG64tq2633Gzkg8c1NDnX1Z8vVratGWH6tetqZHDBslms3n974MQCAAALOnosXTNevUF2Ww2HUvP0BWtL5XNZtPHn36rBZ8vUq9uHQtsU6VSBb37xhhNnz1fn3+zRPfd3ckHKwcAAEBxVYiOUu2a1fXnhi26pGkjLV72s65u30rXdWij8LBQpR0+osHDJmjOm2MK3ceYl2fomcf7qVFCnJ4ZPcV1e7Mmjc46Q7ZrfYnrzeQzpR46rFnvfaJZr45QSEiQ+j3ygppffKGiykVo1979GvHUA6pTq7oeGDpaazds0cX/nMXoTYRAAABgSR3atXS9y5qSekhPj5qrw0eOKjv7pC5sWP+s27S/vLkkqWF8XS1fvea8rRUAAACeu6Z9K/2w7BdddGEDLV+9Rr3v6azXZ36otRu3yN/PT3v2JSsnJ/es26Yfz1BOTq4aJcRJkq6/qo2+XrRCUvFnyFP+StyRF/4iIyRJHdq21NoNW3RF60tVq0aM6taOlSQl1Kuj5JRDuriJt/4GTiMEAgAASwoJDnb996Q35qjXXR3V6tImWrH6D331/bKzbhMYGChJ8vPzk8PhOC/rBAAAQMm0v7yF3nr/U13R5lLF1a6hVT//qcysbM2eOloB/v76zx39lZN79hAoSYVdoVvcGbI4gv6ZM6XSnTX51mAAAGB5GScyVblieTmdTn29aLmvlwMAAAAvioqMUFydGpoyfa6ubn+ZMk5kqkL5SAX4+2vF6j909NjxQrctFxGuwMBAbdm6U5L0/ZKfXPcVNkOGhYboRGZmgX1d0KCefvtzo46lZ+jkyRwtXfmbLm7cwItHem6cEQgAACyvd/dOGvLcS4osF6FmTRrqQOohXy8JAAAAXnR1+1YaN3mW2rdpLofDoceHv6i7739SF13YQNWqVCxy26cG99aIidPkH+Cvphck6PDfRyQVPkNec2VrjZs8U+99/IUmj33CtZ/KFcvrvrs7acDjI11fFtIgvq6SDxwsteP+N9vJk9nOM2/Izc1Vu5t6afmX7ygggE4IAABgJcyCAAAA5sWlwQAAAAAAAIAFEAIBAAAAAAAACyAEAgAAAAAAABZACAQAAAAAAAAsgBAIAAAAAAAAWAAhEAAAAAAAALCAAF8vAAAAoLS1vaGH4urUkCQFBPjrycF9lFCvdpHbTJkxVz/9slbXdWiji5s00MQp7ygkJFizXn3hfCwZAAAAXsIseBohEAAAnHeHDqUVuG3y5MmaMGGChg4dqsGDBxd7X5UqVTznYyIiwvTuG2MkST8u/0Vvvb9Q44YX/Rxffb9cX374uvz8/DT+lbfU+57Ouqpdy2KtyW53yN+fCy8AAADO5myzYGHONSMyC7qHEAgAAHzO0wjoiYwTmYoID5MkffndMm3ftU8P9esmSbp30LMa88xDmjztPaWnZ6jXA8/o1hs6aPGyn/XLmvX6dc0GPT6ol16f+YH+3LBZOTl2df/vTbr+qsv15XfLtHz1Gh1LP67IchHnHC4BAABwbqdmwwkTJuT7s6esPgsSAgEAgE+djwh4/PgJ9RgwTFnZJ3X02HFNf3l4kY8f/9wj+s8d/V3vHP+VuEMd2rZU28ua6dOvflDFCtF6a8pIZWWfVN+Hn9dlzZtKkrbt2KPZr49S+D/DJQAAAEqupDGQWfA0QiAAAPCZkkbA48ePu305yA/Lf9GLr83WlPFPuf18kvTL7+u1fdc+ffvDyrw1nDih/cmpkqRWlzYx9OAHAABgBMePH1dERIRb25QkBjILnkYIBAAAPuGNCNitWzetWrXSre0ub3WxRkx8U5Lk7+8np9Phuu9kTs45t3c4nXri4ft0SdNG+W7fuXu/goOD3VoLAACAFXXr1k1z5849rzHwFKvPgsb85EIAAGBq3oqAW7ZscXvb9Zu2KrZaFUlStSqVtHXHHkl5w9uefcnn3L7lJU30yf8WyW7PGxq379rr+m8AAACc25YtW9StWzcdP37c7W0HDx6soUOHasKECZo8ebLb21t9FuSMQAAAcN55KwJ++OGHxdwm73NhnM68d36fePg+SdJFjRsoOrKc7uwzVA3j66hOzdhz7qvjDR2UfOCgej7wtJwOpypWiNak0UPcPg4AAACr+vDDD3XnnXd65czAUaNGnvPxzIKn2U6ezHaeeUNubq7a3dRLy798RwEBdEIAAAArYRYEAAAwLy4NBgAAAAAAACyAEAgAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABhEAAAAAAAADAAgiBAAAAAAAAgAUQAgEAgKkNHDJKf6zfnO+2l16frXmffVfgsWvWbtKwka9Ikj75YrEWLVld5GMKs3TVb9qzL9n15zEvz9C+pBRPlg8AAIASyMnJVY8Bw9RjwDDddOcDuvXuB9VjwDD1HfzCObedPnu+/vzXHFnWBfh6AQAAwHp69uzltX3Nnv1Okfdfc8VlWrz0ZzVr0lCS5HA4tHTVb3p7ysgit+t889Uer2nZqt/l7+evWjViJEnDHunr8b4AAADMZuXKVV7b1+WXtyny/sDAAL37xhhJ0sw5CxQVWU53dLzOdb/d7pC//9nPk+vX83avrdMoCIEAAMDUrmzXQrM//FyPDrxHfn5++nP9ZtWKjdFz46YqPSNDTodTg/p2U8tLGufb7sxBcePm7RozaYb8/f3U5MIE12OWrvpNsz/4XLl2uypXjNbzTwzUnn3JWv7TGv25frOmz56nyWOf0DOjp+ixB3qqXp2a+nrRCr037wvJKd1wbVt1v+NmJR84qKHPv6z4erW0acsO1a9bUyOHDZLNZjvff10AAACmN/LFaQoOCtLmrTt1RetLVbdObIGZrlxEuEa+OE0d2rZU28uaqVOPwbrp2nZatup3BQT4a8Lzj6pSxfK+PhS3EQIBAICpVYiOUu2a1fXnhi26pGkjLV72s65u30rXdWij8LBQpR0+osHDJmjOm2MK3ceYl2fomcf7qVFCnJ4ZPcV1e7MmjXRF60tls9n08affasHni9SrW0e1a32Ja2g8U+qhw5r13iea9eoIhYQEqd8jL6j5xRcqqlyEdu3drxFPPaA6tarrgaGjtXbDFl38z1mMAAAA8K6jx9I169UXZLPZdCw946wz3b9VqVRB774xRtNnz9fn3yzRfXd38sHKS4YQCAAATO+a9q30w7JfdNGFDbR89Rr1vqezXp/5odZu3CJ/Pz/t2ZesnJzcs26bfjxDOTm5apQQJ0m6/qo2+nrRCklSSuohPT1qrg4fOars7JO6sGH9ItfxV+KOvPAXGSFJ6tC2pdZu2KIrWl+qWjViVLd2rCQpoV4dJacc0sVNvPU3AAAAgDN1aNfSdfVFcWe69pc3lyQ1jK+r5avXnLe1ehMhEAAAmF77y1vorfc/1RVtLlVc7Rpa9fOfyszK1uypoxXg76//3NFfOblnD4GSVNgVupPemKNed3VUq0ubaMXqP/TV98s8XmNQYKDrv/38/ORwODzeFwAAAIoWEhzs+u/iznSB/8xrZXlW41uDAQCA6UVFRiiuTg1NmT5XV7e/TBknMlWhfKQC/P21YvUfOnrseKHblosIV2BgoLZs3SlJ+n7JT677Mk5kqnLF8nI6nfp60XLX7WGhITqRmVlgXxc0qKff/tyoY+kZOnkyR0tX/qaLGzfw4pECAADAXYXNdGbEGYEAAMASrm7fSuMmz1L7Ns3lcDj0+PAXdff9T+qiCxuoWpWKRW771ODeGjFxmvwD/NX0ggQd/vuIJKl3904a8txLiiwXoWZNGupA6iFJ0jVXtta4yTP13sdfaPLYJ1z7qVyxvO67u5MGPD7S9WUhDeLrKvnAwVI7bgAAABStsJnOjGwnT2Y7z7whNzdX7W7qpeVfvqOAADohAACAlTALAgAAmBeXBgMAAAAAAAAWQAgEAAAAAAAALIAQCAAAAAAAAFgAIRAAAAAAAACwAEIgAAAAAAAAYAGEQAAAAAAAAMACCIEAAAAAAACABRACAQAAAAAAAAsgBAIAAAAAAAAWQAgEAAAAAAAALIAQCAAAAAAAAFgAIRAAAAAAAACwAEIgAAAAAAAAYAGEQAAAAAAAAMACCIEAAAAAAACABRACAQAAAAAAAAsgBAIAAAAAAAAWQAgEAAAAAAAALIAQCAAAAAAAAFgAIRAAAAAAAACwAEIgAAAAAAAAYAGEQAAAAAAAAMACCIEAAAAAAACABRACAQAAAAAAAAsgBAIAAAAAAAAWQAgEAAAAAAAALIAQCAAAAAAAAFgAIRAAAAAAAACwAEIgAAAAAAAAYAGEQAAAAAAAAMACCIEAAAAAAACABRACAQAAAAAAAAsgBAIAAAAAAAAWQAgEAAAAAAAALCDA1ws40/z5C5SRkeHrZQBAATExMSpfvnyxHpuTk6OcnBwFBgYqMDDQ7edyOp3Kzs6W0+lUcHCw/Pzcf8/G4XAoOztbNptNwcHBstlsbu/jfB/H9OnTlZmZ6fbzAEZSpUplTZo0ydfLKLMeffRRpaYe9PUygBLp1KmTYmJimAFK8Tg2bNjg0T4BoLSFh4fr9tu7+HoZRTJUCMzIyFD9+vV9vQwAKCAzM1N169Y95+OSk5N1+PBhVa9eXTExMW4/j91u19atW5WVlaWEhASFh4e7vY+MjAwlJiYqNDRU8fHx8vf3d3sfvjiOv//+26PjBYyEiFUyqakHPfr/WYCRBAcHKz09vcS/Q48dO1biWcBms5VoFkhKSjLkcaxZs0aNGzd2e38AUNq2bdvm6yWcE2+jAICXeGtgzszM9HkE9PVxAABQVjkcDlWvXl1JSUlKTk52e3t/f3/Fx8crNDRUiYmJHl0xFR4eroSEBGVmZmrr1q2y2+1u7yMmJsYUxwEAyI8QCABeYIR4RgQEAMAYzBLRzHIcAIDTCIEAUEJGiGdEQAAAjMUsEc2IxwEA8BwhEABKwAjxjAgIAIAxGTGimSEGOp1Ot7cHAOQhBAKAh4wQz8wSATMyMhjqAQCmZLSIZoYYCADwHCEQADxglHhmlgiYmJjo9nYAAJQVRopoZoiBNpvN7e0AAHkIgQDgJiPFM7NEwNDQUIZ6AICpGSWimSEGAgA8RwgEADcYLZ6ZJQLGx8e7vT0AAGWNESIaMRAArI0QCADFZMR4ZpYI6MlxAABQFhkhohEDAcC6CIEAUAxOp9MU8YwICACA7xkhohEDAcCaCIEAUAxOp7PMxzMiIAAAxmGEiEYMBADrIQQCQDHYbLYyHc+IgAAAGI8RIhoxEACshRAIAMXgyTfaGiWeEQEBADAuI0Q0YiAAWAchEABKgVHiGREQAADjM0JEIwYCgDUQAgHAy4wSz4iAAACcf/7+/mU2ohEDAcD8CIEA4EVGiWdEQAAAfKcsRzRiIACYGyEQALzEKPGMCAgAgO84HI4yH9GIgQBgXoRAAPACo8QzIiAAAL7ldDpNEdGIgQBgToRAACgho8QzIiAAAMZglohmluMAAJxGCASAEjBKPCMCAgBgLGaJaEY8DgCA5wiBAOAho8QzIiAAAMZkxIhmhhjodDrd3h4AkIcQCAAeMEo8M0sETE5OZqgHAJiS0SKaGWIgAMBzhEAAcJOR4plZImBSUpJsNpvb2wIAUBYYKaKZIQYyMwCA5wiBAOAGo8Uzs0TA6tWru70tAABliVEimhliIADAc4RAACgmI8Yzs0RAT44DAICyxggRjRgIANZGCASAYjJDPCMCAgDgW0aIaMRAALAuQiAAFIPT6Szz8YwICACAMRghohEDAcCaCIEAUAxOp7NMxzMiIAAAxmKEiEYMBADrIQQCQDH4+fmV2XhGBAQAwJiMENGIgQBgLYRAACglRohnREAAAIzNCBGNGAgA1kEIBIBSYIR4RgQEAOD8s9lsbm9jhIhGDAQAayAEAoCXGSGeEQEBAPANPz+/MhvRiIEAYH6EQADwIiPEMyIgAAC+VZYjGjEQAMyNEAgAXmKEeEYEBADAt+x2e5mPaMRAADAvQiAAeIER4hkREAAAYzBDRCMGAoA5EQIBoISMEM+IgAAAGIdZIppZjgMAcBohEABKwAjxjAgIAIDxmCWiGfE4AACeIwQCgIeMEM/MEgHtdrucTqfb2wEAYGRGjGhmiIHMDADgOUIgAHjAKPHMLBFw69atbm8HAEBZYLSIZoYYaLPZ3N4OAJCHEAgAbjJSPDNLBMzMzGSoBwCYlpEimhliIADAc4RAAHCD0eKZWSJgQkKC29sDAFCWGCWiEQMBwNoIgQBQTEaMZ2aJgJ4cBwAAZY1RIhoxEACsixAIAMVkhnhGBAQAwLeMEtGIgQBgTYRAACgGh8NR5uMZERAAAGMwSkQjBgKA9RACAaAYbDZbmY5nREAAAIzFKBGNGAgA1kIIBIBisNlsZTaeEQEBADAmo0Q0YiAAWAchEABKiRHiGREQAABjM0pEIwYCgDUQAgGgFBghnhEBAQA4//z83P8nllEiGjEQAMyPEAgAXmaEeEYEBADAN2w2W5mOaMRAADA3QiAAeJER4hkREAAA33E6nWU+ohEDAcC8CIEA4CVGiGdEQAAAfMvhcJgiohEDAcCcCIEA4AVGiGdEQAAAjMEsEc0sxwEAOI0QCAAlZIR4RgQEAMBYzBLRjHgcAADPEQIBoASMEM+IgAAAGJMRI5oZYqDT6XR7ewBAHkIgAHjICPHMLBEwIyODoR4AYEpGi2hmiIEAAM8RAgHAA0aJZ2aJgImJiW5vBwBAWWGkiGaGGGiz2dzeDgCQhxAIAG4yUjwzSwQMDQ1lqAcAmJpRIpoZYiAAwHOEQABwg9HimVkiYHx8vNvbAwBQ1hghohEDAcDaCIEAUExGjGdmiYCeHAcAAGWRESIaMRAArIsQCADF4HQ6TRHPiIAAAPieESIaMRAArIkQCADF4HQ6y3w8IwICAGAcRohoxEAAsB5CIAAUg81mK9PxjAgIAIDxGCGiEQMBwFoIgQBQDJ58o61R4hkREAAA4zJCRCMGAoB1EAIBoBQYJZ4RAQEAMD4jRDRiIABYAyEQALzMKPGMCAgAwPnn7+9fZiMaMRAAzI8QCABeZJR4RgQEAMB3ynJEIwYCgLkRAgHAS4wSz4iAAAD4jsPhKPMRjRgIAOZFCAQALzBKPCMCAgDgW06n0xQRjRgIAOZECASAEjJKPCMCAgBgDGaJaGY5DgDAaYRAACgBo8QzIiAAAMZilohmxOMAAHiOEAgAHjJKPCMCAgBgTEaMaGaIgU6n0+3tAQB5CIEA4AGjxDOzRMDk5GSGegCAKRktopkhBgIAPEcIBAA3GSmemSUCJiUlyWazub0tAABlgZEimhliIDMDAHiOEAgAbjBaPDNLBKxevbrb2wIAUJYYJaKZIQYCADxHCASAYjJiPDNLBPTkOAAAKGuMENGIgQBgbYRAACgmM8QzIiAAAL5lhIhGDAQA6yIEAkAxOJ3OMh/PiIAAABiDESIaMRAArIkQCADF4HQ6y3Q8IwICAGAsRohoxEAAsB5CIAAUg5+fX5mNZ0RAAACMyQgRjRgIANZCCASAUmKEeEYEBADA2IwQ0YiBAGAdhEAAKAVGiGdEQAAAzj+bzeb2NkaIaMRAALAGQiAAeJkR4hkREAAA3/Dz8yuzEY0YCADmRwgEAC8yQjwjAgIA4FtlOaIRAwHA3AiBAOAlRohnREAAAHzLbreX+YhGDAQA8yIEAoAXGCGeEQEBADAGM0Q0YiAAmBMhEABKyAjxjAgIAIBxmCWimeU4AACnEQIBoASMEM+IgAAAGI9ZIpoRjwMA4DlCIAB4yAjxzCwR0G63y+l0ur0dAABGZsSIZoYYyMwAAJ4jBAKAB4wSz8wSAbdu3er2dgAAlAVGi2hmiIE2m83t7QAAeQiBAOAmI8Uzs0TAzMxMhnoAgGkZKaKZIQYCADxHCAQANxgtnpklAiYkJLi9PQAAZYlRIhoxEACsjRAIAMVkxHhmlgjoyXEAAFDWGCWiEQMBwLoIgQBQTGaIZ0RAAAB8yygRjRgIANZECASAYnA4HGU+nhEBAQAwBqNENGIgAFgPIRAAisFms5XpeEYEBADAWIwS0YiBAGAthEAAKAabzVZm4xkREAAAYzJKRCMGAoB1EAIBoJQYIZ4RAQEAMDajRDRiIABYAyEQAEqBEeIZERAAgPPPz8/9f2IZJaIRAwHA/AiBAOBlRohnREAAAHzDZrOV6YhGDAQAcyMEAoAXGSGeEQEBAPAdp9NZ5iMaMRAAzIsQCABeYoR4RgQEAMC3HA6HKSIaMRAAzIkQCABeYIR4RgQEAMAYzBLRzHIcAIDTCIEAUEJGiGdEQAAAjMUsEc2IxwEA8BwhEABKwAjxjAgIAIAxGTGimSEGOp1Ot7cHAOQhBAKAh4wQz8wSATMyMhjqAQCmZLSIZoYYCADwHCEQADxglHhmlgiYmJjo9nYAAJQVRopoZoiBNpvN7e0AAHkIgQDgJiPFM7NEwNDQUIZ6AICpGSWimSEGAgA8RwgEADcYLZ6ZJQLGx8e7vT0AAGWNESIaMRAArI0QCADFZMR4ZpYI6MlxAABQFhkhohEDAcC6CIEAUAxOp9MU8YwICACA7xkhohEDAcCaCIEAUAxOp7PMxzMiIAAAxmGEiEYMBADrIQQCQDHYbLYyHc+IgAAAGI8RIhoxEACshRAIAMXgyTfaGiWeEQEBADAuI0Q0YiAAWAchEABKgVHiGREQAADjM0JEIwYCgDUQAgHAy4wSz4iAAACcf/7+/mU2ohEDAcD8CIEA4EVGiWdEQAAAfKcsRzRiIACYGyEQALzEKPGMCAgAgO84HI4yH9GIgQBgXoRAAPACo8QzIiAAAL7ldDpNEdGIgQBgToRAACgho8QzIiAAAMZglohmluMAAJxGCASAEjBKPCMCAgBgLGaJaEY8DgCA5wJ8vYAzhYeHa9u2bb5eBgAUEBMTo507d+a7zel0Kjs7W06nU5GRkUpNTXV7vw6HQ9nZ2QoJCVFQUJD27Nnj9j5ycnKUk5OjcuXKKSsrq8A6z8UoxxEdHa2srCy3twOMpEqVyr5eQplWpUplpaYe9PUygBLJysrM97s4MjJS2dnZSkxMVHBwsGw2m9v7LFeunA4fPqz09HQFBga6vX1QUJCcTqd2796t4OBg+fm5fz6IkY4jICCAfzcCMCRPTqg43wwVAm+/vYuvlwAA8JEWLZr7egkAfGzSpEm+XgKAMqBdu7a+XgIAlFlcGgwAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABhEAAAAAAAADAAgiBAAAAAAAAgAUQAgEAAAAAAAALIAQCAAAAAAAAFkAIBAAAAAAAACyAEAgAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABhEAAAAAAAADAAgiBAAAAAAAAgAUQAgEAAAAAAAALIAQCAAAAAAAAFkAIBAAAAAAAACyAEAgAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABhEAAAAAAAADAAgiBAAAAAAAAgAUQAgEAAAAAAAALIAQCAAAAAAAAFkAIBAAAAAAAACyAEAgAAAAAAABYQICvFwAAKDuWLVumjRs3qm3btmrcuLFsNpuvlwQAgGk5nU5t2LBBK1as0IUXXqgrrrjC10sCAJRxhEAAQLFt2vSXNm7cpI0bN6lmzZq68cYbCIIAAHjZqQD41Vdfa+/evZIkPz9/QiAAoMQIgQBQivbt26eDBw/6ehlec/HFF8nPz0+bNm3S3r17NW3adFWsWFFXXXWV2rfnHycAAJTU0qXL9MMPPygtLU2SFBAQoAsuuEBNmzbRH3/84ePVeU/lypVVo0YNXy8DACyHEAgApeTYsWMaP36CnE6nr5dSqtLS0jRv3jzVqBGrevXq+Xo5AACUWdu3b9e8efPy3Zabm6t169Zp3bp1PlpV6bDZbBo9epQiIyN9vRQAsBRCIACUkoiICLVu3VopKSm+XopX5eTk6O+//1Z6errrtujoaMXGxvpwVQAAlH2xsbGKjo7WkSNHXLeVK1dO5cuXV2BgoO8WVgqqVq2qiIgIXy8DACyHEAgApcTPz0/dut3l62V41ZIlS/TJJwvlcDgkSQ0bNtSNN96guLg4H68MAICyLyQkRKNGjdSOHTv01Vdfa/PmzUpPT1dGRoY6d+6kK6+80tdLBACUcYRAAECxbd68RQ6HgwAIAEApiouL06BBD+QLglu2JBICAQAlRggEABRbr149dfz4cVWqVMnXSwEAwPROBcFDhw5xGS0AwCsIgQCAYgsJCVFISIivlwEAgKXwBhwAwFv8fL0AAAAAAAAAAKWPEAgAAAAAAABYACEQAAAAAAAAsABCIAAAAAAAAGABhEAAAAAAAADAAgiBAAAAAAAAgAUQAgEAAAAAAAALIAQCAAAAAAAAFkAIBAAAAAAAACyAEAgAAAAAAABYACEQALxo0KAHdeLECa897kxpaWkaMmToWe/78suvNH/+Arf2V5ixY8cpKyvLK/sCAMBK1q1bp5EjR2ns2HHavz/Jo32kpaVp+fIVXl7Z2Xkyj5xp9erVmj59+lnvGz78Oe3bt8/jfZf2/gDAqgJ8vQAAgDHY7Xb5+/vrqaee9PVSAAAok1asWKEbbviPmjdv7vE+0tIOa8WKFWrXrq3b2576XQ4AQGEIgQBQSj75ZKG2bdsmu92ukJAQdet2l6pWreq6f/HiH7Rx40ZlZ2frxhtvUIsWLSRJu3fv1meffabMzCw5nU5dd911uuSSZud8vmPHjurNN6fp0KFDiowsp969eys8PFwOh0Offfa5Nm3aJEmKj49X586dFBAQoDlz5shm89PBgwd1/Hi6nn32WQ0a9KAmTBivw4cPa86c91z7T0tL01VXddCNN96oTZv+0ueffy6Hw6GwsDB17fpfxcTEKDFxq+bNm6f69etpx44dstsduueee1S7di0v/+0CAGAs8+bN17Zt25WSkqKlS5fpscceLfR3ut1u1xtvvKmMjAzl5OQoNjZW3brdpeDgYH300Yc6fPhvjR07TuXLl1f//vdr+PDn1K9fX9WoUUOSNH78BHXq1EkJCfGaPPkVxcbGavfu3QoKCtRDDz2kRYsW648/1shud6hcuXK66647VaFChSLXv3v3Hs2fP1/Z2dkKDAxQ585dVK9enCTpl19+0aJFiyVJ5ctH66677lJ0dHS+7Y8cOarp06erXbu2at26tSTp119/0/vvz1VmZqbatr1c11xzjaSiZ6QdO3bq008/VXZ2lpxO6eabb1LTpk3zPdeSJUu1Zs3v6tu3r8qVK1eyFw4ALIYQCACl5Nprr1Hnzp0kSb/99rvmz1+gBx4Y6LrfZpOefPIJHTp0SBMmTFRcXJxCQ0P1wQcfasCA/oqKitLx48c1fvwExcXVPefz7dq1W0OHDlVERLjeeuttrVixUtdff51Wrlyp3bt3a+jQIfLz89O0adP1448/6tprr5Uk7d27R4888ohCQkLy7a9GjRquswMTExM1d+4HatOmjdLT0/XOO+/o4YcfVmxsdf3666+aNestPf30MElSSkqK7r67m7p27arly1fof//7nwYNesArf6cAABjVHXfcrv3796tDhyt10UUX6cSJE4X+To+KilKvXr0UEREup9Opjz76WEuXLtV1112nrl3v1IIFC9w6Qz81NVWPPDJY/v7++vXX35SamqLHHntMfn5++uWXX/TRRx9pwIABhW6fm5urmTNn6q677tIFFzTS9u3bNXPmTD3//HNKS0vTwoWf6oknhio6OlrffPOt5s6dq4EDT880+/cn6e2331aXLp3VqFEj1+3p6cc0dOgQZWRk/HPscYqLiyt0RsrIyNCMGTPUu/d9ql+/vhwOhzIzM137czqdWrDgE6WlpWnQoEEKCgoq/gsEAJBECASAUrN58xYtXbpU2dnZcjqdysjIyHd/mzZtJEmVKlVS/fr1tG3bNkVEROjQoUOaOvWNfI9NSUlRpUqViny+Ro0aKSIiXJJUt25dJSUludZx2WWtFBgYKEm6/PI2WrZsmSsENmvWrEAEPFNSUpLee+999e9/v6Kjo7V+/XpVr15dsbHVJUktWrTQxx/P05EjRyRJlStXUp06df5ZRx0tXrz4XH9VAACYzs6dOwv9nR4ZGakff/xRGzdulN1uV1ZWlurWPfebfoVp0aKF65LgdevWac+e3Ro/foIkyeFwnHP7lJRU2Ww2XXBBXsSrV6+eIiPLad++fdq7d58uuKCR6wzAK65op2+++ca13+TkA5o+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",
|
||
"text/plain": [
|
||
"<Figure size 1300x350 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig, axes = plt.subplots(1, 2, figsize=(13, 3.5))\n",
|
||
"\n",
|
||
"# Panel (a): Label buffer — forward-looking\n",
|
||
"ax = axes[0]\n",
|
||
"ax.barh(1, 5, left=0, height=0.6, color=\"0.75\", edgecolor=\"0.5\")\n",
|
||
"ax.barh(1, 1.5, left=5, height=0.6, color=\"0.9\", edgecolor=\"0.7\", hatch=\"//\", linewidth=0.5)\n",
|
||
"ax.barh(1, 3, left=6.5, height=0.6, color=\"0.35\", edgecolor=\"0.2\")\n",
|
||
"ax.annotate(\n",
|
||
" \"\", xy=(6.3, 0.55), xytext=(5.2, 0.55), arrowprops=dict(arrowstyle=\"->\", color=\"0.4\", lw=1.5)\n",
|
||
")\n",
|
||
"ax.text(5.75, 0.45, \"label horizon\", ha=\"center\", va=\"center\", fontsize=8, color=\"0.4\")\n",
|
||
"ax.set_xlim(-0.5, 10)\n",
|
||
"ax.set_ylim(0.3, 1.7)\n",
|
||
"ax.set_yticks([])\n",
|
||
"ax.set_title(\"(a) Label Buffer (Purge)\")\n",
|
||
"ax.legend(\n",
|
||
" handles=[\n",
|
||
" Patch(facecolor=\"0.75\", label=\"Train\"),\n",
|
||
" Patch(facecolor=\"0.9\", hatch=\"//\", label=\"Buffer\"),\n",
|
||
" Patch(facecolor=\"0.35\", label=\"Validation\"),\n",
|
||
" ],\n",
|
||
" fontsize=7,\n",
|
||
" loc=\"upper right\",\n",
|
||
")\n",
|
||
"\n",
|
||
"# Panel (b): Feature buffer — backward-looking (CPCV scenario)\n",
|
||
"ax = axes[1]\n",
|
||
"ax.barh(1, 3, left=0, height=0.6, color=\"0.35\", edgecolor=\"0.2\")\n",
|
||
"ax.barh(1, 1.5, left=3, height=0.6, color=\"0.9\", edgecolor=\"0.7\", hatch=\"\\\\\\\\\", linewidth=0.5)\n",
|
||
"ax.barh(1, 5, left=4.5, height=0.6, color=\"0.75\", edgecolor=\"0.5\")\n",
|
||
"ax.annotate(\n",
|
||
" \"\", xy=(3.2, 0.55), xytext=(4.3, 0.55), arrowprops=dict(arrowstyle=\"->\", color=\"0.4\", lw=1.5)\n",
|
||
")\n",
|
||
"ax.text(3.75, 0.45, \"feature lookback\", ha=\"center\", va=\"center\", fontsize=8, color=\"0.4\")\n",
|
||
"ax.set_xlim(-0.5, 10)\n",
|
||
"ax.set_ylim(0.3, 1.7)\n",
|
||
"ax.set_yticks([])\n",
|
||
"ax.set_title(\"(b) Feature Buffer (Embargo)\")\n",
|
||
"ax.legend(\n",
|
||
" handles=[\n",
|
||
" Patch(facecolor=\"0.35\", label=\"Validation\"),\n",
|
||
" Patch(facecolor=\"0.9\", hatch=\"\\\\\\\\\", label=\"Buffer\"),\n",
|
||
" Patch(facecolor=\"0.75\", label=\"Train\"),\n",
|
||
" ],\n",
|
||
" fontsize=7,\n",
|
||
" loc=\"upper right\",\n",
|
||
")\n",
|
||
"\n",
|
||
"fig.tight_layout()\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cbf0c10f",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.009119,
|
||
"end_time": "2026-06-13T03:12:07.765819+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.756700+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"**(a)** In walk-forward, training precedes validation. The label buffer\n",
|
||
"removes training samples whose labels extend into the validation period.\n",
|
||
"\n",
|
||
"**(b)** In CPCV, a training block can follow a validation block. The feature\n",
|
||
"buffer removes training samples whose backward-looking features use\n",
|
||
"validation data."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "108e6b3e",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.007468,
|
||
"end_time": "2026-06-13T03:12:07.783074+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.775606+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 7. Calendar-Aware Cross-Validation\n",
|
||
"\n",
|
||
"A **critical subtlety**: financial markets don't trade every calendar day.\n",
|
||
"The NYSE has ~252 trading days per year, not 365. When we specify a label\n",
|
||
"horizon of 21 days for monthly forward returns, we mean **21 trading days**."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "875015e0",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.008069,
|
||
"end_time": "2026-06-13T03:12:07.796355+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.788286+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### The Problem: Naive Calendar-Day Purging\n",
|
||
"\n",
|
||
"January 2024 has 31 calendar days but only 21 NYSE trading days.\n",
|
||
"A naive 21-calendar-day purge before February 1 only removes 15 trading\n",
|
||
"days — allowing 6 trading days of leakage."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "eb2fa810",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:07.811365Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:07.811229Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:07.982243Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:07.981710Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.177949,
|
||
"end_time": "2026-06-13T03:12:07.982700+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.804751+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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iIiIiIiIWD0lsURERERERERExOopiSUiIiIiIiIiIlZPSSwREREREREREbF6SmKJiIiIiIiIiIjVUxJLRERERERERESsnp2lA8hse/fuIyoqytJh4OzsTPny5QDriQkexmWNMYH1HCvFlHFqUxlj7TGtXLmSe/fuWTiiJK6urjRp0kQxPUVyTGA9508xZZzaVMYopoxTm8oYxZRxalMZo5gyTm0qY6w9pv/af57EOnjwEPHx8f91NU9kb29P6dKlAIiKiuL06dPY2tpaLJ6EhASio6PNN4fWENPjcVljTGAdxyqtmC5duoS9vb3FYoqLi8PBwcGqYno8Lms4d/DitClri+nevXts374DOzvL/vYRHx+Pi4sLTZo0sdqY9u8/gIODg0Vjio2NxdfX1/xlwhrielFissY2ZW0xgXUcqxclJku3c0jZ1q0xJrDe86eYnh6XNcYE1nGsrPGaYI1/jx+PyxrOHbw4bcraYvqv/efvND4+nrx58/7X1TzR+fPnU7y2tbWlYcOGFooGDhw4wKlTp1Iss3RMkDoua4wJLB9XWjHZ29tTtmxZC0UER48eJSYmJsUyS8cEqeOy9LmDF6dNWWNMdnZ2tGjRwkIRJdm1axe3bt0yv7bGmBwcHKhSpYoFI4L9+/eTmJiYYpml43pRYrLGNmWNMYHl43pRYrJ0O4fUbd0aYwLrPH+KKW26TmWMNV4TrPHvMaSOy9LnDl6cNmWNMf2XNCeWiIiIiIiIiIhYPSWxRERERERERETE6imJJSIiIiIiIiIiVk9JLBERERERERERsXpKYomIiIiIiIiIiNVTEktERERERERERKyeklgiIiIiIiIiImL1lMQSERERERERERGrpySWiIiIiIiIiIhYPSWxRERERERERETE6tlZOoD0DB8zjSPHzlCqWBAf9eti6XAAuHX7LuOmLiA84j42Nja0aVmfqhVKWTSmyKhoPv92ComJiSQajTRrUIMGtSpZNKZksbFx9PnkW6qWL8mbr7ewdDgA9PxwBFmyOGJjMODi4swXg3paOiRu3Apj2twlhEdEYmNjYOiH3XFydLBoTKHXbzF++qKHr2/c4p23XqV8qSIWjAqWrdrM2s27ARMlixakS/uXMBgMFo1p6cqNrN+6F4MBWjWtQ62q5TI9hq9/nEXwiXOUKFqAAe92AuD0uRDGT19IQkICtaqW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",
|
||
"text/plain": [
|
||
"<Figure size 1200x400 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig, ax = plt.subplots(figsize=(12, 4))\n",
|
||
"\n",
|
||
"jan_dates = pd.date_range(\"2024-01-01\", \"2024-01-31\", freq=\"D\")\n",
|
||
"holidays = pd.to_datetime([\"2024-01-01\", \"2024-01-15\"]) # New Year's, MLK Day\n",
|
||
"\n",
|
||
"for i, d in enumerate(jan_dates):\n",
|
||
" is_weekend = d.dayofweek >= 5\n",
|
||
" is_holiday = d in holidays\n",
|
||
" is_non_trading = is_weekend or is_holiday\n",
|
||
"\n",
|
||
" color = \"0.9\" if is_non_trading else \"white\"\n",
|
||
" edge = \"0.7\" if is_non_trading else \"0.4\"\n",
|
||
" rect = Rectangle((i, 0), 0.9, 0.9, facecolor=color, edgecolor=edge, linewidth=0.5)\n",
|
||
" ax.add_patch(rect)\n",
|
||
" ax.text(i + 0.45, 0.45, str(d.day), ha=\"center\", va=\"center\", fontsize=7)\n",
|
||
"\n",
|
||
"# Naive purge region (Jan 11-31 = 21 calendar days before Feb 1)\n",
|
||
"for i in range(10, 31):\n",
|
||
" rect = Rectangle(\n",
|
||
" (i, 0),\n",
|
||
" 0.9,\n",
|
||
" 0.9,\n",
|
||
" facecolor=\"0.55\",\n",
|
||
" edgecolor=\"0.3\",\n",
|
||
" linewidth=1.2,\n",
|
||
" alpha=0.6,\n",
|
||
" zorder=2,\n",
|
||
" )\n",
|
||
" ax.add_patch(rect)\n",
|
||
"\n",
|
||
"# Correct additional purge (Jan 2-10)\n",
|
||
"for i in range(1, 10):\n",
|
||
" rect = Rectangle(\n",
|
||
" (i, 0),\n",
|
||
" 0.9,\n",
|
||
" 0.9,\n",
|
||
" facecolor=\"0.8\",\n",
|
||
" edgecolor=\"0.5\",\n",
|
||
" linewidth=1.2,\n",
|
||
" alpha=0.6,\n",
|
||
" zorder=2,\n",
|
||
" )\n",
|
||
" ax.add_patch(rect)\n",
|
||
"\n",
|
||
"ax.text(\n",
|
||
" 15.5,\n",
|
||
" 1.4,\n",
|
||
" \"Naive: 21 calendar days (only 15 trading days!)\",\n",
|
||
" ha=\"center\",\n",
|
||
" fontsize=9,\n",
|
||
" fontweight=\"bold\",\n",
|
||
")\n",
|
||
"ax.text(5, -1.2, \"Correct: extend purge to get\\n21 TRADING days\", ha=\"center\", fontsize=8)\n",
|
||
"\n",
|
||
"ax.set_xlim(-0.5, 31.5)\n",
|
||
"ax.set_ylim(-1.6, 1.9)\n",
|
||
"ax.set_aspect(\"equal\")\n",
|
||
"ax.axis(\"off\")\n",
|
||
"ax.set_title(\"January 2024: Naive vs Trading-Day-Aware Purging\", pad=14)\n",
|
||
"ax.legend(\n",
|
||
" handles=[\n",
|
||
" Rectangle((0, 0), 1, 1, facecolor=\"0.55\", edgecolor=\"0.3\", label=\"Naive purge only\"),\n",
|
||
" Rectangle((0, 0), 1, 1, facecolor=\"0.8\", edgecolor=\"0.5\", label=\"Additional correct purge\"),\n",
|
||
" Rectangle((0, 0), 1, 1, facecolor=\"0.9\", edgecolor=\"0.7\", label=\"Non-trading day\"),\n",
|
||
" ],\n",
|
||
" loc=\"lower right\",\n",
|
||
" bbox_to_anchor=(1.0, -0.05),\n",
|
||
" fontsize=7,\n",
|
||
" ncol=3,\n",
|
||
")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "68fb40ca",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.004376,
|
||
"end_time": "2026-06-13T03:12:07.991564+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.987188+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"**Rule**: Always count purge gaps in **trading days**, not calendar days.\n",
|
||
"`WalkForwardCV` handles this automatically when given a `calendar` parameter."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "a19a1bc6",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.004234,
|
||
"end_time": "2026-06-13T03:12:08.000038+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:07.995804+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Calendar-Aware Splits in Practice\n",
|
||
"\n",
|
||
"Passing `calendar='XNYS'` ensures `WalkForwardCV` counts the label buffer\n",
|
||
"in NYSE trading days, skipping weekends and holidays."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "bbfb7482",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.009572Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.009461Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.154677Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.154138Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.151037,
|
||
"end_time": "2026-06-13T03:12:08.155265+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.004228+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Walk-forward with 21 trading-day label buffer (NYSE calendar):\n",
|
||
"\n",
|
||
" Fold 1: train ends 2014-12-01, val starts 2015-01-02\n",
|
||
" gap = 22 trading days (32 calendar days)\n",
|
||
" Fold 2: train ends 2018-07-31, val starts 2018-08-30\n",
|
||
" gap = 22 trading days (30 calendar days)\n",
|
||
" Fold 3: train ends 2022-03-29, val starts 2022-04-29\n",
|
||
" gap = 22 trading days (31 calendar days)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Calendar-aware splits: 21 trading-day label buffer\n",
|
||
"cv_nyse = WalkForwardCV(\n",
|
||
" n_splits=3, test_size=252, expanding=True, label_horizon=21, calendar=\"XNYS\"\n",
|
||
")\n",
|
||
"splits_nyse = list(cv_nyse.split(df_dates))\n",
|
||
"\n",
|
||
"print(\"Walk-forward with 21 trading-day label buffer (NYSE calendar):\\n\")\n",
|
||
"for i, (tr, va) in enumerate(splits_nyse):\n",
|
||
" gap_sessions = va[0] - tr[-1]\n",
|
||
" train_end_date = dates[tr[-1]]\n",
|
||
" val_start_date = dates[va[0]]\n",
|
||
" gap_calendar = (val_start_date - train_end_date).days\n",
|
||
" print(f\" Fold {i + 1}: train ends {train_end_date.date()}, val starts {val_start_date.date()}\")\n",
|
||
" print(f\" gap = {gap_sessions} trading days ({gap_calendar} calendar days)\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6c84875d",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.004933,
|
||
"end_time": "2026-06-13T03:12:08.167752+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.162819+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"Each fold's label buffer spans 22 trading sessions, which covers ~30 calendar\n",
|
||
"days due to weekends and holidays. A naive implementation that counts 21\n",
|
||
"*calendar* days would only purge ~15 trading days — leaving 6 days of label\n",
|
||
"leakage. The `calendar='XNYS'` parameter ensures the gap is measured in\n",
|
||
"actual trading days."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "62b977b0",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.004239,
|
||
"end_time": "2026-06-13T03:12:08.176337+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.172098+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 8. Nested Walk-Forward\n",
|
||
"\n",
|
||
"Standard walk-forward CV tunes hyperparameters on one validation period\n",
|
||
"(e.g., 2019–2023), then tests once on the holdout (2024–2025). By the time\n",
|
||
"we reach 2025, those hyperparameters may be stale.\n",
|
||
"\n",
|
||
"**Nested walk-forward** adds an **outer loop** that rolls the test window\n",
|
||
"forward, retuning hyperparameters at each step.\n",
|
||
"\n",
|
||
"- **Inner loop**: Walk-forward CV selects hyperparameters $\\lambda^*$\n",
|
||
"- **Outer loop**: Advances the test window and reruns the inner loop\n",
|
||
"\n",
|
||
"This produces **multiple test points**, each with freshly tuned\n",
|
||
"hyperparameters — capturing tuning instability over time."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "88d4d328",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.187267Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.187108Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.193586Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.192992Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.01351,
|
||
"end_time": "2026-06-13T03:12:08.194135+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.180625+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Outer</th>\n",
|
||
" <th>Inner Fold</th>\n",
|
||
" <th>Train</th>\n",
|
||
" <th>Validation</th>\n",
|
||
" <th>Test</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2014–2018</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>2024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2014–2019</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>2024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2014–2020</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>2024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2014–2021</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>2024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2014–2022</td>\n",
|
||
" <td>2023</td>\n",
|
||
" <td>2024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2014–2019</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>2025</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2014–2020</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>2025</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2014–2021</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>2025</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2014–2022</td>\n",
|
||
" <td>2023</td>\n",
|
||
" <td>2025</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2014–2023</td>\n",
|
||
" <td>2024</td>\n",
|
||
" <td>2025</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Outer Inner Fold Train Validation Test\n",
|
||
"0 1 1 2014–2018 2019 2024\n",
|
||
"1 1 2 2014–2019 2020 2024\n",
|
||
"2 1 3 2014–2020 2021 2024\n",
|
||
"3 1 4 2014–2021 2022 2024\n",
|
||
"4 1 5 2014–2022 2023 2024\n",
|
||
"5 2 1 2014–2019 2020 2025\n",
|
||
"6 2 2 2014–2020 2021 2025\n",
|
||
"7 2 3 2014–2021 2022 2025\n",
|
||
"8 2 4 2014–2022 2023 2025\n",
|
||
"9 2 5 2014–2023 2024 2025"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Two outer folds: test on 2024 (tune on 2019-2023), test on 2025 (tune on 2020-2024)\n",
|
||
"nested_folds = []\n",
|
||
"\n",
|
||
"for fold in range(5):\n",
|
||
" val_year = 2019 + fold\n",
|
||
" nested_folds.append(\n",
|
||
" {\n",
|
||
" \"Outer\": 1,\n",
|
||
" \"Inner Fold\": fold + 1,\n",
|
||
" \"Train\": f\"2014–{val_year - 1}\",\n",
|
||
" \"Validation\": str(val_year),\n",
|
||
" \"Test\": 2024,\n",
|
||
" }\n",
|
||
" )\n",
|
||
"\n",
|
||
"for fold in range(5):\n",
|
||
" val_year = 2020 + fold\n",
|
||
" nested_folds.append(\n",
|
||
" {\n",
|
||
" \"Outer\": 2,\n",
|
||
" \"Inner Fold\": fold + 1,\n",
|
||
" \"Train\": f\"2014–{val_year - 1}\",\n",
|
||
" \"Validation\": str(val_year),\n",
|
||
" \"Test\": 2025,\n",
|
||
" }\n",
|
||
" )\n",
|
||
"\n",
|
||
"pd.DataFrame(nested_folds)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3e7d6ad2",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.009135,
|
||
"end_time": "2026-06-13T03:12:08.210875+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.201740+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Nested Walk-Forward Timeline\n",
|
||
"\n",
|
||
"Each outer fold runs a full inner walk-forward CV to select\n",
|
||
"$\\lambda^*$, then evaluates on its test year."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "1fbd868f",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.264110Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.263912Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.355122Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.354646Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.131378,
|
||
"end_time": "2026-06-13T03:12:08.355449+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.224071+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1300x450 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig, ax = plt.subplots(figsize=(13, 4.5))\n",
|
||
"\n",
|
||
"outer_folds = [\n",
|
||
" {\"test_year\": 2024, \"val_years\": list(range(2019, 2024)), \"color_test\": \"0.2\"},\n",
|
||
" {\"test_year\": 2025, \"val_years\": list(range(2020, 2025)), \"color_test\": \"0.2\"},\n",
|
||
"]\n",
|
||
"\n",
|
||
"y = 0\n",
|
||
"outer_boundaries = []\n",
|
||
"for oi, outer in enumerate(outer_folds):\n",
|
||
" # Inner folds\n",
|
||
" for fi, val_yr in enumerate(outer[\"val_years\"]):\n",
|
||
" y += 1\n",
|
||
" train_s = pd.Timestamp(\"2014-01-02\", tz=\"UTC\")\n",
|
||
" train_e = pd.Timestamp(f\"{val_yr - 1}-12-31\", tz=\"UTC\")\n",
|
||
" val_s = pd.Timestamp(f\"{val_yr}-01-02\", tz=\"UTC\")\n",
|
||
" val_e = pd.Timestamp(f\"{val_yr}-12-31\", tz=\"UTC\")\n",
|
||
"\n",
|
||
" ax.barh(y, train_e - train_s, left=train_s, height=0.5, color=\"0.8\", edgecolor=\"0.6\")\n",
|
||
" ax.barh(y, val_e - val_s, left=val_s, height=0.5, color=\"0.5\", edgecolor=\"0.3\")\n",
|
||
"\n",
|
||
" # Test bar (spans all inner folds visually)\n",
|
||
" test_s = pd.Timestamp(f\"{outer['test_year']}-01-02\", tz=\"UTC\")\n",
|
||
" test_e = pd.Timestamp(f\"{outer['test_year']}-12-31\", tz=\"UTC\")\n",
|
||
" y_mid = y - len(outer[\"val_years\"]) / 2 + 0.5\n",
|
||
" ax.barh(\n",
|
||
" y_mid,\n",
|
||
" test_e - test_s,\n",
|
||
" left=test_s,\n",
|
||
" height=len(outer[\"val_years\"]) * 0.55,\n",
|
||
" color=\"0.2\",\n",
|
||
" edgecolor=\"0.1\",\n",
|
||
" alpha=0.3,\n",
|
||
" )\n",
|
||
" ax.text(\n",
|
||
" test_s + (test_e - test_s) / 2,\n",
|
||
" y_mid,\n",
|
||
" f\"Test {outer['test_year']}\",\n",
|
||
" ha=\"center\",\n",
|
||
" va=\"center\",\n",
|
||
" fontsize=9,\n",
|
||
" fontweight=\"bold\",\n",
|
||
" color=\"white\",\n",
|
||
" )\n",
|
||
"\n",
|
||
" # Outer-fold group label (left of training bars)\n",
|
||
" ax.text(\n",
|
||
" pd.Timestamp(\"2013-04-01\", tz=\"UTC\"),\n",
|
||
" y_mid,\n",
|
||
" f\"Outer\\nfold {oi + 1}\",\n",
|
||
" ha=\"right\",\n",
|
||
" va=\"center\",\n",
|
||
" fontsize=8,\n",
|
||
" fontweight=\"bold\",\n",
|
||
" color=\"0.3\",\n",
|
||
" )\n",
|
||
"\n",
|
||
" outer_boundaries.append(y + 0.5)\n",
|
||
" # Separator between outer folds\n",
|
||
" if oi < len(outer_folds) - 1:\n",
|
||
" y += 1.0\n",
|
||
"\n",
|
||
"# Draw horizontal dividers between outer folds\n",
|
||
"for boundary in outer_boundaries[:-1]:\n",
|
||
" ax.axhline(boundary + 0.5, color=\"0.5\", linestyle=\"--\", linewidth=0.8, alpha=0.7)\n",
|
||
"\n",
|
||
"ax.set_yticks([])\n",
|
||
"ax.xaxis.set_major_formatter(mdates.DateFormatter(\"%Y\"))\n",
|
||
"ax.xaxis.set_major_locator(mdates.YearLocator(2))\n",
|
||
"ax.set_title(\"Nested Walk-Forward: 2 Outer Folds × 5 Inner Folds\")\n",
|
||
"ax.legend(\n",
|
||
" handles=[\n",
|
||
" Patch(facecolor=\"0.8\", label=\"Train (inner)\"),\n",
|
||
" Patch(facecolor=\"0.5\", label=\"Validation (inner)\"),\n",
|
||
" Patch(facecolor=\"0.2\", alpha=0.3, label=\"Test (outer)\"),\n",
|
||
" ],\n",
|
||
" loc=\"upper left\",\n",
|
||
")\n",
|
||
"fig.tight_layout()\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7e1f1081",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.00479,
|
||
"end_time": "2026-06-13T03:12:08.365176+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.360386+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"Each outer fold produces test predictions with freshly selected $\\lambda^*$.\n",
|
||
"If $\\lambda^*_1 \\neq \\lambda^*_2$, that signals hyperparameter instability —\n",
|
||
"a red flag for production deployment."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "86873911",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.009193,
|
||
"end_time": "2026-06-13T03:12:08.381859+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.372666+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 9. Combinatorial Purged CV (CPCV)\n",
|
||
"\n",
|
||
"Walk-forward CV produces **one backtest path** — a single sequence of\n",
|
||
"out-of-sample predictions. That path might reflect luck.\n",
|
||
"\n",
|
||
"**CPCV** divides time into $N$ contiguous blocks, holds out $k$ blocks for\n",
|
||
"validation, trains on the remaining $N - k$ (with purging at boundaries),\n",
|
||
"and repeats for all $\\binom{N}{k}$ combinations. The validation predictions\n",
|
||
"are then assembled into **multiple complete backtest paths**, each covering\n",
|
||
"every time block exactly once.\n",
|
||
"\n",
|
||
"Each path is a complete out-of-sample backtest — one prediction per block,\n",
|
||
"assembled from different splits so no block's prediction depends on its own\n",
|
||
"training data."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "4a698591",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.397046Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.396918Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.399697Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.399122Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.009333,
|
||
"end_time": "2026-06-13T03:12:08.400170+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.390837+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"N=6 blocks, k=2 held out → 15 splits, 5 backtest paths\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"N, K = 6, 2\n",
|
||
"n_splits = comb(N, K) # C(6,2) = 15\n",
|
||
"n_paths = (K * n_splits) // N # = 5\n",
|
||
"\n",
|
||
"print(f\"N={N} blocks, k={K} held out → {n_splits} splits, {n_paths} backtest paths\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "9003d6d5",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.414099Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.413978Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.703187Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.702434Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.297094,
|
||
"end_time": "2026-06-13T03:12:08.703708+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.406614+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"marker": {
|
||
"color": "gray",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"name": "Purged",
|
||
"showlegend": true,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "qACpAA==",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x",
|
||
"y": {
|
||
"bdata": "+93Q5Jw36D/JfAMoWJnjPw==",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"name": "Training",
|
||
"showlegend": true,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "qgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AAABAQECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wE=",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x",
|
||
"y": {
|
||
"bdata": "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",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "coral",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"name": "Validation",
|
||
"showlegend": true,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgB/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAKEAogCjAKQApQCmAKcA",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x",
|
||
"y": {
|
||
"bdata": "NoUM6VNtxj94K9J4z+EHQDrfxdHRhNc/v+Ab0d4Q1L/ZqwzdZX/tPzlKb7xb5N4/uxtuANTi2j+ZbG3vUWvjP+XvzRzNcwBABWTSeB4Y8r/yeA/q/E/ePxffHArqpO2/Z70RdcLG4T/HfUNB4WXtv/Wmt0sjttq/CgDCzsDi0r+XNw/84znvPy4n85L6Y+0/mVb+V3Xu878GvlvkUiCsP0GKwc/gtOa/oEuTC9Yi9L92nx/3NsfLvwX88pcuvtO/9yRMVeppA0Dp/JkgnbXbP/EvAqa4Cva//XGx7qAS4r+wzKgCllfwP+BZCHwhtQBARgWhCTBg+b9wAJKXKxT+v83TAi557/0/JGx3TXDv2D+EbtjWDcnrv/lbDHWuG+E/36oc6QIWBcDa0SZO86ZrP9cIE6gF+9Q/rX+/+J6T7T+nSkr26jjwv7Uc6gOY77U/vNj6GhSd7b8RQaMbNVjQP/eTpFStpuy/kXNq+1Ie2r+ORi8/uN3vvz7v+6sb1uQ/cCnoeW546z/xzXf9CwjOv1HIojPuk6M/EeHxMG4t9792GaT25i3TvwjhmmhrtKm/s3M8XmL3BEAC457vncrxvy/UvxxFbfc/rYXYXkTm7z/YidZk8vXRP7wZmztPI/w/GJXgeJPQ1z/3NZX4++fYP9Sw51ahMqu/qULm9ryT8z9Vm8RSI4vxP9qt9F+MBeS/ZUNC8qIb9b9Y9Kr/RPvJv8YNtHnqmem/aBt3giVDsL97qvTti8zzP6pIQCluRN2/KYZ5PPLspb87Y9roJ7WtP7qef4VYJus/kY95HaH5AcBBso+8Fmrjv/9cQhJYC8s/8onn/YUz8z/yIjdnVHvfv/C4WiFcBv6/pTQsGa3U4z8ZqiOB41Tkv3b0HujfCPO/5kDHLqP647/cEDXkhp7Hv13ok3sRWuO/70Mj0f+kAcBJRj8rxLTsP891DF/jZfQ/87GtpUTZ5D+Fo7nj9TPyv/3bXH55ysm/3ugyOhi2er9FSwbaUinjP8hgtJcLY+U/3q3qDFp+578zrDYpqf20P5YkuwcVRN0/pIPmWAxL9z+ZsItMUYvmP3L5Xs/zP+k/spV9cal1tT8A5M+bPZH2PzTe8LuNOdo/pqWlOwiO67/hBN4RNHT2P61yaj45VeY/vNlbT9Va3L9XEmlFA7Dev4IRy/4X+9I/WHDr1tGk3T8y5FF630DJP09+2TZ77NM/qmQGgQYz+z8WoLFuCiXxP27s9z6/Zsg/rs34XTcf7j8d09/IN4Xwv4bHbQSjd9k/E8gIN+vy/D9IX96K7ejLv1jETDDRH+u/KvNShOnd5L9ibUANI2/xv+nCUQHFHOm/djqWmWe217/nVbvXM332vyCeQEyB/I8/IekqYXTf7D8PIk+wVgztv08U1qj8Tvg/ggJppmhY4D+cXXIRQn3wP2Io3wz7DOW/dnX7SUVY6z8od3muj3jxv4AIrlPofOw/WitK3NT+xT/g0AnnO7ThPz80CEo8z/K/O9iGgmmk7L9CsTRafhzjP4DV6+ndWO6/f3/3ACyl3T9w833ky9/1vy3YFj8+JOs/6s8HXmq4878SUz3rcKzhP0IE7CkrBeQ/Qb6dafRL5r+SBuEt9p/iP83i4AYWq9A/NQrCRjE+4b/bW4U8CiPwv6VegDLqZv+/Q5yMl6pg1j8HC3uhbgn5v162djp6aLg/vNEQ6FXc0L+LSzqhibvlP/+gjaW2VNO/LmwGK6wV1b/tMnocfGvnP5JsSzuXcdU/a0ciMuY71D8mOdPtegjeP0suHRO0kfi/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "gray",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VABVAKMApAClAKYApwD8AP0A",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x2",
|
||
"y": {
|
||
"bdata": "5kDHLqP647/cEDXkhp7Hv+0yehx8a+c/kmxLO5dx1T9rRyIy5jvUPyY50+16CN4/Sy4dE7SR+L88Fq4oiaDGvw22Ofsjx/i/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y2"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAP4A/wAAAQEBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x2",
|
||
"y": {
|
||
"bdata": "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",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y2"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "coral",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAqACpAKoAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x2",
|
||
"y": {
|
||
"bdata": "NoUM6VNtxj94K9J4z+EHQDrfxdHRhNc/v+Ab0d4Q1L/ZqwzdZX/tPzlKb7xb5N4/uxtuANTi2j+ZbG3vUWvjP+XvzRzNcwBABWTSeB4Y8r/yeA/q/E/ePxffHArqpO2/Z70RdcLG4T/HfUNB4WXtv/Wmt0sjttq/CgDCzsDi0r+XNw/84znvPy4n85L6Y+0/mVb+V3Xu878GvlvkUiCsP0GKwc/gtOa/oEuTC9Yi9L92nx/3NsfLvwX88pcuvtO/9yRMVeppA0Dp/JkgnbXbP/EvAqa4Cva//XGx7qAS4r+wzKgCllfwP+BZCHwhtQBARgWhCTBg+b9wAJKXKxT+v83TAi557/0/JGx3TXDv2D+EbtjWDcnrv/lbDHWuG+E/36oc6QIWBcDa0SZO86ZrP9cIE6gF+9Q/rX+/+J6T7T+nSkr26jjwv7Uc6gOY77U/vNj6GhSd7b8RQaMbNVjQP/eTpFStpuy/kXNq+1Ie2r+ORi8/uN3vvz7v+6sb1uQ/cCnoeW546z/xzXf9CwjOv1HIojPuk6M/EeHxMG4t9792GaT25i3TvwjhmmhrtKm/s3M8XmL3BEAC457vncrxvy/UvxxFbfc/rYXYXkTm7z/YidZk8vXRP7wZmztPI/w/GJXgeJPQ1z/3NZX4++fYP9Sw51ahMqu/qULm9ryT8z9Vm8RSI4vxP9qt9F+MBeS/ZUNC8qIb9b9Y9Kr/RPvJv8YNtHnqmem/aBt3giVDsL97qvTti8zzP6pIQCluRN2/KYZ5PPLspb87Y9roJ7WtP7qef4VYJus/kY95HaH5AcBBso+8Fmrjv/9cQhJYC8s/8onn/YUz8z/yIjdnVHvfv/C4WiFcBv6/pTQsGa3U4z8ZqiOB41Tkv3b0HujfCPO/+93Q5Jw36D/JfAMoWJnjP6cYOodVRPC/2e0Cagc+z78X1bW1FSCkv+sXNs0wN8G/rMB2MfZd1T8wu8ja4Ob2P4AX1KDqTvE/zoqPjdn+9L8iAAZT/+fjP0OCn5VPQ/U/JyeLhnjB2D+a/+vjp3TxP+LvVz8hGQBArR7SQh1h8D/+SnIUWOnPP9DtGbGuuPA/bqZePK+Lwj+TKrwUCnqYP/ZQbyKSfda/wgPlub0D+T/DjUpQkTDqv9oD7wSUhPg/YCb6F8b93z/a1x3fjmP2v2LscuaQh9c/ScaYstrMAMCNmnVjKQTkPzd5mvnQU+w/hbkjepT04r+/GKBh0qC/P5IV05U6RP8/daxbthMv4L9ZT/4USfHwv3UcFK/ktPc/dA1u08Fm/z+y4SS3YkZuP4gRI93zLvA/izoZc6929T9eiRFLbsLnvwyh3TRAD9+/Eaw3eamx8z+IiUWI0fX6P1HIv7geA+I/c/dabnAn7L+ncJ6XAMv/P1pdJ662/eC/1ENyvOVy1b+nP9Ty3OjVPyZSO1HX3fg/HJFbbcVT6z/ZwRIHKI3aPwAHXu+Ept0/Dp9w/Y1Hpj8tyy5mR9zhP8m2d/6JPATAlhUd2p370r+wMyMdo+POP10ZZr6NavK/DbTrb4W52D/65Y3rHCzKvzIBk69tFvw/4ys8uxYr+T8wD2opws/dvxtaF2+mTsO/AyjoRzrusr85LsIl/efcv4TgJiSU9sg/UH7gwdhD6L+smv4aABfyvwYfsBZA7eM/5RsDOhsl5D++tGxn9Lzpv8N7rW7Apuw/lbR0f+I15L8c3Hb42zPQPyV6NBZCQOo/EzZGhKo1ob8RKXOgeRrdP1TT5XWXhuC/505KJ9Elyb9aJJoRmlnKv7pYyUX44+e/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y2"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "gray",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VABVAPcA+AD5APoA+wBQAVEB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x3",
|
||
"y": {
|
||
"bdata": "5kDHLqP647/cEDXkhp7HvxEpc6B5Gt0/VNPldZeG4L/nTkon0SXJv1okmhGaWcq/uljJRfjj578nIZ4JMfnmv+cxCbfUgc2/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y3"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2AFIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x3",
|
||
"y": {
|
||
"bdata": "XeiTexFa47/vQyPR/6QBwElGPyvEtOw/z3UMX+Nl9D/zsa2lRNnkP4WjueP1M/K//dtcfnnKyb/e6DI6GLZ6v0VLBtpSKeM/yGC0lwtj5T/ereoMWn7nvzOsNimp/bQ/liS7BxVE3T+kg+ZYDEv3P5mwi0xRi+Y/cvlez/M/6T+ylX1xqXW1PwDkz5s9kfY/NN7wu4052j+mpaU7CI7rv+EE3hE0dPY/rXJqPjlV5j+82VtP1Vrcv1cSaUUDsN6/ghHL/hf70j9YcOvW0aTdPzLkUXrfQMk/T37ZNnvs0z+qZAaBBjP7PxagsW4KJfE/buz3Pr9myD+uzfhdNx/uPx3T38g3hfC/hsdtBKN32T8TyAg36/L8P0hf3ort6Mu/WMRMMNEf678q81KE6d3kv2JtQA0jb/G/6cJRAcUc6b92OpaZZ7bXv+dVu9czffa/IJ5ATIH8jz8h6SphdN/sPw8iT7BWDO2/TxTWqPxO+D+CAmmmaFjgP5xdchFCffA/YijfDPsM5b92dftJRVjrPyh3ea6PePG/gAiuU+h87D9aK0rc1P7FP+DQCec7tOE/PzQISjzP8r872IaCaaTsv0KxNFp+HOM/gNXr6d1Y7r9/f/cALKXdP3DzfeTL3/W/LdgWPz4k6z/qzwdearjzvxJTPetwrOE/QgTsKSsF5D9Bvp1p9Evmv5IG4S32n+I/zeLgBhar0D81CsJGMT7hv9tbhTwKI/C/pV6AMupm/79DnIyXqmDWPwcLe6FuCfm/XrZ2OnpouD+80RDoVdzQv4tLOqGJu+U//6CNpbZU078ubAYrrBXVv+0yehx8a+c/kmxLO5dx1T9rRyIy5jvUPyY50+16CN4/Sy4dE7SR+L/73dDknDfoP8l8AyhYmeM/pxg6h1VE8L/Z7QJqBz7PvxfVtbUVIKS/6xc2zTA3wb+swHYx9l3VPzC7yNrg5vY/gBfUoOpO8T/Oio+N2f70vyIABlP/5+M/Q4KflU9D9T8nJ4uGeMHYP5r/6+OndPE/4u9XPyEZAECtHtJCHWHwP/5KchRY6c8/0O0Zsa648D9upl48r4vCP5MqvBQKepg/9lBvIpJ91r/CA+W5vQP5P8ONSlCRMOq/2gPvBJSE+D9gJvoXxv3fP9rXHd+OY/a/Yuxy5pCH1z9Jxpiy2swAwI2adWMpBOQ/N3ma+dBT7D+FuSN6lPTiv78YoGHSoL8/khXTlTpE/z91rFu2Ey/gv1lP/hRJ8fC/dRwUr+S09z90DW7TwWb/P7LhJLdiRm4/iBEj3fMu8D+LOhlzr3b1P16JEUtuwue/DKHdNEAP378RrDd5qbHzP4iJRYjR9fo/Uci/uB4D4j9z91pucCfsv6dwnpcAy/8/Wl0nrrb94L/UQ3K85XLVv6c/1PLc6NU/JlI7Udfd+D8ckVttxVPrP9nBEgcojdo/AAde74Sm3T8On3D9jUemPy3LLmZH3OE/ybZ3/ok8BMCWFR3anfvSv7AzIx2j484/XRlmvo1q8r8NtOtvhbnYP/rljescLMq/MgGTr20W/D/jKzy7Fiv5PzAPainCz92/G1oXb6ZOw78DKOhHOu6yvzkuwiX959y/hOAmJJT2yD9QfuDB2EPov6ya/hoAF/K/Bh+wFkDt4z/lGwM6GyXkP760bGf0vOm/w3utbsCm7D+VtHR/4jXkvxzcdvjbM9A/JXo0FkJA6j8TNkaEqjWhvwvRQoon4PI/fKJs04TYyD8rPNAetf/gv+2jCcbV994/o/XiF/2i8b8YecV1ss3lP7kV30OfJto/Ako+TSKz07+nEWfisdXqv+Q5ZquwX+y/hRAePzkd4T9wy5l156nzP1U8XzfTZOS/GjErLzVW3T85HbY4O7IAwHqzOj4wteK/0nu3s+nNn7/z0LRlIBztv03whjfc9+2/fhR/O3Ne5b87nBIhSbPSPy/W0rNl+se/yyHgxuXnAcC/hEGkMfcAwBJKf4Vwa+O/zr66rbxK3T8g2qjR4/oFwBBR2UaU+9+/OKOqvgXX4L8sTpOsoTb2PzhrY4YypNi/qDEMO+SC2D9LRoDGthTCP2HORXBmCwHABIH/TCeV6D+rwE3ZHJLLPz2DH5i8Q+A/hLqLUO9oD0DwiKJnQ6wAwGfqo4NbmPs/uwPJR4pl0r/Wz+bFmGPSP5vRRYphTae/GQ1uJrAm278xBd9DEjziv50Sws6rFtU/jOYY7VdG+L+REzKavgToP4ypcNvtotq/MkBWlsMU8r/axve6As3cv0LeSX9IHfQ/DVpkDHch4b/P9tVx5/DWPxYgYGr+Y+e/hBDLUuVA6D9lSOjsre/lP0atIdvmk/0/SE8jHuF4xr+A89fCnmXlP8FzHkv0Grk/BJOuDOS79D8UuYLHrADnv/buxGEV1+c/Vmu4S9fryL/eiXjpom6wv5RSCEAXfbc/an1Y57Qk0D8C3w3DL8G9v1xl3rm4e8s/WU5nuPg/+T9cRHLHzYjvP/Unvkod0Os/ErSTQY8n3b+BRnAuqXTsvwVq73nSke4/F8x1SJMI7D8bD2IgD5D3PwqTfi3PU+O/DIbOr9lhzb//tMW+Uzv6v2cCSiE/Htm/jxjj1ufj7z9qS2FvD9vdv7NcxHvPfuQ/ygQG4WdiyL8LCZCwWb3UP5aLkqXxXPK/Ht58V0nQtT80Qyey2O0HwOLhhps27Me/LSesHGsW+r8elfvnwEvzP3FkeWKF4Og/aFZi9+/d3T8UlyqgClb4P/l08i2GXe6/MoDUHDP1+z+5X0Nng9TtP7CPJpNxR86/b0UNCIAr8j/pW3nTYLPxv/8024VrYuq/6OC/J5F547/cVY6oYu3gv/znn/yo5/C/5XPXjL+R8z9M5wAMEpHQv81Msf9wj9Y/sjg/glFA4r9Vhy3tMCH9v7R1laieSNE/3KhQrJiY/r9eSVQ3AJKxvxuXZk+e5PW/FScN6+HL/z87FtEn4intP4dj8DKuErs/xTdEfiQ49D8Chqk+BRXrv8cHrt0uZOE/elgcZ2OTyT8RL7R7tOXQPyKO/lePW/Q/iY9AR5Nw5z8ujFrQcnrSP86Wkj9revq/VOEbArO47r/jfbhI2mm/vxA73n1A57c/lqs0gFAV8r8jFREkHUsDQEqbsmkmQ/g/sw/No41E4z/Q9lH7AXGyP3xX0typKcu/SSLIsx127r9imh1lw9WzP0vwl4IEf9A/0H1SVkDe879+Usp7JWPVP2EgjkyH38O/AlLCN2GG/r+6h2glRojrv/Fl31eDeNq/bmwV+fcz/j/NfYt/SM/hP+Qd++shXvW/wvLt8zcb3z+5XtfTwcH4vznewdqzUvE/U2v5Augm3r+0WFuQivi3vzxxpYt2NvU/isB60ziY9L+TUBuZmFr2v4j1k37YrOK/vsZfJDOd8D/tqZfUPU/4v7OLuDFBqAbAxbWKZ8nf3L+hj29S3KfhP8NJHKpFNPM/2V27jW+k3b9AHpFD0FTav1VXx51gdvI/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y3"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "coral",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMA/AD9AP4A/wAAAQEBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8B",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x3",
|
||
"y": {
|
||
"bdata": "NoUM6VNtxj94K9J4z+EHQDrfxdHRhNc/v+Ab0d4Q1L/ZqwzdZX/tPzlKb7xb5N4/uxtuANTi2j+ZbG3vUWvjP+XvzRzNcwBABWTSeB4Y8r/yeA/q/E/ePxffHArqpO2/Z70RdcLG4T/HfUNB4WXtv/Wmt0sjttq/CgDCzsDi0r+XNw/84znvPy4n85L6Y+0/mVb+V3Xu878GvlvkUiCsP0GKwc/gtOa/oEuTC9Yi9L92nx/3NsfLvwX88pcuvtO/9yRMVeppA0Dp/JkgnbXbP/EvAqa4Cva//XGx7qAS4r+wzKgCllfwP+BZCHwhtQBARgWhCTBg+b9wAJKXKxT+v83TAi557/0/JGx3TXDv2D+EbtjWDcnrv/lbDHWuG+E/36oc6QIWBcDa0SZO86ZrP9cIE6gF+9Q/rX+/+J6T7T+nSkr26jjwv7Uc6gOY77U/vNj6GhSd7b8RQaMbNVjQP/eTpFStpuy/kXNq+1Ie2r+ORi8/uN3vvz7v+6sb1uQ/cCnoeW546z/xzXf9CwjOv1HIojPuk6M/EeHxMG4t9792GaT25i3TvwjhmmhrtKm/s3M8XmL3BEAC457vncrxvy/UvxxFbfc/rYXYXkTm7z/YidZk8vXRP7wZmztPI/w/GJXgeJPQ1z/3NZX4++fYP9Sw51ahMqu/qULm9ryT8z9Vm8RSI4vxP9qt9F+MBeS/ZUNC8qIb9b9Y9Kr/RPvJv8YNtHnqmem/aBt3giVDsL97qvTti8zzP6pIQCluRN2/KYZ5PPLspb87Y9roJ7WtP7qef4VYJus/kY95HaH5AcBBso+8Fmrjv/9cQhJYC8s/8onn/YUz8z/yIjdnVHvfv/C4WiFcBv6/pTQsGa3U4z8ZqiOB41Tkv3b0HujfCPO/PBauKImgxr8Ntjn7I8f4v9YfUiAQb9+/Lxjda2Y70r+vXLfCP2XQvzCQCmhj6c6/L/zspI6fr78ZjSF6K6/eP1orJjsL/Os/w4XsceDK5L9NpkaKT0Dzv8oE+cI2rPC/bBBDKVUu379RYLL94IXWv0G8S8rOo+i/AxDM0+S89L+Rq0FpFTHdv5C0Acz8OMc/dXH9O3sK4z/vX+TeaNbhv7A322qObtq/Iz84NoOn7b8UZSWByxigvyfdms5TJuu/AJHJIxBX4j9uER6+6JL8v22wdiwsBNe/zYCat1dF0z/Qlb2x44fHPxeWzjtViwVAqy9qpB9j1j+/W42NmxDwvyRRL0tYcLi/mg1+RoFr/L97nktnL6K0v++xES1lqOq/MG8TjOBK7T82IGd81ZXhv3fJoP1e5L2/aIvxZX1W5L8SDI3LVdL7P3pko9E9j9S/D8OcVSdS/T9U6wj/hw3qP35LGWcu2t4/cIMr6lKZ1z+q4kWV+TPZPzz32jO/1/6/OZlRvDnZ0b+GF8a6iAvrPxCNxjcNCam/6RRLWah79r/gR8qSwdSqvy0CVCUERPs/0f89ukTz8z8qXuVQ/b6vv+2NGMFFcu4/VA2P3Nl017/zEWDaDkP7v/37KLI5le2/bXRAp5cB+T8RYHJHGonRv/+c5Ms0J8+/R+fFi4ww078hVLXtV3f+P0Tq4X7tA/o/K17d2Q/AAUDpd6Dsl1vEvwsxxPmC69I/8r9X+ipE+L92Oyj+haH3PyUiWpw5r/K/rVp3Ok2/yz/sBGAYjY7xvwxYUT7/1+K/tOTwlNrK6r+5zZTRtnPjv5XKUUF+QOG/cNvz/2qL4b860Dfhq6rqP/NUrJuErfG/ggc4lLM6zD+WQnC8wnzzPy9bQMgabOC/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y3"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "gray",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VABVAEsBTAFNAU4BTwGkAaUB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x4",
|
||
"y": {
|
||
"bdata": "5kDHLqP647/cEDXkhp7HvzrQN+Grquo/81Ssm4St8b+CBziUszrMP5ZCcLzCfPM/L1tAyBps4L+PGOPW5+PvP2pLYW8P292/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y4"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "steelblue",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "VgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AAABAQECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x4",
|
||
"y": {
|
||
"bdata": "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",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y4"
|
||
},
|
||
{
|
||
"marker": {
|
||
"color": "coral",
|
||
"size": 6
|
||
},
|
||
"mode": "markers",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": {
|
||
"bdata": "AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMB",
|
||
"dtype": "i2"
|
||
},
|
||
"xaxis": "x4",
|
||
"y": {
|
||
"bdata": "NoUM6VNtxj94K9J4z+EHQDrfxdHRhNc/v+Ab0d4Q1L/ZqwzdZX/tPzlKb7xb5N4/uxtuANTi2j+ZbG3vUWvjP+XvzRzNcwBABWTSeB4Y8r/yeA/q/E/ePxffHArqpO2/Z70RdcLG4T/HfUNB4WXtv/Wmt0sjttq/CgDCzsDi0r+XNw/84znvPy4n85L6Y+0/mVb+V3Xu878GvlvkUiCsP0GKwc/gtOa/oEuTC9Yi9L92nx/3NsfLvwX88pcuvtO/9yRMVeppA0Dp/JkgnbXbP/EvAqa4Cva//XGx7qAS4r+wzKgCllfwP+BZCHwhtQBARgWhCTBg+b9wAJKXKxT+v83TAi557/0/JGx3TXDv2D+EbtjWDcnrv/lbDHWuG+E/36oc6QIWBcDa0SZO86ZrP9cIE6gF+9Q/rX+/+J6T7T+nSkr26jjwv7Uc6gOY77U/vNj6GhSd7b8RQaMbNVjQP/eTpFStpuy/kXNq+1Ie2r+ORi8/uN3vvz7v+6sb1uQ/cCnoeW546z/xzXf9CwjOv1HIojPuk6M/EeHxMG4t9792GaT25i3TvwjhmmhrtKm/s3M8XmL3BEAC457vncrxvy/UvxxFbfc/rYXYXkTm7z/YidZk8vXRP7wZmztPI/w/GJXgeJPQ1z/3NZX4++fYP9Sw51ahMqu/qULm9ryT8z9Vm8RSI4vxP9qt9F+MBeS/ZUNC8qIb9b9Y9Kr/RPvJv8YNtHnqmem/aBt3giVDsL97qvTti8zzP6pIQCluRN2/KYZ5PPLspb87Y9roJ7WtP7qef4VYJus/kY95HaH5AcBBso+8Fmrjv/9cQhJYC8s/8onn/YUz8z/yIjdnVHvfv/C4WiFcBv6/pTQsGa3U4z8ZqiOB41Tkv3b0HujfCPO/JyGeCTH55r/nMQm31IHNvwvRQoon4PI/fKJs04TYyD8rPNAetf/gv+2jCcbV994/o/XiF/2i8b8YecV1ss3lP7kV30OfJto/Ako+TSKz07+nEWfisdXqv+Q5ZquwX+y/hRAePzkd4T9wy5l156nzP1U8XzfTZOS/GjErLzVW3T85HbY4O7IAwHqzOj4wteK/0nu3s+nNn7/z0LRlIBztv03whjfc9+2/fhR/O3Ne5b87nBIhSbPSPy/W0rNl+se/yyHgxuXnAcC/hEGkMfcAwBJKf4Vwa+O/zr66rbxK3T8g2qjR4/oFwBBR2UaU+9+/OKOqvgXX4L8sTpOsoTb2PzhrY4YypNi/qDEMO+SC2D9LRoDGthTCP2HORXBmCwHABIH/TCeV6D+rwE3ZHJLLPz2DH5i8Q+A/hLqLUO9oD0DwiKJnQ6wAwGfqo4NbmPs/uwPJR4pl0r/Wz+bFmGPSP5vRRYphTae/GQ1uJrAm278xBd9DEjziv50Sws6rFtU/jOYY7VdG+L+REzKavgToP4ypcNvtotq/MkBWlsMU8r/axve6As3cv0LeSX9IHfQ/DVpkDHch4b/P9tVx5/DWPxYgYGr+Y+e/hBDLUuVA6D9lSOjsre/lP0atIdvmk/0/SE8jHuF4xr+A89fCnmXlP8FzHkv0Grk/BJOuDOS79D8UuYLHrADnv/buxGEV1+c/Vmu4S9fryL/eiXjpom6wv5RSCEAXfbc/an1Y57Qk0D8C3w3DL8G9v1xl3rm4e8s/WU5nuPg/+T9cRHLHzYjvP/Unvkod0Os/ErSTQY8n3b+BRnAuqXTsvwVq73nSke4/F8x1SJMI7D8bD2IgD5D3PwqTfi3PU+O/DIbOr9lhzb//tMW+Uzv6v2cCSiE/Htm/",
|
||
"dtype": "f8"
|
||
},
|
||
"yaxis": "y4"
|
||
}
|
||
],
|
||
"layout": {
|
||
"height": 500,
|
||
"margin": {
|
||
"l": 80
|
||
},
|
||
"showlegend": true,
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "white",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "#C8D4E3",
|
||
"linecolor": "#C8D4E3",
|
||
"minorgridcolor": "#C8D4E3",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermap": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermap"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0.0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1.0,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "white",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "#C8D4E3"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "white",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"radialaxis": {
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "white",
|
||
"gridcolor": "#DFE8F3",
|
||
"gridwidth": 2,
|
||
"linecolor": "#EBF0F8",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "#EBF0F8"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "white",
|
||
"caxis": {
|
||
"gridcolor": "#DFE8F3",
|
||
"linecolor": "#A2B1C6",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "#EBF0F8",
|
||
"linecolor": "#EBF0F8",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "#EBF0F8",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"title": {
|
||
"text": "CPCV: First 4 of 15 Splits (N=6, k=2)"
|
||
},
|
||
"width": 900,
|
||
"xaxis": {
|
||
"anchor": "y",
|
||
"domain": [
|
||
0.0,
|
||
1.0
|
||
],
|
||
"matches": "x4",
|
||
"showticklabels": false
|
||
},
|
||
"xaxis2": {
|
||
"anchor": "y2",
|
||
"domain": [
|
||
0.0,
|
||
1.0
|
||
],
|
||
"matches": "x4",
|
||
"showticklabels": false
|
||
},
|
||
"xaxis3": {
|
||
"anchor": "y3",
|
||
"domain": [
|
||
0.0,
|
||
1.0
|
||
],
|
||
"matches": "x4",
|
||
"showticklabels": false
|
||
},
|
||
"xaxis4": {
|
||
"anchor": "y4",
|
||
"domain": [
|
||
0.0,
|
||
1.0
|
||
],
|
||
"title": {
|
||
"text": "Sample Index"
|
||
}
|
||
},
|
||
"yaxis": {
|
||
"anchor": "x",
|
||
"domain": [
|
||
0.81,
|
||
1.0
|
||
],
|
||
"title": {
|
||
"standoff": 8,
|
||
"text": "Split 1"
|
||
}
|
||
},
|
||
"yaxis2": {
|
||
"anchor": "x2",
|
||
"domain": [
|
||
0.54,
|
||
0.73
|
||
],
|
||
"title": {
|
||
"standoff": 8,
|
||
"text": "Split 2"
|
||
}
|
||
},
|
||
"yaxis3": {
|
||
"anchor": "x3",
|
||
"domain": [
|
||
0.27,
|
||
0.46
|
||
],
|
||
"title": {
|
||
"standoff": 8,
|
||
"text": "Split 3"
|
||
}
|
||
},
|
||
"yaxis4": {
|
||
"anchor": "x4",
|
||
"domain": [
|
||
0.0,
|
||
0.19
|
||
],
|
||
"title": {
|
||
"standoff": 8,
|
||
"text": "Split 4"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAH0CAYAAABl8+PTAAAgAElEQVR4XuydBZgWVRfH/9sJu8TS3dLSgmBjK4iEYmBRFirYCghioaCIiAkoiihggNSngAiCtDTSId25/T3/O++878y8M28su7Bx7vP4+bk7c+N378ze/5xzzwnJzMzMhBQhIASEgBAQAkJACAgBISAEhIAQKHAEQkQQFrg5lwELASEgBISAEBACQkAICAEhIAQUARGEshCEgBAQAkJACAgBISAEhIAQEAIFlIAIwgI68TJsISAEhIAQEAJCQAgIASEgBISACEJZA0JACAgBISAEhIAQEAJCQAgIgQJKQARhAZ14GbYQEAJCQAgIASEgBISAEBACQkAEoawBISAEhIAQEAJCQAgIASEgBIRAASUggrCATrwMWwgIASEgBISAEBACQkAICAEhIIJQ1oAQEAJCQAgIASEgBISAEBACQqCAEhBBWEAnXoYtBISAEBACQkAICAEhIASEgBAQQShrQAgIASEgBISAEBACQkAICAEhUEAJiCAsoBMvwxYCQkAICAEhIASEgBAQAkJACIgglDUgBISAEBACQkAICAEhIASEgBAooAREEBbQiZdhCwEhIASEgBAQAkJACAgBISAERBDKGhACQkAICAEhIASEgBAQAkJACBRQAiIIC+jEy7CFgBAQAkJACAgBISAEhIAQEAIiCGUNCAEhIASEgBAQAkJACAgBISAECigBEYQFdOJl2EJACAgBISAEhIAQEAJCQAgIARGEsgaEgBAQAkJACAgBISAEhIAQEAIFlIAIwgI68TJsISAEhIAQEAJCQAgIASEgBISACEJZA0JACAgBISAEhIAQEAJCQAgIgQJKQARhAZ14GbYQEAJCQAgIASEgBISAEBACQkAEoawBISAEhIAQEAJCQAgIASEgBIRAASUggrCATrwMWwgIASEgBISAEBACQkAICAEhIIJQ1oAQEAJCQAgIASEgBISAEBACQqCAEhBBWEAnXoYtBISAEBACQkAICAEhIASEgBAQQShrQAgIASEgBISAEBACQkAICAEhUEAJiCAsoBMvwxYCQkAICAEhIASEgBAQAkJACIgglDUgBISAEBACQkAICAEhIASEgBAooAREEBbQiZdhCwEhIASEgBAQAkJACAgBISAERBDKGhACQkAICAEhIASEgBAQ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L1m5AYx62a3zDejXq0uungimoWC012CDIeWGQfV9bZQ6b8iIxQ1qV80NXZI+CAEhIASEgBAQAvmMgAjCfDahMhwhIASEgBAQAkJACAgBISAEhECgBEQQBkpKrhMCQkAICAEhIASEgBAQAkJACOQzAiII89mEynCEgBAQAkJACAgBISAEhIAQEAKBEhBBGCgpuU4ICAEhIASEgBAQAkJACAgBIZDPCIggzGcTKsMRAkJACAgBISAEhIAQEAJCQAgESkAEYaCk5DohIASEgBAQAkJACAgBISAEhEA+IyCCMJ9NqAxHCAgBISAEhIAQEAJCQAgIASEQKAERhIGSkuuEgBAQAkJACAgBISAEhIAQEAL5jIAIwnw2oTIcISAEhIAQEAJCQAgIASEgBIRAoAREEAZKSq4TAkJACAgBISAEhIAQEAJCQAjkMwIiCPPZhMpwhIAQEAJCQAgIASEgBISAEBACgRIQQRgoKblOCAgBISAEhIAQEAJCQAgIASGQzwiIIMxnEyrDEQJCQAgIASEgBISAEBACQkAIBEpABGGgpOQ6ISAEhIAQEAJCQAgIASEgBIRAPiMggjCfTagMRwgIASEgBISAEBACQkAICAEhECgBEYSBkpLrhIAQEAJCQAgIASEgBISAEBAC+YyACMJ8NqEyHCEgBISAEBACQkAICAEhIASEQKAERBAGSkquEwJCQAgIASEgBISAEBACQkAI5DMCIgjz2YTKcISAEBACQkAICAEhIASEgBAQAoESEEEYKCm5TggIASEgBISAEBACQkAICAEhkM8IiCDMZxMqwxECQkAICAEhIASEgBAQAkJACARKQARhoKTkOiEgBISAEBACQkAICAEhIASEQD4jIIIwn02oDEcICAEhIASEgBAQAkJACAgBIRAoARGEgZKS64SAEBACQkAICAEhIASEgBAQAvmMgAjCfDahMhwhIASEgBAQAkJACAgBISAEhECgBEQQBkpKrhMCQkAICAEhIASEgBAQAkJACOQzAiII89mEynCEgBAQAkJACAgBISAEhIAQEAKBEhBBGCgpuU4ICAEhIASEgBAQAkJACAgBIZDPCIggzGcTKsMRAkJACAgBISAEhIAQEAJCQAgESkAEYaCk5DohIASEgBAQAkJACAgBISAEhEA+IyCCMJ9NqAxHCAgBISAEhIAQEAJCQAgIASEQKAER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"
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Visualize first 4 splits\n",
|
||
"set_global_seeds(SEED)\n",
|
||
"X_viz = np.random.randn(N_VIZ, 5)\n",
|
||
"y_viz = np.random.randn(N_VIZ)\n",
|
||
"\n",
|
||
"cv_cpcv = CombinatorialCV(n_groups=6, n_test_groups=2, label_horizon=5, embargo_size=2)\n",
|
||
"splits_cpcv = list(cv_cpcv.split(X_viz))\n",
|
||
"\n",
|
||
"fig = make_subplots(rows=4, cols=1, shared_xaxes=True, vertical_spacing=0.08)\n",
|
||
"\n",
|
||
"for split_idx in range(min(4, len(splits_cpcv))):\n",
|
||
" train_idx, val_idx = splits_cpcv[split_idx]\n",
|
||
" split_type = np.zeros(N_VIZ)\n",
|
||
" split_type[train_idx] = 1\n",
|
||
" split_type[val_idx] = 2\n",
|
||
"\n",
|
||
" for stype, (color, label) in enumerate(\n",
|
||
" [(\"gray\", \"Purged\"), (\"steelblue\", \"Training\"), (\"coral\", \"Validation\")]\n",
|
||
" ):\n",
|
||
" mask = split_type == stype\n",
|
||
" if np.any(mask):\n",
|
||
" fig.add_trace(\n",
|
||
" go.Scatter(\n",
|
||
" x=np.arange(N_VIZ)[mask],\n",
|
||
" y=y_viz[mask],\n",
|
||
" mode=\"markers\",\n",
|
||
" marker=dict(color=color, size=6),\n",
|
||
" name=label if split_idx == 0 else None,\n",
|
||
" showlegend=(split_idx == 0),\n",
|
||
" ),\n",
|
||
" row=split_idx + 1,\n",
|
||
" col=1,\n",
|
||
" )\n",
|
||
" fig.update_yaxes(title_text=f\"Split {split_idx + 1}\", row=split_idx + 1, col=1)\n",
|
||
"\n",
|
||
"fig.update_layout(\n",
|
||
" title=f\"CPCV: First 4 of {n_splits} Splits (N={N}, k={K})\",\n",
|
||
" height=500,\n",
|
||
" width=900,\n",
|
||
" template=\"plotly_white\",\n",
|
||
" showlegend=True,\n",
|
||
" margin=dict(l=80),\n",
|
||
")\n",
|
||
"fig.update_xaxes(title_text=\"Sample Index\", row=4, col=1)\n",
|
||
"fig.update_yaxes(title_standoff=8)\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "08eded50",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.011803,
|
||
"end_time": "2026-06-13T03:12:08.723386+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.711583+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"Gray regions are samples removed by the label buffer (purge) and feature\n",
|
||
"buffer (embargo) at block boundaries. With $N=6$, $k=2$: 15 splits produce\n",
|
||
"5 independent backtest paths.\n",
|
||
"\n",
|
||
"If all paths show similar Sharpe ratios → robust. If they vary wildly →\n",
|
||
"path-dependent (possibly overfit). Bailey et al. (2014) formalize this into\n",
|
||
"the **Probability of Backtest Overfitting (PBO)** — the fraction of paths\n",
|
||
"whose in-sample rank doesn't hold out-of-sample. We return to PBO in\n",
|
||
"Chapter 17 when assembling full backtest results."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cdfd0e0f",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.011347,
|
||
"end_time": "2026-06-13T03:12:08.746437+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.735090+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## 10. Putting It Together\n",
|
||
"\n",
|
||
"### CV Method Comparison\n",
|
||
"\n",
|
||
"| Method | Paths | Label Buffer | Feature Buffer | When to Use |\n",
|
||
"|---|---|---|---|---|\n",
|
||
"| Walk-Forward | 1 | Yes | No (train < val) | Standard evaluation |\n",
|
||
"| Nested Walk-Forward | 1 per test year | Yes | No | Multi-year test with retuning |\n",
|
||
"| CPCV | Multiple | Yes | Yes | Robustness testing (Ch17) |"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "8d0fc931",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.006002,
|
||
"end_time": "2026-06-13T03:12:08.758201+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.752199+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### From Config to Protocol\n",
|
||
"\n",
|
||
"`WalkForwardConfig` encodes all CV design decisions in a single object.\n",
|
||
"Each case study's `config/setup.yaml` stores these commitments; downstream\n",
|
||
"notebooks load them via `get_cv_config()`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "f5ba284a",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.771103Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.770988Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.776105Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.775366Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.012695,
|
||
"end_time": "2026-06-13T03:12:08.776650+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.763955+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Parameter</th>\n",
|
||
" <th>Value</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>n_splits</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>label_horizon</td>\n",
|
||
" <td>21</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>embargo_td</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>align_to_sessions</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>session_col</td>\n",
|
||
" <td>session_date</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>timestamp_col</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>filter_non_trading</td>\n",
|
||
" <td>True</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>isolate_groups</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>test_size</td>\n",
|
||
" <td>252</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>train_size</td>\n",
|
||
" <td>1260</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10</th>\n",
|
||
" <td>step_size</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>11</th>\n",
|
||
" <td>test_period</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>12</th>\n",
|
||
" <td>test_start</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>13</th>\n",
|
||
" <td>test_end</td>\n",
|
||
" <td>None</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14</th>\n",
|
||
" <td>fold_direction</td>\n",
|
||
" <td>forward</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>15</th>\n",
|
||
" <td>calendar_id</td>\n",
|
||
" <td>NYSE</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Parameter Value\n",
|
||
"0 n_splits 5\n",
|
||
"1 label_horizon 21\n",
|
||
"2 embargo_td None\n",
|
||
"3 align_to_sessions False\n",
|
||
"4 session_col session_date\n",
|
||
"5 timestamp_col None\n",
|
||
"6 filter_non_trading True\n",
|
||
"7 isolate_groups False\n",
|
||
"8 test_size 252\n",
|
||
"9 train_size 1260\n",
|
||
"10 step_size None\n",
|
||
"11 test_period None\n",
|
||
"12 test_start None\n",
|
||
"13 test_end None\n",
|
||
"14 fold_direction forward\n",
|
||
"15 calendar_id NYSE"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"config = WalkForwardConfig(\n",
|
||
" n_splits=5,\n",
|
||
" test_size=252,\n",
|
||
" train_size=1260,\n",
|
||
" label_horizon=21,\n",
|
||
" fold_direction=\"forward\",\n",
|
||
" calendar_id=\"NYSE\",\n",
|
||
")\n",
|
||
"\n",
|
||
"config_table = pd.DataFrame(\n",
|
||
" {\n",
|
||
" \"Parameter\": list(config.model_dump().keys()),\n",
|
||
" \"Value\": [str(v) for v in config.model_dump().values()],\n",
|
||
" }\n",
|
||
")\n",
|
||
"config_table"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "55016f61",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.009599,
|
||
"end_time": "2026-06-13T03:12:08.796898+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.787299+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Loading a Case Study Protocol\n",
|
||
"\n",
|
||
"Each case study stores its CV protocol in `case_studies/{id}/config/setup.yaml`.\n",
|
||
"The `get_cv_config()` function loads it into a `WalkForwardConfig`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "13cb905f",
|
||
"metadata": {
|
||
"execution": {
|
||
"iopub.execute_input": "2026-06-13T03:12:08.815262Z",
|
||
"iopub.status.busy": "2026-06-13T03:12:08.815046Z",
|
||
"iopub.status.idle": "2026-06-13T03:12:08.828129Z",
|
||
"shell.execute_reply": "2026-06-13T03:12:08.827580Z"
|
||
},
|
||
"papermill": {
|
||
"duration": 0.022495,
|
||
"end_time": "2026-06-13T03:12:08.828594+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.806099+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"ETF case study CV protocol:\n",
|
||
" n_splits: 8\n",
|
||
" train_size: 10Y\n",
|
||
" test_size: 1Y\n",
|
||
" embargo_td: P21D\n",
|
||
" label_horizon: P21D\n",
|
||
" timestamp_col: timestamp\n",
|
||
" calendar_id: NYSE\n",
|
||
" test_start: 2024-01-01\n",
|
||
" test_end: 2025-12-31\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"etf_config = get_cv_config(\"etfs\")\n",
|
||
"\n",
|
||
"print(\"ETF case study CV protocol:\")\n",
|
||
"for k, v in etf_config.model_dump().items():\n",
|
||
" print(f\" {k}: {v}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7ab4ecf6",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.009216,
|
||
"end_time": "2026-06-13T03:12:08.845711+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.836495+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"This protocol specifies 8 walk-forward splits with 10-year rolling\n",
|
||
"training windows, 1-year test windows, and a 21-trading-day label buffer\n",
|
||
"(matching the 1-month forward return labels). The holdout period\n",
|
||
"(2024–2025) is sealed for final confirmation."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6c81a87a",
|
||
"metadata": {
|
||
"papermill": {
|
||
"duration": 0.005785,
|
||
"end_time": "2026-06-13T03:12:08.874640+00:00",
|
||
"exception": false,
|
||
"start_time": "2026-06-13T03:12:08.868855+00:00",
|
||
"status": "completed"
|
||
}
|
||
},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"## Key Takeaways\n",
|
||
"\n",
|
||
"### Decision-Time Admissibility\n",
|
||
"- The central constraint: only information available at decision time $t$\n",
|
||
" can enter training for predictions at $t$\n",
|
||
"- Five leakage channels: label, standardization, threshold, survivorship,\n",
|
||
" point-in-time\n",
|
||
"\n",
|
||
"### Walk-Forward CV\n",
|
||
"- Training always precedes validation (respects temporal order)\n",
|
||
"- Expanding (all history) vs rolling (fixed window) — depends on regime beliefs\n",
|
||
"\n",
|
||
"### Label Buffer (Purging)\n",
|
||
"- Forward-looking labels can leak validation data into training\n",
|
||
"- Remove training samples within one label horizon of validation start\n",
|
||
"- Count in **trading days** using a proper market calendar\n",
|
||
"\n",
|
||
"### Feature Buffer (Embargo)\n",
|
||
"- Backward-looking features can leak validation data into training\n",
|
||
"- Matters in CPCV / k-fold where training follows validation in time\n",
|
||
"- Zero in pure walk-forward (training always precedes validation)\n",
|
||
"\n",
|
||
"### Nested Walk-Forward\n",
|
||
"- Outer loop advances test window; inner loop retunes hyperparameters\n",
|
||
"- Captures tuning instability — $\\lambda^*$ should be stable across periods\n",
|
||
"\n",
|
||
"### Combinatorial Purged CV\n",
|
||
"- Multiple backtest paths from the same data reveal robustness\n",
|
||
"- Connects to Probability of Backtest Overfitting (Bailey et al. 2014)\n",
|
||
"- Full treatment in Chapter 17\n",
|
||
"\n",
|
||
"**Next**: See `case_studies/*/01_feasibility_analysis.py` for applying these concepts\n",
|
||
"to real trading strategies."
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"jupytext": {
|
||
"cell_metadata_filter": "tags,-all"
|
||
},
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.14.3"
|
||
},
|
||
"papermill": {
|
||
"default_parameters": {},
|
||
"duration": 11.120246,
|
||
"end_time": "2026-06-13T03:12:11.498698+00:00",
|
||
"environment_variables": {},
|
||
"exception": null,
|
||
"input_path": "06_strategy_definition/01_cv_foundations.ipynb",
|
||
"output_path": "06_strategy_definition/01_cv_foundations.ipynb",
|
||
"parameters": {},
|
||
"start_time": "2026-06-13T03:12:00.378452+00:00",
|
||
"version": "2.7.0"
|
||
},
|
||
"ml4t_provenance": {
|
||
"source_py_blob": "31618a4bec053cbf86ad3bc12098e5d00e2363db",
|
||
"executed_at": "2026-06-13T03:12:11.712960+00:00",
|
||
"executor": "cpu-local",
|
||
"production": true,
|
||
"parameters": {},
|
||
"notes": "executed-state finalization batch (2026-06-13 run)"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|