# 时间序列验证与信息泄漏

按一个预测原点重建训练、预处理与标签成熟，解释未来缩放不必改善成绩。

Entry: zh-qt21 | Node: QT21 | Language: zh | Editorial revision: 2026-09-21

## Teaching instructions
请以具有微积分、线性代数与基本概率背景的高年级本科至研究生为对象，围绕“时间序列验证与信息泄漏”完成一次学习。先实际取得并读完 required_readings 的完整指定单元，记录实际版本/定位/假设/支持范围；目录、摘要或入口不抵扣阅读。可先读取本篇所有必读以备课，但不要把它们全变成读者额外作业。来源打不开时先尝试同版作者可读入口；仍缺承重单元应说明具体缺口，不伪称已读，也不要求无关新批准。先要求读者逐项填写预测2010-01的时间账本；随后比较p12 OLS/ridge未来尺度，最后完成2020-03时点的三期标签成熟题。反馈先定位违规信息，再讨论分数；received_at未知不能补造。 先让读者尝试，再根据本文完整解析反馈；引用范围内解释，不把模拟当市场事实、不把最优目标当收益保证。只在读者选择分支时启用 optional_readings。完成后用一项新输入迁移检验，明确其能独立完成什么。

Before substantive teaching, actually retrieve every required reading unit for the selected scope. Read its complete designated section, including necessary assumptions, tables and footnotes. A working URL or an editorial access date is not a runtime reading receipt. Record the actual version, location, scope and what it supports. If unavailable, use a previously verified equivalent source; if the required unit remains unavailable, identify that gap rather than teach it from memory. Start runtime_reading_log empty. Once reading is complete, use a substantive diagnostic or follow the reader's request for direct explanation. Advance one complete reasoning task at a time; skip mastered basics. Distinguish original facts, supplied teaching assumptions and inference.

## Required readings and runtime protocol
```json
{
  "export_mode": "public",
  "required_readings": [
    {
      "source_id": "QTDE-TSCV",
      "access": {
        "kind": "html_full_text",
        "uri": "https://otexts.com/fpp3/tscv.html",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "§5.10 全节",
        "scope": "单步/多步rolling origin及代码",
        "purpose": "核原点与标签期限"
      },
      "version": "3e online; accessed 2026-09-21",
      "supports": "单步/多步rolling origin及代码",
      "title": "Forecasting: Principles and Practice, §5.10",
      "authors": [
        "Rob J Hyndman",
        "George Athanasopoulos"
      ]
    },
    {
      "source_id": "QTDE-ACCURACY",
      "access": {
        "kind": "html_full_text",
        "uri": "https://otexts.com/fpp3/accuracy.html",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "§5.8 全节",
        "scope": "训练残差和新样本误差",
        "purpose": "区分调参与评价"
      },
      "version": "3e online; accessed 2026-09-21",
      "supports": "训练残差和新样本误差",
      "title": "Forecasting: Principles and Practice, §5.8",
      "authors": [
        "Rob J Hyndman",
        "George Athanasopoulos"
      ]
    },
    {
      "source_id": "QTDE-BEA-A",
      "access": {
        "kind": "html_full_text",
        "uri": "https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-advance-estimate-and-annual-update",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "发布时间与GDP开篇、版本说明完整单元",
        "scope": "2020Q2初值与时间",
        "purpose": "重建公共信息版本"
      },
      "version": "2020-07-30 08:30 EDT",
      "supports": "2020Q2初值与时间",
      "title": "GDP 2020Q2 Advance Estimate",
      "authors": [
        "U.S. Bureau of Economic Analysis"
      ]
    },
    {
      "source_id": "QTDE-BEA-B",
      "access": {
        "kind": "html_full_text",
        "uri": "https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-second-estimate-corporate-profits-2nd-quarter",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "发布时间、GDP开篇及Updates to GDP完整表",
        "scope": "2020Q2次值与修订",
        "purpose": "区分发布和接收"
      },
      "version": "2020-08-27 08:30 EDT",
      "supports": "2020Q2次值与修订",
      "title": "GDP 2020Q2 Second Estimate",
      "authors": [
        "U.S. Bureau of Economic Analysis"
      ]
    },
    {
      "source_id": "QTDE-FRENCH",
      "access": {
        "kind": "html_full_text",
        "uri": "https://mba.tuck.dartmouth.edu/pages/Faculty/ken.french/Data_Library/det_30_ind_port.html",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "30 Industry Portfolios完整构造说明；随包432行冻结CSV",
        "scope": "原始组合、频率、单位",
        "purpose": "识别重建快照"
      },
      "version": "frozen CRSP database vintage 202607; CIZ reconstruction",
      "supports": "原始组合、频率、单位",
      "title": "30 Industry Portfolios",
      "authors": [
        "Kenneth R. French"
      ]
    },
    {
      "source_id": "QTDE-FRENCH-REGIME",
      "access": {
        "kind": "html_full_text",
        "uri": "https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "页面FIZ/CIZ生产说明完整单元",
        "scope": "版本与生产方法",
        "purpose": "防止将当前历史重建当PIT"
      },
      "version": "accessed 2026-09-21; source transition 2025-01",
      "supports": "版本与生产方法",
      "title": "French Data Library：FIZ/CIZ methodology",
      "authors": [
        "Kenneth R. French"
      ]
    }
  ],
  "optional_readings": [
    {
      "source_id": "QTDE-KMZ",
      "access": {
        "kind": "pdf_full_text",
        "uri": "https://economics.yale.edu/sites/default/files/2024-01/The%20Journal%20of%20Finance%20-%202023%20-%20KELLY%20-%20The%20Virtue%20of%20Complexity%20in%20Return%20Prediction%20%281%29.pdf",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "§V.A p.487完整数据单元及footnote33",
        "scope": "研究日期约定",
        "purpose": "辨认信息集假设，不把约定当可执行事实"
      },
      "version": "Journal of Finance 79(1), 459–503, February 2024",
      "supports": "研究日期约定",
      "branch": "论文日期约定"
    }
  ],
  "runtime_reading_log": [],
  "supplied_inputs": {
    "input_identity": "QT-DE-adopted-inputs-20260921-v1",
    "config": {
      "content_version": "2026-09-21-QT-DE-review-v2",
      "input_version": "QT-DE-adopted-inputs-20260921-v1",
      "dataset": {
        "file": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/BusEq-value-weighted-monthly-199001-202512.csv",
        "origin_input_version": "QT-C-inputs-20260921-v1",
        "transport_sha256": "72dd0f35d9437d268971de8553827a5c7a4f85ebcf9712c0c1b85ea2ec7cfa74",
        "source_url": "https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/30_Industry_Portfolios_CSV.zip",
        "source_details_url": "https://mba.tuck.dartmouth.edu/pages/Faculty/ken.french/Data_Library/det_30_ind_port.html",
        "regime_url": "https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html",
        "vintage": "202607 CRSP database; current CIZ reconstruction",
        "download_date": "2026-09-21",
        "block": "Average Value Weighted Returns -- Monthly",
        "column": "BusEq",
        "sample": [
          "199001",
          "202512"
        ],
        "n": 432,
        "source_lines": [
          775,
          1206
        ],
        "missing_removed": 0,
        "missing_codes": [
          -99.99,
          -999
        ],
        "raw_unit": "percent",
        "internal_unit": "monthly decimal return",
        "display_errors": "百分点/月",
        "annualized": false,
        "identity": "单一当前重建快照；不是FIZ/CIZ时间拼接，不是逐月当时可见版本。"
      },
      "forecast": {
        "experiment_id": "EXP-QT-D-FORECAST-01",
        "p_grid": [
          1,
          3,
          12
        ],
        "lambda_grid": [
          0.0,
          0.1,
          1.0,
          10.0
        ],
        "default_candidate": "p1-l10",
        "target": "y_t=r_t",
        "features": "(r_(t-1),...,r_(t-p))",
        "warmup": [
          "199001",
          "199012"
        ],
        "initial_train": [
          "199101",
          "200912",
          228
        ],
        "validation": [
          "201001",
          "201912",
          120
        ],
        "historical_evaluation": [
          "202001",
          "202512",
          72
        ],
        "train_start_index": 12,
        "objective": "RSS/n + lambda*||beta||^2",
        "matrix_penalty": "n*lambda*I",
        "standardization_ddof": 0,
        "intercept_penalized": false,
        "selection": "minimum validation SSE including zero and expanding-mean baselines",
        "tie_rule": "regression grid: smaller p then smaller lambda",
        "frozen_hyperparameters_after_validation": true,
        "refit": "每原点用新成熟标签扩展重拟合；不再次选择p或lambda",
        "availability": "教学月末可知收益假设；French历史真实发布和接收时点未重建",
        "future_scaling_control": {
          "p": 12,
          "lambdas": [
            0.0,
            0.1
          ],
          "scope": "validation only",
          "identity": "故意信息越界对照"
        },
        "default_clock_month": "201001",
        "default_clock_lambda": 0.1
      },
      "selection": {
        "experiment_id": "EXP-QT-D-SELECT-01",
        "B": 5000,
        "m_grid": [
          1,
          10,
          100,
          500
        ],
        "default_m": 100,
        "seed_all_null": 2201,
        "seed_mixed": 2202,
        "rng": "numpy.random.Generator(PCG64)",
        "n_development": 120,
        "n_holdout": 120,
        "sigma": 0.05,
        "alpha": 0.05,
        "hypothesis": "事前单侧H0:mu=0 versus H1:mu>0; sigma known",
        "pvalue": "0.5*erfc(Z/sqrt(2))",
        "draw_order": "先取(5000,500)开发Z矩阵，再取独立保留Z矩阵；M为共同500列前缀。mixed另重置2202。",
        "bh_adopted_comparison": "strict <",
        "source_pilot_comparison": "<=",
        "empty_BH": "k=0, no rejections, FDP=0",
        "mixed": {
          "m": 100,
          "signals": 10,
          "signal_mu": 0.01,
          "null_mu": 0.0
        },
        "identity": "直接模拟正态样本均值的Z分布；不含逐月路径，不是真实策略面板",
        "equal_example": {
          "p": [
            0.025,
            0.06
          ],
          "q": 0.05
        },
        "manual_example": {
          "p": [
            0.006,
            0.012,
            0.601,
            0.756,
            0.918
          ],
          "q": 0.05
        }
      },
      "cost": {
        "experiment_id": "EXP-QT23-COST-01",
        "rf": 0,
        "continuous_default": {
          "mu": 0.015,
          "rho": 0,
          "sigma": 0.1,
          "gamma": 2,
          "w0": 0.5,
          "kappa": 0.002,
          "cap": 0.8,
          "cash_min": 0.2
        },
        "integer_default": {
          "mu": 0.002,
          "rho": 0,
          "sigma": 0.02,
          "gamma": 10,
          "wealth": 10000,
          "initial_shares": 0,
          "mid": 100,
          "ask": 100.05,
          "cap": 80,
          "cash_min": 2000,
          "mode": "spread_and_commission"
        },
        "fee": {
          "id": "QTDE-IBKR",
          "url": "https://www.interactivebrokers.com/en/pricing/commissions-stocks.php?re=amer",
          "accessed_at": "2026-09-21",
          "scope": "IBKR Pro US Fixed ordinary whole-share single-order commission component only",
          "formula": "q=0:0; otherwise min(0.01*execution_price*abs(q),max(1,0.005*abs(q)))"
        },
        "identity": "收益、波动、风险系数、报价、价差、容量为教学设定；佣金是有日期的实际规则组件",
        "end_value": "期末中价标记；没有退出委托，非往返净利",
        "excluded_costs": [
          "监管/交易所/清算等其他收费",
          "税",
          "市场冲击",
          "持仓融资费",
          "退出交易费",
          "零股及改单最低费规则"
        ]
      },
      "clocks": {
        "view_id": "EXP-QT-D-CLOCK-01",
        "shared_experiment": "EXP-QT-D-FORECAST-01",
        "BEA": [
          {
            "period": "2020Q2",
            "vintage": "advance",
            "release_at": "2020-07-30T08:30:00-04:00",
            "received_at": null,
            "value_percent_SAAR": -32.9
          },
          {
            "period": "2020Q2",
            "vintage": "second",
            "release_at": "2020-08-27T08:30:00-04:00",
            "received_at": null,
            "value_percent_SAAR": -31.7
          }
        ],
        "h3_task": {
          "formula": "prod(1+r_(s+j),j=1..3)-1",
          "cutoff": "202003",
          "latest_mature_origin": "201912",
          "performance_run": false
        }
      },
      "scale_examples": {
        "raw_x": [
          -1,
          1
        ],
        "y": [
          -1,
          1
        ],
        "lambda": 1.0,
        "default_feature_scale": 10.0,
        "response_scale": 100.0
      },
      "source_identities": {
        "d_pilot": {
          "file": "qt-d-experiment-pilot.py",
          "sha256": "b8a23b01294d543b3b74c6a153168529db74ab7c84837ea3724a55f5071fd3fb",
          "read_scope": "1–193"
        },
        "ef_pilot": {
          "file": "qt-ef-calculations.py",
          "sha256": "28eff60cf87400805af145fabd22d4fe17e2c25bac3708cd9e71506d939acb20",
          "adopted_scope": "commission, continuous_case, integer_case, decision_calculation"
        },
        "approval": {
          "file": "qt-de-draft-approved.md",
          "read_scope": "1–7",
          "sha256": "80e92333d057772de9463d786a9be435c6dc1208744bf828d5eb2a4d2a5e9a48"
        },
        "plan_review": {
          "file": "qt-def-plan-review.md",
          "read_scope": "1–20",
          "sha256": "56fddfa847ca0f83ec4822652c506f847e9da4e45f7223c039b31428f3aedfd4"
        }
      }
    },
    "static_equivalent_html": "<p>预测2010-01：原点2009-12月末；训练目标1991-01—2009-12（228行），训练滞后特征最晚2009-11，新输入最晚2009-12。预测后等2010-01标签成熟再评价。</p><div class=\"table-wrap\" tabindex=\"0\"><table><thead><tr><th>p12模型</th><th>合法尺度RMSE pp/月</th><th>未来尺度RMSE pp/月</th></tr></thead><tbody><tr><td>λ=0</td><td>5.13541496</td><td>5.13541496</td></tr><tr><td>λ=0.1</td><td>5.12076573</td><td>5.12283553</td></tr></tbody></table></div><p>OLS 带截距、无约束、同一可逆仿射转换且本设计满秩时不变；ridge 惩罚改变。本例越界并未改善RMSE。</p><div class=\"table-wrap\" tabindex=\"0\"><table><thead><tr><th>BEA 2020Q2版本</th><th>release_at</th><th>值% SAAR</th><th>received_at</th></tr></thead><tbody><tr><td>advance</td><td>2020-07-30T08:30:00-04:00</td><td>-32.9</td><td>未知</td></tr><tr><td>second</td><td>2020-08-27T08:30:00-04:00</td><td>-31.7</td><td>未知</td></tr></tbody></table></div><p>2020-08-03公开截面只能选advance；系统接收时间未记录。三期标签Y_s=∏(1+r_s+j)−1，在2020-03月末最多纳入原点2019-12；相邻标签重叠。本篇没有h=3历史RMSE。虚构1%、−2%、3%的复合收益为1.9494%。</p>",
    "files": {
      "frozen_csv": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/BusEq-value-weighted-monthly-199001-202512.csv",
      "complete_outputs": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/results.json",
      "reproduction": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/compute/reproduce.py",
      "interactive_engine": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/engine.js",
      "selection_arrays": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/selection-arrays.npz",
      "shared_inputs": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/shared_inputs.json",
      "sources": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/sources.json"
    },
    "algorithm_identity": "forecast/selection使用真实计算的冻结网格及PCG64结果；成本和人工边界可重算。完整reader在body_markdown中仅一份。",
    "frozen_records": [
      {
        "month": "199001",
        "BusEq_percent": "-0.94",
        "return_decimal": "-0.0094",
        "loss_decimal": "0.0094",
        "source_line": "775"
      },
      {
        "month": "199002",
        "BusEq_percent": "3.53",
        "return_decimal": "0.0353",
        "loss_decimal": "-0.0353",
        "source_line": "776"
      },
      {
        "month": "199003",
        "BusEq_percent": "4.10",
        "return_decimal": "0.0410",
        "loss_decimal": "-0.0410",
        "source_line": "777"
      },
      {
        "month": "199004",
        "BusEq_percent": "-1.46",
        "return_decimal": "-0.0146",
        "loss_decimal": "0.0146",
        "source_line": "778"
      },
      {
        "month": "199005",
        "BusEq_percent": "11.64",
        "return_decimal": "0.1164",
        "loss_decimal": "-0.1164",
        "source_line": "779"
      },
      {
        "month": "199006",
        "BusEq_percent": "-2.00",
        "return_decimal": "-0.0200",
        "loss_decimal": "0.0200",
        "source_line": "780"
      },
      {
        "month": "199007",
        "BusEq_percent": "-6.52",
        "return_decimal": "-0.0652",
        "loss_decimal": "0.0652",
        "source_line": "781"
      },
      {
        "month": "199008",
        "BusEq_percent": "-12.22",
        "return_decimal": "-0.1222",
        "loss_decimal": "0.1222",
        "source_line": "782"
      },
      {
        "month": "199009",
        "BusEq_percent": "-6.16",
        "return_decimal": "-0.0616",
        "loss_decimal": "0.0616",
        "source_line": "783"
      },
      {
        "month": "199010",
        "BusEq_percent": "-3.82",
        "return_decimal": "-0.0382",
        "loss_decimal": "0.0382",
        "source_line": "784"
      },
      {
        "month": "199011",
        "BusEq_percent": "10.47",
        "return_decimal": "0.1047",
        "loss_decimal": "-0.1047",
        "source_line": "785"
      },
      {
        "month": "199012",
        "BusEq_percent": "3.93",
        "return_decimal": "0.0393",
        "loss_decimal": "-0.0393",
        "source_line": "786"
      },
      {
        "month": "199101",
        "BusEq_percent": "14.36",
        "return_decimal": "0.1436",
        "loss_decimal": "-0.1436",
        "source_line": "787"
      },
      {
        "month": "199102",
        "BusEq_percent": "5.98",
        "return_decimal": "0.0598",
        "loss_decimal": "-0.0598",
        "source_line": "788"
      },
      {
        "month": "199103",
        "BusEq_percent": "-0.61",
        "return_decimal": "-0.0061",
        "loss_decimal": "0.0061",
        "source_line": "789"
      },
      {
        "month": "199104",
        "BusEq_percent": "-3.01",
        "return_decimal": "-0.0301",
        "loss_decimal": "0.0301",
        "source_line": "790"
      },
      {
        "month": "199105",
        "BusEq_percent": "3.47",
        "return_decimal": "0.0347",
        "loss_decimal": "-0.0347",
        "source_line": "791"
      },
      {
        "month": "199106",
        "BusEq_percent": "-9.19",
        "return_decimal": "-0.0919",
        "loss_decimal": "0.0919",
        "source_line": "792"
      },
      {
        "month": "199107",
        "BusEq_percent": "4.15",
        "return_decimal": "0.0415",
        "loss_decimal": "-0.0415",
        "source_line": "793"
      },
      {
        "month": "199108",
        "BusEq_percent": "1.37",
        "return_decimal": "0.0137",
        "loss_decimal": "-0.0137",
        "source_line": "794"
      },
      {
        "month": "199109",
        "BusEq_percent": "-2.13",
        "return_decimal": "-0.0213",
        "loss_decimal": "0.0213",
        "source_line": "795"
      },
      {
        "month": "199110",
        "BusEq_percent": "0.13",
        "return_decimal": "0.0013",
        "loss_decimal": "-0.0013",
        "source_line": "796"
      },
      {
        "month": "199111",
        "BusEq_percent": "-5.01",
        "return_decimal": "-0.0501",
        "loss_decimal": "0.0501",
        "source_line": "797"
      },
      {
        "month": "199112",
        "BusEq_percent": "7.05",
        "return_decimal": "0.0705",
        "loss_decimal": "-0.0705",
        "source_line": "798"
      },
      {
        "month": "199201",
        "BusEq_percent": "7.35",
        "return_decimal": "0.0735",
        "loss_decimal": "-0.0735",
        "source_line": "799"
      },
      {
        "month": "199202",
        "BusEq_percent": "4.45",
        "return_decimal": "0.0445",
        "loss_decimal": "-0.0445",
        "source_line": "800"
      },
      {
        "month": "199203",
        "BusEq_percent": "-4.94",
        "return_decimal": "-0.0494",
        "loss_decimal": "0.0494",
        "source_line": "801"
      },
      {
        "month": "199204",
        "BusEq_percent": "0.20",
        "return_decimal": "0.0020",
        "loss_decimal": "-0.0020",
        "source_line": "802"
      },
      {
        "month": "199205",
        "BusEq_percent": "-0.75",
        "return_decimal": "-0.0075",
        "loss_decimal": "0.0075",
        "source_line": "803"
      },
      {
        "month": "199206",
        "BusEq_percent": "-2.71",
        "return_decimal": "-0.0271",
        "loss_decimal": "0.0271",
        "source_line": "804"
      },
      {
        "month": "199207",
        "BusEq_percent": "2.67",
        "return_decimal": "0.0267",
        "loss_decimal": "-0.0267",
        "source_line": "805"
      },
      {
        "month": "199208",
        "BusEq_percent": "-5.32",
        "return_decimal": "-0.0532",
        "loss_decimal": "0.0532",
        "source_line": "806"
      },
      {
        "month": "199209",
        "BusEq_percent": "2.38",
        "return_decimal": "0.0238",
        "loss_decimal": "-0.0238",
        "source_line": "807"
      },
      {
        "month": "199210",
        "BusEq_percent": "-0.03",
        "return_decimal": "-0.0003",
        "loss_decimal": "0.0003",
        "source_line": "808"
      },
      {
        "month": "199211",
        "BusEq_percent": "6.77",
        "return_decimal": "0.0677",
        "loss_decimal": "-0.0677",
        "source_line": "809"
      },
      {
        "month": "199212",
        "BusEq_percent": "0.32",
        "return_decimal": "0.0032",
        "loss_decimal": "-0.0032",
        "source_line": "810"
      },
      {
        "month": "199301",
        "BusEq_percent": "5.10",
        "return_decimal": "0.0510",
        "loss_decimal": "-0.0510",
        "source_line": "811"
      },
      {
        "month": "199302",
        "BusEq_percent": "0.75",
        "return_decimal": "0.0075",
        "loss_decimal": "-0.0075",
        "source_line": "812"
      },
      {
        "month": "199303",
        "BusEq_percent": "1.51",
        "return_decimal": "0.0151",
        "loss_decimal": "-0.0151",
        "source_line": "813"
      },
      {
        "month": "199304",
        "BusEq_percent": "-2.69",
        "return_decimal": "-0.0269",
        "loss_decimal": "0.0269",
        "source_line": "814"
      },
      {
        "month": "199305",
        "BusEq_percent": "9.23",
        "return_decimal": "0.0923",
        "loss_decimal": "-0.0923",
        "source_line": "815"
      },
      {
        "month": "199306",
        "BusEq_percent": "-0.48",
        "return_decimal": "-0.0048",
        "loss_decimal": "0.0048",
        "source_line": "816"
      },
      {
        "month": "199307",
        "BusEq_percent": "-2.81",
        "return_decimal": "-0.0281",
        "loss_decimal": "0.0281",
        "source_line": "817"
      },
      {
        "month": "199308",
        "BusEq_percent": "7.83",
        "return_decimal": "0.0783",
        "loss_decimal": "-0.0783",
        "source_line": "818"
      },
      {
        "month": "199309",
        "BusEq_percent": "-0.05",
        "return_decimal": "-0.0005",
        "loss_decimal": "0.0005",
        "source_line": "819"
      },
      {
        "month": "199310",
        "BusEq_percent": "1.19",
        "return_decimal": "0.0119",
        "loss_decimal": "-0.0119",
        "source_line": "820"
      },
      {
        "month": "199311",
        "BusEq_percent": "-0.07",
        "return_decimal": "-0.0007",
        "loss_decimal": "0.0007",
        "source_line": "821"
      },
      {
        "month": "199312",
        "BusEq_percent": "4.15",
        "return_decimal": "0.0415",
        "loss_decimal": "-0.0415",
        "source_line": "822"
      },
      {
        "month": "199401",
        "BusEq_percent": "4.55",
        "return_decimal": "0.0455",
        "loss_decimal": "-0.0455",
        "source_line": "823"
      },
      {
        "month": "199402",
        "BusEq_percent": "1.60",
        "return_decimal": "0.0160",
        "loss_decimal": "-0.0160",
        "source_line": "824"
      },
      {
        "month": "199403",
        "BusEq_percent": "-3.67",
        "return_decimal": "-0.0367",
        "loss_decimal": "0.0367",
        "source_line": "825"
      },
      {
        "month": "199404",
        "BusEq_percent": "-2.43",
        "return_decimal": "-0.0243",
        "loss_decimal": "0.0243",
        "source_line": "826"
      },
      {
        "month": "199405",
        "BusEq_percent": "0.63",
        "return_decimal": "0.0063",
        "loss_decimal": "-0.0063",
        "source_line": "827"
      },
      {
        "month": "199406",
        "BusEq_percent": "-5.03",
        "return_decimal": "-0.0503",
        "loss_decimal": "0.0503",
        "source_line": "828"
      },
      {
        "month": "199407",
        "BusEq_percent": "5.09",
        "return_decimal": "0.0509",
        "loss_decimal": "-0.0509",
        "source_line": "829"
      },
      {
        "month": "199408",
        "BusEq_percent": "9.22",
        "return_decimal": "0.0922",
        "loss_decimal": "-0.0922",
        "source_line": "830"
      },
      {
        "month": "199409",
        "BusEq_percent": "-0.99",
        "return_decimal": "-0.0099",
        "loss_decimal": "0.0099",
        "source_line": "831"
      },
      {
        "month": "199410",
        "BusEq_percent": "6.94",
        "return_decimal": "0.0694",
        "loss_decimal": "-0.0694",
        "source_line": "832"
      },
      {
        "month": "199411",
        "BusEq_percent": "-2.28",
        "return_decimal": "-0.0228",
        "loss_decimal": "0.0228",
        "source_line": "833"
      },
      {
        "month": "199412",
        "BusEq_percent": "2.75",
        "return_decimal": "0.0275",
        "loss_decimal": "-0.0275",
        "source_line": "834"
      },
      {
        "month": "199501",
        "BusEq_percent": "-0.59",
        "return_decimal": "-0.0059",
        "loss_decimal": "0.0059",
        "source_line": "835"
      },
      {
        "month": "199502",
        "BusEq_percent": "6.65",
        "return_decimal": "0.0665",
        "loss_decimal": "-0.0665",
        "source_line": "836"
      },
      {
        "month": "199503",
        "BusEq_percent": "4.32",
        "return_decimal": "0.0432",
        "loss_decimal": "-0.0432",
        "source_line": "837"
      },
      {
        "month": "199504",
        "BusEq_percent": "9.28",
        "return_decimal": "0.0928",
        "loss_decimal": "-0.0928",
        "source_line": "838"
      },
      {
        "month": "199505",
        "BusEq_percent": "3.34",
        "return_decimal": "0.0334",
        "loss_decimal": "-0.0334",
        "source_line": "839"
      },
      {
        "month": "199506",
        "BusEq_percent": "10.15",
        "return_decimal": "0.1015",
        "loss_decimal": "-0.1015",
        "source_line": "840"
      },
      {
        "month": "199507",
        "BusEq_percent": "8.73",
        "return_decimal": "0.0873",
        "loss_decimal": "-0.0873",
        "source_line": "841"
      },
      {
        "month": "199508",
        "BusEq_percent": "-0.16",
        "return_decimal": "-0.0016",
        "loss_decimal": "0.0016",
        "source_line": "842"
      },
      {
        "month": "199509",
        "BusEq_percent": "1.29",
        "return_decimal": "0.0129",
        "loss_decimal": "-0.0129",
        "source_line": "843"
      },
      {
        "month": "199510",
        "BusEq_percent": "0.03",
        "return_decimal": "0.0003",
        "loss_decimal": "-0.0003",
        "source_line": "844"
      },
      {
        "month": "199511",
        "BusEq_percent": "-1.41",
        "return_decimal": "-0.0141",
        "loss_decimal": "0.0141",
        "source_line": "845"
      },
      {
        "month": "199512",
        "BusEq_percent": "-4.58",
        "return_decimal": "-0.0458",
        "loss_decimal": "0.0458",
        "source_line": "846"
      },
      {
        "month": "199601",
        "BusEq_percent": "2.11",
        "return_decimal": "0.0211",
        "loss_decimal": "-0.0211",
        "source_line": "847"
      },
      {
        "month": "199602",
        "BusEq_percent": "6.93",
        "return_decimal": "0.0693",
        "loss_decimal": "-0.0693",
        "source_line": "848"
      },
      {
        "month": "199603",
        "BusEq_percent": "-4.55",
        "return_decimal": "-0.0455",
        "loss_decimal": "0.0455",
        "source_line": "849"
      },
      {
        "month": "199604",
        "BusEq_percent": "10.57",
        "return_decimal": "0.1057",
        "loss_decimal": "-0.1057",
        "source_line": "850"
      },
      {
        "month": "199605",
        "BusEq_percent": "4.32",
        "return_decimal": "0.0432",
        "loss_decimal": "-0.0432",
        "source_line": "851"
      },
      {
        "month": "199606",
        "BusEq_percent": "-6.32",
        "return_decimal": "-0.0632",
        "loss_decimal": "0.0632",
        "source_line": "852"
      },
      {
        "month": "199607",
        "BusEq_percent": "-7.54",
        "return_decimal": "-0.0754",
        "loss_decimal": "0.0754",
        "source_line": "853"
      },
      {
        "month": "199608",
        "BusEq_percent": "5.10",
        "return_decimal": "0.0510",
        "loss_decimal": "-0.0510",
        "source_line": "854"
      },
      {
        "month": "199609",
        "BusEq_percent": "10.66",
        "return_decimal": "0.1066",
        "loss_decimal": "-0.1066",
        "source_line": "855"
      },
      {
        "month": "199610",
        "BusEq_percent": "-1.23",
        "return_decimal": "-0.0123",
        "loss_decimal": "0.0123",
        "source_line": "856"
      },
      {
        "month": "199611",
        "BusEq_percent": "14.01",
        "return_decimal": "0.1401",
        "loss_decimal": "-0.1401",
        "source_line": "857"
      },
      {
        "month": "199612",
        "BusEq_percent": "-2.42",
        "return_decimal": "-0.0242",
        "loss_decimal": "0.0242",
        "source_line": "858"
      },
      {
        "month": "199701",
        "BusEq_percent": "10.36",
        "return_decimal": "0.1036",
        "loss_decimal": "-0.1036",
        "source_line": "859"
      },
      {
        "month": "199702",
        "BusEq_percent": "-8.16",
        "return_decimal": "-0.0816",
        "loss_decimal": "0.0816",
        "source_line": "860"
      },
      {
        "month": "199703",
        "BusEq_percent": "-5.22",
        "return_decimal": "-0.0522",
        "loss_decimal": "0.0522",
        "source_line": "861"
      },
      {
        "month": "199704",
        "BusEq_percent": "6.02",
        "return_decimal": "0.0602",
        "loss_decimal": "-0.0602",
        "source_line": "862"
      },
      {
        "month": "199705",
        "BusEq_percent": "10.21",
        "return_decimal": "0.1021",
        "loss_decimal": "-0.1021",
        "source_line": "863"
      },
      {
        "month": "199706",
        "BusEq_percent": "0.93",
        "return_decimal": "0.0093",
        "loss_decimal": "-0.0093",
        "source_line": "864"
      },
      {
        "month": "199707",
        "BusEq_percent": "18.90",
        "return_decimal": "0.1890",
        "loss_decimal": "-0.1890",
        "source_line": "865"
      },
      {
        "month": "199708",
        "BusEq_percent": "-0.79",
        "return_decimal": "-0.0079",
        "loss_decimal": "0.0079",
        "source_line": "866"
      },
      {
        "month": "199709",
        "BusEq_percent": "3.89",
        "return_decimal": "0.0389",
        "loss_decimal": "-0.0389",
        "source_line": "867"
      },
      {
        "month": "199710",
        "BusEq_percent": "-10.68",
        "return_decimal": "-0.1068",
        "loss_decimal": "0.1068",
        "source_line": "868"
      },
      {
        "month": "199711",
        "BusEq_percent": "0.64",
        "return_decimal": "0.0064",
        "loss_decimal": "-0.0064",
        "source_line": "869"
      },
      {
        "month": "199712",
        "BusEq_percent": "-4.76",
        "return_decimal": "-0.0476",
        "loss_decimal": "0.0476",
        "source_line": "870"
      },
      {
        "month": "199801",
        "BusEq_percent": "5.08",
        "return_decimal": "0.0508",
        "loss_decimal": "-0.0508",
        "source_line": "871"
      },
      {
        "month": "199802",
        "BusEq_percent": "9.65",
        "return_decimal": "0.0965",
        "loss_decimal": "-0.0965",
        "source_line": "872"
      },
      {
        "month": "199803",
        "BusEq_percent": "-2.18",
        "return_decimal": "-0.0218",
        "loss_decimal": "0.0218",
        "source_line": "873"
      },
      {
        "month": "199804",
        "BusEq_percent": "7.61",
        "return_decimal": "0.0761",
        "loss_decimal": "-0.0761",
        "source_line": "874"
      },
      {
        "month": "199805",
        "BusEq_percent": "-7.14",
        "return_decimal": "-0.0714",
        "loss_decimal": "0.0714",
        "source_line": "875"
      },
      {
        "month": "199806",
        "BusEq_percent": "4.64",
        "return_decimal": "0.0464",
        "loss_decimal": "-0.0464",
        "source_line": "876"
      },
      {
        "month": "199807",
        "BusEq_percent": "3.85",
        "return_decimal": "0.0385",
        "loss_decimal": "-0.0385",
        "source_line": "877"
      },
      {
        "month": "199808",
        "BusEq_percent": "-17.49",
        "return_decimal": "-0.1749",
        "loss_decimal": "0.1749",
        "source_line": "878"
      },
      {
        "month": "199809",
        "BusEq_percent": "13.18",
        "return_decimal": "0.1318",
        "loss_decimal": "-0.1318",
        "source_line": "879"
      },
      {
        "month": "199810",
        "BusEq_percent": "10.06",
        "return_decimal": "0.1006",
        "loss_decimal": "-0.1006",
        "source_line": "880"
      },
      {
        "month": "199811",
        "BusEq_percent": "10.34",
        "return_decimal": "0.1034",
        "loss_decimal": "-0.1034",
        "source_line": "881"
      },
      {
        "month": "199812",
        "BusEq_percent": "14.09",
        "return_decimal": "0.1409",
        "loss_decimal": "-0.1409",
        "source_line": "882"
      },
      {
        "month": "199901",
        "BusEq_percent": "13.29",
        "return_decimal": "0.1329",
        "loss_decimal": "-0.1329",
        "source_line": "883"
      },
      {
        "month": "199902",
        "BusEq_percent": "-12.31",
        "return_decimal": "-0.1231",
        "loss_decimal": "0.1231",
        "source_line": "884"
      },
      {
        "month": "199903",
        "BusEq_percent": "5.09",
        "return_decimal": "0.0509",
        "loss_decimal": "-0.0509",
        "source_line": "885"
      },
      {
        "month": "199904",
        "BusEq_percent": "6.19",
        "return_decimal": "0.0619",
        "loss_decimal": "-0.0619",
        "source_line": "886"
      },
      {
        "month": "199905",
        "BusEq_percent": "0.03",
        "return_decimal": "0.0003",
        "loss_decimal": "-0.0003",
        "source_line": "887"
      },
      {
        "month": "199906",
        "BusEq_percent": "12.86",
        "return_decimal": "0.1286",
        "loss_decimal": "-0.1286",
        "source_line": "888"
      },
      {
        "month": "199907",
        "BusEq_percent": "2.41",
        "return_decimal": "0.0241",
        "loss_decimal": "-0.0241",
        "source_line": "889"
      },
      {
        "month": "199908",
        "BusEq_percent": "7.80",
        "return_decimal": "0.0780",
        "loss_decimal": "-0.0780",
        "source_line": "890"
      },
      {
        "month": "199909",
        "BusEq_percent": "-2.45",
        "return_decimal": "-0.0245",
        "loss_decimal": "0.0245",
        "source_line": "891"
      },
      {
        "month": "199910",
        "BusEq_percent": "3.17",
        "return_decimal": "0.0317",
        "loss_decimal": "-0.0317",
        "source_line": "892"
      },
      {
        "month": "199911",
        "BusEq_percent": "14.16",
        "return_decimal": "0.1416",
        "loss_decimal": "-0.1416",
        "source_line": "893"
      },
      {
        "month": "199912",
        "BusEq_percent": "17.29",
        "return_decimal": "0.1729",
        "loss_decimal": "-0.1729",
        "source_line": "894"
      },
      {
        "month": "200001",
        "BusEq_percent": "-1.28",
        "return_decimal": "-0.0128",
        "loss_decimal": "0.0128",
        "source_line": "895"
      },
      {
        "month": "200002",
        "BusEq_percent": "24.72",
        "return_decimal": "0.2472",
        "loss_decimal": "-0.2472",
        "source_line": "896"
      },
      {
        "month": "200003",
        "BusEq_percent": "4.72",
        "return_decimal": "0.0472",
        "loss_decimal": "-0.0472",
        "source_line": "897"
      },
      {
        "month": "200004",
        "BusEq_percent": "-6.03",
        "return_decimal": "-0.0603",
        "loss_decimal": "0.0603",
        "source_line": "898"
      },
      {
        "month": "200005",
        "BusEq_percent": "-11.47",
        "return_decimal": "-0.1147",
        "loss_decimal": "0.1147",
        "source_line": "899"
      },
      {
        "month": "200006",
        "BusEq_percent": "12.82",
        "return_decimal": "0.1282",
        "loss_decimal": "-0.1282",
        "source_line": "900"
      },
      {
        "month": "200007",
        "BusEq_percent": "-3.28",
        "return_decimal": "-0.0328",
        "loss_decimal": "0.0328",
        "source_line": "901"
      },
      {
        "month": "200008",
        "BusEq_percent": "12.84",
        "return_decimal": "0.1284",
        "loss_decimal": "-0.1284",
        "source_line": "902"
      },
      {
        "month": "200009",
        "BusEq_percent": "-17.73",
        "return_decimal": "-0.1773",
        "loss_decimal": "0.1773",
        "source_line": "903"
      },
      {
        "month": "200010",
        "BusEq_percent": "-6.66",
        "return_decimal": "-0.0666",
        "loss_decimal": "0.0666",
        "source_line": "904"
      },
      {
        "month": "200011",
        "BusEq_percent": "-24.28",
        "return_decimal": "-0.2428",
        "loss_decimal": "0.2428",
        "source_line": "905"
      },
      {
        "month": "200012",
        "BusEq_percent": "-8.29",
        "return_decimal": "-0.0829",
        "loss_decimal": "0.0829",
        "source_line": "906"
      },
      {
        "month": "200101",
        "BusEq_percent": "13.93",
        "return_decimal": "0.1393",
        "loss_decimal": "-0.1393",
        "source_line": "907"
      },
      {
        "month": "200102",
        "BusEq_percent": "-31.53",
        "return_decimal": "-0.3153",
        "loss_decimal": "0.3153",
        "source_line": "908"
      },
      {
        "month": "200103",
        "BusEq_percent": "-14.14",
        "return_decimal": "-0.1414",
        "loss_decimal": "0.1414",
        "source_line": "909"
      },
      {
        "month": "200104",
        "BusEq_percent": "15.93",
        "return_decimal": "0.1593",
        "loss_decimal": "-0.1593",
        "source_line": "910"
      },
      {
        "month": "200105",
        "BusEq_percent": "-6.35",
        "return_decimal": "-0.0635",
        "loss_decimal": "0.0635",
        "source_line": "911"
      },
      {
        "month": "200106",
        "BusEq_percent": "-1.57",
        "return_decimal": "-0.0157",
        "loss_decimal": "0.0157",
        "source_line": "912"
      },
      {
        "month": "200107",
        "BusEq_percent": "-4.33",
        "return_decimal": "-0.0433",
        "loss_decimal": "0.0433",
        "source_line": "913"
      },
      {
        "month": "200108",
        "BusEq_percent": "-11.16",
        "return_decimal": "-0.1116",
        "loss_decimal": "0.1116",
        "source_line": "914"
      },
      {
        "month": "200109",
        "BusEq_percent": "-24.51",
        "return_decimal": "-0.2451",
        "loss_decimal": "0.2451",
        "source_line": "915"
      },
      {
        "month": "200110",
        "BusEq_percent": "19.58",
        "return_decimal": "0.1958",
        "loss_decimal": "-0.1958",
        "source_line": "916"
      },
      {
        "month": "200111",
        "BusEq_percent": "20.19",
        "return_decimal": "0.2019",
        "loss_decimal": "-0.2019",
        "source_line": "917"
      },
      {
        "month": "200112",
        "BusEq_percent": "-3.94",
        "return_decimal": "-0.0394",
        "loss_decimal": "0.0394",
        "source_line": "918"
      },
      {
        "month": "200201",
        "BusEq_percent": "3.35",
        "return_decimal": "0.0335",
        "loss_decimal": "-0.0335",
        "source_line": "919"
      },
      {
        "month": "200202",
        "BusEq_percent": "-16.68",
        "return_decimal": "-0.1668",
        "loss_decimal": "0.1668",
        "source_line": "920"
      },
      {
        "month": "200203",
        "BusEq_percent": "9.73",
        "return_decimal": "0.0973",
        "loss_decimal": "-0.0973",
        "source_line": "921"
      },
      {
        "month": "200204",
        "BusEq_percent": "-8.52",
        "return_decimal": "-0.0852",
        "loss_decimal": "0.0852",
        "source_line": "922"
      },
      {
        "month": "200205",
        "BusEq_percent": "-2.71",
        "return_decimal": "-0.0271",
        "loss_decimal": "0.0271",
        "source_line": "923"
      },
      {
        "month": "200206",
        "BusEq_percent": "-18.52",
        "return_decimal": "-0.1852",
        "loss_decimal": "0.1852",
        "source_line": "924"
      },
      {
        "month": "200207",
        "BusEq_percent": "-9.20",
        "return_decimal": "-0.0920",
        "loss_decimal": "0.0920",
        "source_line": "925"
      },
      {
        "month": "200208",
        "BusEq_percent": "-3.42",
        "return_decimal": "-0.0342",
        "loss_decimal": "0.0342",
        "source_line": "926"
      },
      {
        "month": "200209",
        "BusEq_percent": "-17.48",
        "return_decimal": "-0.1748",
        "loss_decimal": "0.1748",
        "source_line": "927"
      },
      {
        "month": "200210",
        "BusEq_percent": "15.59",
        "return_decimal": "0.1559",
        "loss_decimal": "-0.1559",
        "source_line": "928"
      },
      {
        "month": "200211",
        "BusEq_percent": "21.41",
        "return_decimal": "0.2141",
        "loss_decimal": "-0.2141",
        "source_line": "929"
      },
      {
        "month": "200212",
        "BusEq_percent": "-15.94",
        "return_decimal": "-0.1594",
        "loss_decimal": "0.1594",
        "source_line": "930"
      },
      {
        "month": "200301",
        "BusEq_percent": "-0.96",
        "return_decimal": "-0.0096",
        "loss_decimal": "0.0096",
        "source_line": "931"
      },
      {
        "month": "200302",
        "BusEq_percent": "3.07",
        "return_decimal": "0.0307",
        "loss_decimal": "-0.0307",
        "source_line": "932"
      },
      {
        "month": "200303",
        "BusEq_percent": "-2.21",
        "return_decimal": "-0.0221",
        "loss_decimal": "0.0221",
        "source_line": "933"
      },
      {
        "month": "200304",
        "BusEq_percent": "10.50",
        "return_decimal": "0.1050",
        "loss_decimal": "-0.1050",
        "source_line": "934"
      },
      {
        "month": "200305",
        "BusEq_percent": "13.86",
        "return_decimal": "0.1386",
        "loss_decimal": "-0.1386",
        "source_line": "935"
      },
      {
        "month": "200306",
        "BusEq_percent": "0.34",
        "return_decimal": "0.0034",
        "loss_decimal": "-0.0034",
        "source_line": "936"
      },
      {
        "month": "200307",
        "BusEq_percent": "8.49",
        "return_decimal": "0.0849",
        "loss_decimal": "-0.0849",
        "source_line": "937"
      },
      {
        "month": "200308",
        "BusEq_percent": "8.20",
        "return_decimal": "0.0820",
        "loss_decimal": "-0.0820",
        "source_line": "938"
      },
      {
        "month": "200309",
        "BusEq_percent": "-2.64",
        "return_decimal": "-0.0264",
        "loss_decimal": "0.0264",
        "source_line": "939"
      },
      {
        "month": "200310",
        "BusEq_percent": "13.09",
        "return_decimal": "0.1309",
        "loss_decimal": "-0.1309",
        "source_line": "940"
      },
      {
        "month": "200311",
        "BusEq_percent": "3.04",
        "return_decimal": "0.0304",
        "loss_decimal": "-0.0304",
        "source_line": "941"
      },
      {
        "month": "200312",
        "BusEq_percent": "0.08",
        "return_decimal": "0.0008",
        "loss_decimal": "-0.0008",
        "source_line": "942"
      },
      {
        "month": "200401",
        "BusEq_percent": "4.85",
        "return_decimal": "0.0485",
        "loss_decimal": "-0.0485",
        "source_line": "943"
      },
      {
        "month": "200402",
        "BusEq_percent": "-2.72",
        "return_decimal": "-0.0272",
        "loss_decimal": "0.0272",
        "source_line": "944"
      },
      {
        "month": "200403",
        "BusEq_percent": "-2.52",
        "return_decimal": "-0.0252",
        "loss_decimal": "0.0252",
        "source_line": "945"
      },
      {
        "month": "200404",
        "BusEq_percent": "-8.06",
        "return_decimal": "-0.0806",
        "loss_decimal": "0.0806",
        "source_line": "946"
      },
      {
        "month": "200405",
        "BusEq_percent": "6.86",
        "return_decimal": "0.0686",
        "loss_decimal": "-0.0686",
        "source_line": "947"
      },
      {
        "month": "200406",
        "BusEq_percent": "1.25",
        "return_decimal": "0.0125",
        "loss_decimal": "-0.0125",
        "source_line": "948"
      },
      {
        "month": "200407",
        "BusEq_percent": "-10.33",
        "return_decimal": "-0.1033",
        "loss_decimal": "0.1033",
        "source_line": "949"
      },
      {
        "month": "200408",
        "BusEq_percent": "-5.94",
        "return_decimal": "-0.0594",
        "loss_decimal": "0.0594",
        "source_line": "950"
      },
      {
        "month": "200409",
        "BusEq_percent": "2.53",
        "return_decimal": "0.0253",
        "loss_decimal": "-0.0253",
        "source_line": "951"
      },
      {
        "month": "200410",
        "BusEq_percent": "5.51",
        "return_decimal": "0.0551",
        "loss_decimal": "-0.0551",
        "source_line": "952"
      },
      {
        "month": "200411",
        "BusEq_percent": "5.22",
        "return_decimal": "0.0522",
        "loss_decimal": "-0.0522",
        "source_line": "953"
      },
      {
        "month": "200412",
        "BusEq_percent": "3.03",
        "return_decimal": "0.0303",
        "loss_decimal": "-0.0303",
        "source_line": "954"
      },
      {
        "month": "200501",
        "BusEq_percent": "-6.28",
        "return_decimal": "-0.0628",
        "loss_decimal": "0.0628",
        "source_line": "955"
      },
      {
        "month": "200502",
        "BusEq_percent": "1.75",
        "return_decimal": "0.0175",
        "loss_decimal": "-0.0175",
        "source_line": "956"
      },
      {
        "month": "200503",
        "BusEq_percent": "-2.59",
        "return_decimal": "-0.0259",
        "loss_decimal": "0.0259",
        "source_line": "957"
      },
      {
        "month": "200504",
        "BusEq_percent": "-4.32",
        "return_decimal": "-0.0432",
        "loss_decimal": "0.0432",
        "source_line": "958"
      },
      {
        "month": "200505",
        "BusEq_percent": "10.34",
        "return_decimal": "0.1034",
        "loss_decimal": "-0.1034",
        "source_line": "959"
      },
      {
        "month": "200506",
        "BusEq_percent": "-1.13",
        "return_decimal": "-0.0113",
        "loss_decimal": "0.0113",
        "source_line": "960"
      },
      {
        "month": "200507",
        "BusEq_percent": "6.66",
        "return_decimal": "0.0666",
        "loss_decimal": "-0.0666",
        "source_line": "961"
      },
      {
        "month": "200508",
        "BusEq_percent": "-1.19",
        "return_decimal": "-0.0119",
        "loss_decimal": "0.0119",
        "source_line": "962"
      },
      {
        "month": "200509",
        "BusEq_percent": "1.46",
        "return_decimal": "0.0146",
        "loss_decimal": "-0.0146",
        "source_line": "963"
      },
      {
        "month": "200510",
        "BusEq_percent": "-4.44",
        "return_decimal": "-0.0444",
        "loss_decimal": "0.0444",
        "source_line": "964"
      },
      {
        "month": "200511",
        "BusEq_percent": "7.33",
        "return_decimal": "0.0733",
        "loss_decimal": "-0.0733",
        "source_line": "965"
      },
      {
        "month": "200512",
        "BusEq_percent": "-1.46",
        "return_decimal": "-0.0146",
        "loss_decimal": "0.0146",
        "source_line": "966"
      },
      {
        "month": "200601",
        "BusEq_percent": "4.79",
        "return_decimal": "0.0479",
        "loss_decimal": "-0.0479",
        "source_line": "967"
      },
      {
        "month": "200602",
        "BusEq_percent": "0.63",
        "return_decimal": "0.0063",
        "loss_decimal": "-0.0063",
        "source_line": "968"
      },
      {
        "month": "200603",
        "BusEq_percent": "3.02",
        "return_decimal": "0.0302",
        "loss_decimal": "-0.0302",
        "source_line": "969"
      },
      {
        "month": "200604",
        "BusEq_percent": "-0.27",
        "return_decimal": "-0.0027",
        "loss_decimal": "0.0027",
        "source_line": "970"
      },
      {
        "month": "200605",
        "BusEq_percent": "-7.35",
        "return_decimal": "-0.0735",
        "loss_decimal": "0.0735",
        "source_line": "971"
      },
      {
        "month": "200606",
        "BusEq_percent": "-3.14",
        "return_decimal": "-0.0314",
        "loss_decimal": "0.0314",
        "source_line": "972"
      },
      {
        "month": "200607",
        "BusEq_percent": "-4.77",
        "return_decimal": "-0.0477",
        "loss_decimal": "0.0477",
        "source_line": "973"
      },
      {
        "month": "200608",
        "BusEq_percent": "9.10",
        "return_decimal": "0.0910",
        "loss_decimal": "-0.0910",
        "source_line": "974"
      },
      {
        "month": "200609",
        "BusEq_percent": "2.85",
        "return_decimal": "0.0285",
        "loss_decimal": "-0.0285",
        "source_line": "975"
      },
      {
        "month": "200610",
        "BusEq_percent": "2.14",
        "return_decimal": "0.0214",
        "loss_decimal": "-0.0214",
        "source_line": "976"
      },
      {
        "month": "200611",
        "BusEq_percent": "4.02",
        "return_decimal": "0.0402",
        "loss_decimal": "-0.0402",
        "source_line": "977"
      },
      {
        "month": "200612",
        "BusEq_percent": "-1.31",
        "return_decimal": "-0.0131",
        "loss_decimal": "0.0131",
        "source_line": "978"
      },
      {
        "month": "200701",
        "BusEq_percent": "1.15",
        "return_decimal": "0.0115",
        "loss_decimal": "-0.0115",
        "source_line": "979"
      },
      {
        "month": "200702",
        "BusEq_percent": "-1.14",
        "return_decimal": "-0.0114",
        "loss_decimal": "0.0114",
        "source_line": "980"
      },
      {
        "month": "200703",
        "BusEq_percent": "0.26",
        "return_decimal": "0.0026",
        "loss_decimal": "-0.0026",
        "source_line": "981"
      },
      {
        "month": "200704",
        "BusEq_percent": "5.02",
        "return_decimal": "0.0502",
        "loss_decimal": "-0.0502",
        "source_line": "982"
      },
      {
        "month": "200705",
        "BusEq_percent": "4.10",
        "return_decimal": "0.0410",
        "loss_decimal": "-0.0410",
        "source_line": "983"
      },
      {
        "month": "200706",
        "BusEq_percent": "2.05",
        "return_decimal": "0.0205",
        "loss_decimal": "-0.0205",
        "source_line": "984"
      },
      {
        "month": "200707",
        "BusEq_percent": "-0.08",
        "return_decimal": "-0.0008",
        "loss_decimal": "0.0008",
        "source_line": "985"
      },
      {
        "month": "200708",
        "BusEq_percent": "3.67",
        "return_decimal": "0.0367",
        "loss_decimal": "-0.0367",
        "source_line": "986"
      },
      {
        "month": "200709",
        "BusEq_percent": "3.73",
        "return_decimal": "0.0373",
        "loss_decimal": "-0.0373",
        "source_line": "987"
      },
      {
        "month": "200710",
        "BusEq_percent": "3.97",
        "return_decimal": "0.0397",
        "loss_decimal": "-0.0397",
        "source_line": "988"
      },
      {
        "month": "200711",
        "BusEq_percent": "-7.58",
        "return_decimal": "-0.0758",
        "loss_decimal": "0.0758",
        "source_line": "989"
      },
      {
        "month": "200712",
        "BusEq_percent": "0.39",
        "return_decimal": "0.0039",
        "loss_decimal": "-0.0039",
        "source_line": "990"
      },
      {
        "month": "200801",
        "BusEq_percent": "-14.17",
        "return_decimal": "-0.1417",
        "loss_decimal": "0.1417",
        "source_line": "991"
      },
      {
        "month": "200802",
        "BusEq_percent": "-1.75",
        "return_decimal": "-0.0175",
        "loss_decimal": "0.0175",
        "source_line": "992"
      },
      {
        "month": "200803",
        "BusEq_percent": "0.36",
        "return_decimal": "0.0036",
        "loss_decimal": "-0.0036",
        "source_line": "993"
      },
      {
        "month": "200804",
        "BusEq_percent": "6.80",
        "return_decimal": "0.0680",
        "loss_decimal": "-0.0680",
        "source_line": "994"
      },
      {
        "month": "200805",
        "BusEq_percent": "6.23",
        "return_decimal": "0.0623",
        "loss_decimal": "-0.0623",
        "source_line": "995"
      },
      {
        "month": "200806",
        "BusEq_percent": "-9.74",
        "return_decimal": "-0.0974",
        "loss_decimal": "0.0974",
        "source_line": "996"
      },
      {
        "month": "200807",
        "BusEq_percent": "0.30",
        "return_decimal": "0.0030",
        "loss_decimal": "-0.0030",
        "source_line": "997"
      },
      {
        "month": "200808",
        "BusEq_percent": "2.93",
        "return_decimal": "0.0293",
        "loss_decimal": "-0.0293",
        "source_line": "998"
      },
      {
        "month": "200809",
        "BusEq_percent": "-15.81",
        "return_decimal": "-0.1581",
        "loss_decimal": "0.1581",
        "source_line": "999"
      },
      {
        "month": "200810",
        "BusEq_percent": "-17.68",
        "return_decimal": "-0.1768",
        "loss_decimal": "0.1768",
        "source_line": "1000"
      },
      {
        "month": "200811",
        "BusEq_percent": "-11.63",
        "return_decimal": "-0.1163",
        "loss_decimal": "0.1163",
        "source_line": "1001"
      },
      {
        "month": "200812",
        "BusEq_percent": "1.84",
        "return_decimal": "0.0184",
        "loss_decimal": "-0.0184",
        "source_line": "1002"
      },
      {
        "month": "200901",
        "BusEq_percent": "-3.08",
        "return_decimal": "-0.0308",
        "loss_decimal": "0.0308",
        "source_line": "1003"
      },
      {
        "month": "200902",
        "BusEq_percent": "-6.87",
        "return_decimal": "-0.0687",
        "loss_decimal": "0.0687",
        "source_line": "1004"
      },
      {
        "month": "200903",
        "BusEq_percent": "13.08",
        "return_decimal": "0.1308",
        "loss_decimal": "-0.1308",
        "source_line": "1005"
      },
      {
        "month": "200904",
        "BusEq_percent": "14.28",
        "return_decimal": "0.1428",
        "loss_decimal": "-0.1428",
        "source_line": "1006"
      },
      {
        "month": "200905",
        "BusEq_percent": "2.18",
        "return_decimal": "0.0218",
        "loss_decimal": "-0.0218",
        "source_line": "1007"
      },
      {
        "month": "200906",
        "BusEq_percent": "4.55",
        "return_decimal": "0.0455",
        "loss_decimal": "-0.0455",
        "source_line": "1008"
      },
      {
        "month": "200907",
        "BusEq_percent": "10.36",
        "return_decimal": "0.1036",
        "loss_decimal": "-0.1036",
        "source_line": "1009"
      },
      {
        "month": "200908",
        "BusEq_percent": "2.19",
        "return_decimal": "0.0219",
        "loss_decimal": "-0.0219",
        "source_line": "1010"
      },
      {
        "month": "200909",
        "BusEq_percent": "5.61",
        "return_decimal": "0.0561",
        "loss_decimal": "-0.0561",
        "source_line": "1011"
      },
      {
        "month": "200910",
        "BusEq_percent": "-3.90",
        "return_decimal": "-0.0390",
        "loss_decimal": "0.0390",
        "source_line": "1012"
      },
      {
        "month": "200911",
        "BusEq_percent": "4.34",
        "return_decimal": "0.0434",
        "loss_decimal": "-0.0434",
        "source_line": "1013"
      },
      {
        "month": "200912",
        "BusEq_percent": "6.63",
        "return_decimal": "0.0663",
        "loss_decimal": "-0.0663",
        "source_line": "1014"
      },
      {
        "month": "201001",
        "BusEq_percent": "-8.05",
        "return_decimal": "-0.0805",
        "loss_decimal": "0.0805",
        "source_line": "1015"
      },
      {
        "month": "201002",
        "BusEq_percent": "6.25",
        "return_decimal": "0.0625",
        "loss_decimal": "-0.0625",
        "source_line": "1016"
      },
      {
        "month": "201003",
        "BusEq_percent": "8.19",
        "return_decimal": "0.0819",
        "loss_decimal": "-0.0819",
        "source_line": "1017"
      },
      {
        "month": "201004",
        "BusEq_percent": "3.83",
        "return_decimal": "0.0383",
        "loss_decimal": "-0.0383",
        "source_line": "1018"
      },
      {
        "month": "201005",
        "BusEq_percent": "-7.24",
        "return_decimal": "-0.0724",
        "loss_decimal": "0.0724",
        "source_line": "1019"
      },
      {
        "month": "201006",
        "BusEq_percent": "-6.05",
        "return_decimal": "-0.0605",
        "loss_decimal": "0.0605",
        "source_line": "1020"
      },
      {
        "month": "201007",
        "BusEq_percent": "6.45",
        "return_decimal": "0.0645",
        "loss_decimal": "-0.0645",
        "source_line": "1021"
      },
      {
        "month": "201008",
        "BusEq_percent": "-8.40",
        "return_decimal": "-0.0840",
        "loss_decimal": "0.0840",
        "source_line": "1022"
      },
      {
        "month": "201009",
        "BusEq_percent": "13.79",
        "return_decimal": "0.1379",
        "loss_decimal": "-0.1379",
        "source_line": "1023"
      },
      {
        "month": "201010",
        "BusEq_percent": "4.48",
        "return_decimal": "0.0448",
        "loss_decimal": "-0.0448",
        "source_line": "1024"
      },
      {
        "month": "201011",
        "BusEq_percent": "1.03",
        "return_decimal": "0.0103",
        "loss_decimal": "-0.0103",
        "source_line": "1025"
      },
      {
        "month": "201012",
        "BusEq_percent": "5.20",
        "return_decimal": "0.0520",
        "loss_decimal": "-0.0520",
        "source_line": "1026"
      },
      {
        "month": "201101",
        "BusEq_percent": "4.85",
        "return_decimal": "0.0485",
        "loss_decimal": "-0.0485",
        "source_line": "1027"
      },
      {
        "month": "201102",
        "BusEq_percent": "3.07",
        "return_decimal": "0.0307",
        "loss_decimal": "-0.0307",
        "source_line": "1028"
      },
      {
        "month": "201103",
        "BusEq_percent": "-2.50",
        "return_decimal": "-0.0250",
        "loss_decimal": "0.0250",
        "source_line": "1029"
      },
      {
        "month": "201104",
        "BusEq_percent": "3.05",
        "return_decimal": "0.0305",
        "loss_decimal": "-0.0305",
        "source_line": "1030"
      },
      {
        "month": "201105",
        "BusEq_percent": "-1.28",
        "return_decimal": "-0.0128",
        "loss_decimal": "0.0128",
        "source_line": "1031"
      },
      {
        "month": "201106",
        "BusEq_percent": "-3.47",
        "return_decimal": "-0.0347",
        "loss_decimal": "0.0347",
        "source_line": "1032"
      },
      {
        "month": "201107",
        "BusEq_percent": "-1.57",
        "return_decimal": "-0.0157",
        "loss_decimal": "0.0157",
        "source_line": "1033"
      },
      {
        "month": "201108",
        "BusEq_percent": "-7.23",
        "return_decimal": "-0.0723",
        "loss_decimal": "0.0723",
        "source_line": "1034"
      },
      {
        "month": "201109",
        "BusEq_percent": "-5.34",
        "return_decimal": "-0.0534",
        "loss_decimal": "0.0534",
        "source_line": "1035"
      },
      {
        "month": "201110",
        "BusEq_percent": "12.08",
        "return_decimal": "0.1208",
        "loss_decimal": "-0.1208",
        "source_line": "1036"
      },
      {
        "month": "201111",
        "BusEq_percent": "-1.99",
        "return_decimal": "-0.0199",
        "loss_decimal": "0.0199",
        "source_line": "1037"
      },
      {
        "month": "201112",
        "BusEq_percent": "-0.75",
        "return_decimal": "-0.0075",
        "loss_decimal": "0.0075",
        "source_line": "1038"
      },
      {
        "month": "201201",
        "BusEq_percent": "10.66",
        "return_decimal": "0.1066",
        "loss_decimal": "-0.1066",
        "source_line": "1039"
      },
      {
        "month": "201202",
        "BusEq_percent": "7.37",
        "return_decimal": "0.0737",
        "loss_decimal": "-0.0737",
        "source_line": "1040"
      },
      {
        "month": "201203",
        "BusEq_percent": "5.34",
        "return_decimal": "0.0534",
        "loss_decimal": "-0.0534",
        "source_line": "1041"
      },
      {
        "month": "201204",
        "BusEq_percent": "-3.26",
        "return_decimal": "-0.0326",
        "loss_decimal": "0.0326",
        "source_line": "1042"
      },
      {
        "month": "201205",
        "BusEq_percent": "-8.08",
        "return_decimal": "-0.0808",
        "loss_decimal": "0.0808",
        "source_line": "1043"
      },
      {
        "month": "201206",
        "BusEq_percent": "1.68",
        "return_decimal": "0.0168",
        "loss_decimal": "-0.0168",
        "source_line": "1044"
      },
      {
        "month": "201207",
        "BusEq_percent": "0.71",
        "return_decimal": "0.0071",
        "loss_decimal": "-0.0071",
        "source_line": "1045"
      },
      {
        "month": "201208",
        "BusEq_percent": "5.40",
        "return_decimal": "0.0540",
        "loss_decimal": "-0.0540",
        "source_line": "1046"
      },
      {
        "month": "201209",
        "BusEq_percent": "-0.28",
        "return_decimal": "-0.0028",
        "loss_decimal": "0.0028",
        "source_line": "1047"
      },
      {
        "month": "201210",
        "BusEq_percent": "-7.27",
        "return_decimal": "-0.0727",
        "loss_decimal": "0.0727",
        "source_line": "1048"
      },
      {
        "month": "201211",
        "BusEq_percent": "1.68",
        "return_decimal": "0.0168",
        "loss_decimal": "-0.0168",
        "source_line": "1049"
      },
      {
        "month": "201212",
        "BusEq_percent": "-0.61",
        "return_decimal": "-0.0061",
        "loss_decimal": "0.0061",
        "source_line": "1050"
      },
      {
        "month": "201301",
        "BusEq_percent": "-0.87",
        "return_decimal": "-0.0087",
        "loss_decimal": "0.0087",
        "source_line": "1051"
      },
      {
        "month": "201302",
        "BusEq_percent": "0.40",
        "return_decimal": "0.0040",
        "loss_decimal": "-0.0040",
        "source_line": "1052"
      },
      {
        "month": "201303",
        "BusEq_percent": "3.01",
        "return_decimal": "0.0301",
        "loss_decimal": "-0.0301",
        "source_line": "1053"
      },
      {
        "month": "201304",
        "BusEq_percent": "-0.86",
        "return_decimal": "-0.0086",
        "loss_decimal": "0.0086",
        "source_line": "1054"
      },
      {
        "month": "201305",
        "BusEq_percent": "5.40",
        "return_decimal": "0.0540",
        "loss_decimal": "-0.0540",
        "source_line": "1055"
      },
      {
        "month": "201306",
        "BusEq_percent": "-3.39",
        "return_decimal": "-0.0339",
        "loss_decimal": "0.0339",
        "source_line": "1056"
      },
      {
        "month": "201307",
        "BusEq_percent": "7.12",
        "return_decimal": "0.0712",
        "loss_decimal": "-0.0712",
        "source_line": "1057"
      },
      {
        "month": "201308",
        "BusEq_percent": "-0.49",
        "return_decimal": "-0.0049",
        "loss_decimal": "0.0049",
        "source_line": "1058"
      },
      {
        "month": "201309",
        "BusEq_percent": "2.67",
        "return_decimal": "0.0267",
        "loss_decimal": "-0.0267",
        "source_line": "1059"
      },
      {
        "month": "201310",
        "BusEq_percent": "4.55",
        "return_decimal": "0.0455",
        "loss_decimal": "-0.0455",
        "source_line": "1060"
      },
      {
        "month": "201311",
        "BusEq_percent": "3.60",
        "return_decimal": "0.0360",
        "loss_decimal": "-0.0360",
        "source_line": "1061"
      },
      {
        "month": "201312",
        "BusEq_percent": "3.51",
        "return_decimal": "0.0351",
        "loss_decimal": "-0.0351",
        "source_line": "1062"
      },
      {
        "month": "201401",
        "BusEq_percent": "-2.79",
        "return_decimal": "-0.0279",
        "loss_decimal": "0.0279",
        "source_line": "1063"
      },
      {
        "month": "201402",
        "BusEq_percent": "4.66",
        "return_decimal": "0.0466",
        "loss_decimal": "-0.0466",
        "source_line": "1064"
      },
      {
        "month": "201403",
        "BusEq_percent": "1.57",
        "return_decimal": "0.0157",
        "loss_decimal": "-0.0157",
        "source_line": "1065"
      },
      {
        "month": "201404",
        "BusEq_percent": "0.94",
        "return_decimal": "0.0094",
        "loss_decimal": "-0.0094",
        "source_line": "1066"
      },
      {
        "month": "201405",
        "BusEq_percent": "4.43",
        "return_decimal": "0.0443",
        "loss_decimal": "-0.0443",
        "source_line": "1067"
      },
      {
        "month": "201406",
        "BusEq_percent": "3.45",
        "return_decimal": "0.0345",
        "loss_decimal": "-0.0345",
        "source_line": "1068"
      },
      {
        "month": "201407",
        "BusEq_percent": "-0.46",
        "return_decimal": "-0.0046",
        "loss_decimal": "0.0046",
        "source_line": "1069"
      },
      {
        "month": "201408",
        "BusEq_percent": "5.13",
        "return_decimal": "0.0513",
        "loss_decimal": "-0.0513",
        "source_line": "1070"
      },
      {
        "month": "201409",
        "BusEq_percent": "-1.77",
        "return_decimal": "-0.0177",
        "loss_decimal": "0.0177",
        "source_line": "1071"
      },
      {
        "month": "201410",
        "BusEq_percent": "2.92",
        "return_decimal": "0.0292",
        "loss_decimal": "-0.0292",
        "source_line": "1072"
      },
      {
        "month": "201411",
        "BusEq_percent": "6.47",
        "return_decimal": "0.0647",
        "loss_decimal": "-0.0647",
        "source_line": "1073"
      },
      {
        "month": "201412",
        "BusEq_percent": "-1.64",
        "return_decimal": "-0.0164",
        "loss_decimal": "0.0164",
        "source_line": "1074"
      },
      {
        "month": "201501",
        "BusEq_percent": "-2.26",
        "return_decimal": "-0.0226",
        "loss_decimal": "0.0226",
        "source_line": "1075"
      },
      {
        "month": "201502",
        "BusEq_percent": "8.43",
        "return_decimal": "0.0843",
        "loss_decimal": "-0.0843",
        "source_line": "1076"
      },
      {
        "month": "201503",
        "BusEq_percent": "-3.08",
        "return_decimal": "-0.0308",
        "loss_decimal": "0.0308",
        "source_line": "1077"
      },
      {
        "month": "201504",
        "BusEq_percent": "-0.06",
        "return_decimal": "-0.0006",
        "loss_decimal": "0.0006",
        "source_line": "1078"
      },
      {
        "month": "201505",
        "BusEq_percent": "4.09",
        "return_decimal": "0.0409",
        "loss_decimal": "-0.0409",
        "source_line": "1079"
      },
      {
        "month": "201506",
        "BusEq_percent": "-4.87",
        "return_decimal": "-0.0487",
        "loss_decimal": "0.0487",
        "source_line": "1080"
      },
      {
        "month": "201507",
        "BusEq_percent": "-0.81",
        "return_decimal": "-0.0081",
        "loss_decimal": "0.0081",
        "source_line": "1081"
      },
      {
        "month": "201508",
        "BusEq_percent": "-6.31",
        "return_decimal": "-0.0631",
        "loss_decimal": "0.0631",
        "source_line": "1082"
      },
      {
        "month": "201509",
        "BusEq_percent": "-1.71",
        "return_decimal": "-0.0171",
        "loss_decimal": "0.0171",
        "source_line": "1083"
      },
      {
        "month": "201510",
        "BusEq_percent": "8.54",
        "return_decimal": "0.0854",
        "loss_decimal": "-0.0854",
        "source_line": "1084"
      },
      {
        "month": "201511",
        "BusEq_percent": "0.31",
        "return_decimal": "0.0031",
        "loss_decimal": "-0.0031",
        "source_line": "1085"
      },
      {
        "month": "201512",
        "BusEq_percent": "-4.57",
        "return_decimal": "-0.0457",
        "loss_decimal": "0.0457",
        "source_line": "1086"
      },
      {
        "month": "201601",
        "BusEq_percent": "-7.72",
        "return_decimal": "-0.0772",
        "loss_decimal": "0.0772",
        "source_line": "1087"
      },
      {
        "month": "201602",
        "BusEq_percent": "1.45",
        "return_decimal": "0.0145",
        "loss_decimal": "-0.0145",
        "source_line": "1088"
      },
      {
        "month": "201603",
        "BusEq_percent": "8.83",
        "return_decimal": "0.0883",
        "loss_decimal": "-0.0883",
        "source_line": "1089"
      },
      {
        "month": "201604",
        "BusEq_percent": "-5.42",
        "return_decimal": "-0.0542",
        "loss_decimal": "0.0542",
        "source_line": "1090"
      },
      {
        "month": "201605",
        "BusEq_percent": "5.53",
        "return_decimal": "0.0553",
        "loss_decimal": "-0.0553",
        "source_line": "1091"
      },
      {
        "month": "201606",
        "BusEq_percent": "-1.37",
        "return_decimal": "-0.0137",
        "loss_decimal": "0.0137",
        "source_line": "1092"
      },
      {
        "month": "201607",
        "BusEq_percent": "7.98",
        "return_decimal": "0.0798",
        "loss_decimal": "-0.0798",
        "source_line": "1093"
      },
      {
        "month": "201608",
        "BusEq_percent": "2.33",
        "return_decimal": "0.0233",
        "loss_decimal": "-0.0233",
        "source_line": "1094"
      },
      {
        "month": "201609",
        "BusEq_percent": "3.99",
        "return_decimal": "0.0399",
        "loss_decimal": "-0.0399",
        "source_line": "1095"
      },
      {
        "month": "201610",
        "BusEq_percent": "-2.24",
        "return_decimal": "-0.0224",
        "loss_decimal": "0.0224",
        "source_line": "1096"
      },
      {
        "month": "201611",
        "BusEq_percent": "2.41",
        "return_decimal": "0.0241",
        "loss_decimal": "-0.0241",
        "source_line": "1097"
      },
      {
        "month": "201612",
        "BusEq_percent": "2.07",
        "return_decimal": "0.0207",
        "loss_decimal": "-0.0207",
        "source_line": "1098"
      },
      {
        "month": "201701",
        "BusEq_percent": "3.28",
        "return_decimal": "0.0328",
        "loss_decimal": "-0.0328",
        "source_line": "1099"
      },
      {
        "month": "201702",
        "BusEq_percent": "6.70",
        "return_decimal": "0.0670",
        "loss_decimal": "-0.0670",
        "source_line": "1100"
      },
      {
        "month": "201703",
        "BusEq_percent": "2.37",
        "return_decimal": "0.0237",
        "loss_decimal": "-0.0237",
        "source_line": "1101"
      },
      {
        "month": "201704",
        "BusEq_percent": "0.85",
        "return_decimal": "0.0085",
        "loss_decimal": "-0.0085",
        "source_line": "1102"
      },
      {
        "month": "201705",
        "BusEq_percent": "4.53",
        "return_decimal": "0.0453",
        "loss_decimal": "-0.0453",
        "source_line": "1103"
      },
      {
        "month": "201706",
        "BusEq_percent": "-3.37",
        "return_decimal": "-0.0337",
        "loss_decimal": "0.0337",
        "source_line": "1104"
      },
      {
        "month": "201707",
        "BusEq_percent": "3.05",
        "return_decimal": "0.0305",
        "loss_decimal": "-0.0305",
        "source_line": "1105"
      },
      {
        "month": "201708",
        "BusEq_percent": "4.92",
        "return_decimal": "0.0492",
        "loss_decimal": "-0.0492",
        "source_line": "1106"
      },
      {
        "month": "201709",
        "BusEq_percent": "1.07",
        "return_decimal": "0.0107",
        "loss_decimal": "-0.0107",
        "source_line": "1107"
      },
      {
        "month": "201710",
        "BusEq_percent": "7.12",
        "return_decimal": "0.0712",
        "loss_decimal": "-0.0712",
        "source_line": "1108"
      },
      {
        "month": "201711",
        "BusEq_percent": "2.52",
        "return_decimal": "0.0252",
        "loss_decimal": "-0.0252",
        "source_line": "1109"
      },
      {
        "month": "201712",
        "BusEq_percent": "-0.83",
        "return_decimal": "-0.0083",
        "loss_decimal": "0.0083",
        "source_line": "1110"
      },
      {
        "month": "201801",
        "BusEq_percent": "5.51",
        "return_decimal": "0.0551",
        "loss_decimal": "-0.0551",
        "source_line": "1111"
      },
      {
        "month": "201802",
        "BusEq_percent": "1.98",
        "return_decimal": "0.0198",
        "loss_decimal": "-0.0198",
        "source_line": "1112"
      },
      {
        "month": "201803",
        "BusEq_percent": "-2.71",
        "return_decimal": "-0.0271",
        "loss_decimal": "0.0271",
        "source_line": "1113"
      },
      {
        "month": "201804",
        "BusEq_percent": "-2.05",
        "return_decimal": "-0.0205",
        "loss_decimal": "0.0205",
        "source_line": "1114"
      },
      {
        "month": "201805",
        "BusEq_percent": "7.79",
        "return_decimal": "0.0779",
        "loss_decimal": "-0.0779",
        "source_line": "1115"
      },
      {
        "month": "201806",
        "BusEq_percent": "-2.01",
        "return_decimal": "-0.0201",
        "loss_decimal": "0.0201",
        "source_line": "1116"
      },
      {
        "month": "201807",
        "BusEq_percent": "2.76",
        "return_decimal": "0.0276",
        "loss_decimal": "-0.0276",
        "source_line": "1117"
      },
      {
        "month": "201808",
        "BusEq_percent": "9.59",
        "return_decimal": "0.0959",
        "loss_decimal": "-0.0959",
        "source_line": "1118"
      },
      {
        "month": "201809",
        "BusEq_percent": "-0.18",
        "return_decimal": "-0.0018",
        "loss_decimal": "0.0018",
        "source_line": "1119"
      },
      {
        "month": "201810",
        "BusEq_percent": "-8.18",
        "return_decimal": "-0.0818",
        "loss_decimal": "0.0818",
        "source_line": "1120"
      },
      {
        "month": "201811",
        "BusEq_percent": "-4.70",
        "return_decimal": "-0.0470",
        "loss_decimal": "0.0470",
        "source_line": "1121"
      },
      {
        "month": "201812",
        "BusEq_percent": "-9.01",
        "return_decimal": "-0.0901",
        "loss_decimal": "0.0901",
        "source_line": "1122"
      },
      {
        "month": "201901",
        "BusEq_percent": "7.46",
        "return_decimal": "0.0746",
        "loss_decimal": "-0.0746",
        "source_line": "1123"
      },
      {
        "month": "201902",
        "BusEq_percent": "7.38",
        "return_decimal": "0.0738",
        "loss_decimal": "-0.0738",
        "source_line": "1124"
      },
      {
        "month": "201903",
        "BusEq_percent": "4.35",
        "return_decimal": "0.0435",
        "loss_decimal": "-0.0435",
        "source_line": "1125"
      },
      {
        "month": "201904",
        "BusEq_percent": "5.30",
        "return_decimal": "0.0530",
        "loss_decimal": "-0.0530",
        "source_line": "1126"
      },
      {
        "month": "201905",
        "BusEq_percent": "-11.62",
        "return_decimal": "-0.1162",
        "loss_decimal": "0.1162",
        "source_line": "1127"
      },
      {
        "month": "201906",
        "BusEq_percent": "11.16",
        "return_decimal": "0.1116",
        "loss_decimal": "-0.1116",
        "source_line": "1128"
      },
      {
        "month": "201907",
        "BusEq_percent": "3.26",
        "return_decimal": "0.0326",
        "loss_decimal": "-0.0326",
        "source_line": "1129"
      },
      {
        "month": "201908",
        "BusEq_percent": "-3.11",
        "return_decimal": "-0.0311",
        "loss_decimal": "0.0311",
        "source_line": "1130"
      },
      {
        "month": "201909",
        "BusEq_percent": "4.23",
        "return_decimal": "0.0423",
        "loss_decimal": "-0.0423",
        "source_line": "1131"
      },
      {
        "month": "201910",
        "BusEq_percent": "5.09",
        "return_decimal": "0.0509",
        "loss_decimal": "-0.0509",
        "source_line": "1132"
      },
      {
        "month": "201911",
        "BusEq_percent": "5.02",
        "return_decimal": "0.0502",
        "loss_decimal": "-0.0502",
        "source_line": "1133"
      },
      {
        "month": "201912",
        "BusEq_percent": "6.32",
        "return_decimal": "0.0632",
        "loss_decimal": "-0.0632",
        "source_line": "1134"
      },
      {
        "month": "202001",
        "BusEq_percent": "0.97",
        "return_decimal": "0.0097",
        "loss_decimal": "-0.0097",
        "source_line": "1135"
      },
      {
        "month": "202002",
        "BusEq_percent": "-9.02",
        "return_decimal": "-0.0902",
        "loss_decimal": "0.0902",
        "source_line": "1136"
      },
      {
        "month": "202003",
        "BusEq_percent": "-8.65",
        "return_decimal": "-0.0865",
        "loss_decimal": "0.0865",
        "source_line": "1137"
      },
      {
        "month": "202004",
        "BusEq_percent": "13.97",
        "return_decimal": "0.1397",
        "loss_decimal": "-0.1397",
        "source_line": "1138"
      },
      {
        "month": "202005",
        "BusEq_percent": "8.02",
        "return_decimal": "0.0802",
        "loss_decimal": "-0.0802",
        "source_line": "1139"
      },
      {
        "month": "202006",
        "BusEq_percent": "6.63",
        "return_decimal": "0.0663",
        "loss_decimal": "-0.0663",
        "source_line": "1140"
      },
      {
        "month": "202007",
        "BusEq_percent": "9.52",
        "return_decimal": "0.0952",
        "loss_decimal": "-0.0952",
        "source_line": "1141"
      },
      {
        "month": "202008",
        "BusEq_percent": "11.76",
        "return_decimal": "0.1176",
        "loss_decimal": "-0.1176",
        "source_line": "1142"
      },
      {
        "month": "202009",
        "BusEq_percent": "-5.14",
        "return_decimal": "-0.0514",
        "loss_decimal": "0.0514",
        "source_line": "1143"
      },
      {
        "month": "202010",
        "BusEq_percent": "-3.18",
        "return_decimal": "-0.0318",
        "loss_decimal": "0.0318",
        "source_line": "1144"
      },
      {
        "month": "202011",
        "BusEq_percent": "11.73",
        "return_decimal": "0.1173",
        "loss_decimal": "-0.1173",
        "source_line": "1145"
      },
      {
        "month": "202012",
        "BusEq_percent": "7.21",
        "return_decimal": "0.0721",
        "loss_decimal": "-0.0721",
        "source_line": "1146"
      },
      {
        "month": "202101",
        "BusEq_percent": "1.26",
        "return_decimal": "0.0126",
        "loss_decimal": "-0.0126",
        "source_line": "1147"
      },
      {
        "month": "202102",
        "BusEq_percent": "-1.90",
        "return_decimal": "-0.0190",
        "loss_decimal": "0.0190",
        "source_line": "1148"
      },
      {
        "month": "202103",
        "BusEq_percent": "1.69",
        "return_decimal": "0.0169",
        "loss_decimal": "-0.0169",
        "source_line": "1149"
      },
      {
        "month": "202104",
        "BusEq_percent": "4.07",
        "return_decimal": "0.0407",
        "loss_decimal": "-0.0407",
        "source_line": "1150"
      },
      {
        "month": "202105",
        "BusEq_percent": "-0.76",
        "return_decimal": "-0.0076",
        "loss_decimal": "0.0076",
        "source_line": "1151"
      },
      {
        "month": "202106",
        "BusEq_percent": "7.42",
        "return_decimal": "0.0742",
        "loss_decimal": "-0.0742",
        "source_line": "1152"
      },
      {
        "month": "202107",
        "BusEq_percent": "3.59",
        "return_decimal": "0.0359",
        "loss_decimal": "-0.0359",
        "source_line": "1153"
      },
      {
        "month": "202108",
        "BusEq_percent": "4.03",
        "return_decimal": "0.0403",
        "loss_decimal": "-0.0403",
        "source_line": "1154"
      },
      {
        "month": "202109",
        "BusEq_percent": "-5.82",
        "return_decimal": "-0.0582",
        "loss_decimal": "0.0582",
        "source_line": "1155"
      },
      {
        "month": "202110",
        "BusEq_percent": "7.15",
        "return_decimal": "0.0715",
        "loss_decimal": "-0.0715",
        "source_line": "1156"
      },
      {
        "month": "202111",
        "BusEq_percent": "8.76",
        "return_decimal": "0.0876",
        "loss_decimal": "-0.0876",
        "source_line": "1157"
      },
      {
        "month": "202112",
        "BusEq_percent": "4.38",
        "return_decimal": "0.0438",
        "loss_decimal": "-0.0438",
        "source_line": "1158"
      },
      {
        "month": "202201",
        "BusEq_percent": "-7.72",
        "return_decimal": "-0.0772",
        "loss_decimal": "0.0772",
        "source_line": "1159"
      },
      {
        "month": "202202",
        "BusEq_percent": "-2.66",
        "return_decimal": "-0.0266",
        "loss_decimal": "0.0266",
        "source_line": "1160"
      },
      {
        "month": "202203",
        "BusEq_percent": "4.35",
        "return_decimal": "0.0435",
        "loss_decimal": "-0.0435",
        "source_line": "1161"
      },
      {
        "month": "202204",
        "BusEq_percent": "-12.41",
        "return_decimal": "-0.1241",
        "loss_decimal": "0.1241",
        "source_line": "1162"
      },
      {
        "month": "202205",
        "BusEq_percent": "-0.86",
        "return_decimal": "-0.0086",
        "loss_decimal": "0.0086",
        "source_line": "1163"
      },
      {
        "month": "202206",
        "BusEq_percent": "-10.18",
        "return_decimal": "-0.1018",
        "loss_decimal": "0.1018",
        "source_line": "1164"
      },
      {
        "month": "202207",
        "BusEq_percent": "15.79",
        "return_decimal": "0.1579",
        "loss_decimal": "-0.1579",
        "source_line": "1165"
      },
      {
        "month": "202208",
        "BusEq_percent": "-5.86",
        "return_decimal": "-0.0586",
        "loss_decimal": "0.0586",
        "source_line": "1166"
      },
      {
        "month": "202209",
        "BusEq_percent": "-11.67",
        "return_decimal": "-0.1167",
        "loss_decimal": "0.1167",
        "source_line": "1167"
      },
      {
        "month": "202210",
        "BusEq_percent": "8.83",
        "return_decimal": "0.0883",
        "loss_decimal": "-0.0883",
        "source_line": "1168"
      },
      {
        "month": "202211",
        "BusEq_percent": "5.19",
        "return_decimal": "0.0519",
        "loss_decimal": "-0.0519",
        "source_line": "1169"
      },
      {
        "month": "202212",
        "BusEq_percent": "-9.11",
        "return_decimal": "-0.0911",
        "loss_decimal": "0.0911",
        "source_line": "1170"
      },
      {
        "month": "202301",
        "BusEq_percent": "9.85",
        "return_decimal": "0.0985",
        "loss_decimal": "-0.0985",
        "source_line": "1171"
      },
      {
        "month": "202302",
        "BusEq_percent": "1.36",
        "return_decimal": "0.0136",
        "loss_decimal": "-0.0136",
        "source_line": "1172"
      },
      {
        "month": "202303",
        "BusEq_percent": "9.85",
        "return_decimal": "0.0985",
        "loss_decimal": "-0.0985",
        "source_line": "1173"
      },
      {
        "month": "202304",
        "BusEq_percent": "-1.83",
        "return_decimal": "-0.0183",
        "loss_decimal": "0.0183",
        "source_line": "1174"
      },
      {
        "month": "202305",
        "BusEq_percent": "8.26",
        "return_decimal": "0.0826",
        "loss_decimal": "-0.0826",
        "source_line": "1175"
      },
      {
        "month": "202306",
        "BusEq_percent": "8.02",
        "return_decimal": "0.0802",
        "loss_decimal": "-0.0802",
        "source_line": "1176"
      },
      {
        "month": "202307",
        "BusEq_percent": "3.49",
        "return_decimal": "0.0349",
        "loss_decimal": "-0.0349",
        "source_line": "1177"
      },
      {
        "month": "202308",
        "BusEq_percent": "-1.52",
        "return_decimal": "-0.0152",
        "loss_decimal": "0.0152",
        "source_line": "1178"
      },
      {
        "month": "202309",
        "BusEq_percent": "-7.91",
        "return_decimal": "-0.0791",
        "loss_decimal": "0.0791",
        "source_line": "1179"
      },
      {
        "month": "202310",
        "BusEq_percent": "-3.88",
        "return_decimal": "-0.0388",
        "loss_decimal": "0.0388",
        "source_line": "1180"
      },
      {
        "month": "202311",
        "BusEq_percent": "12.13",
        "return_decimal": "0.1213",
        "loss_decimal": "-0.1213",
        "source_line": "1181"
      },
      {
        "month": "202312",
        "BusEq_percent": "6.29",
        "return_decimal": "0.0629",
        "loss_decimal": "-0.0629",
        "source_line": "1182"
      },
      {
        "month": "202401",
        "BusEq_percent": "2.34",
        "return_decimal": "0.0234",
        "loss_decimal": "-0.0234",
        "source_line": "1183"
      },
      {
        "month": "202402",
        "BusEq_percent": "7.98",
        "return_decimal": "0.0798",
        "loss_decimal": "-0.0798",
        "source_line": "1184"
      },
      {
        "month": "202403",
        "BusEq_percent": "2.95",
        "return_decimal": "0.0295",
        "loss_decimal": "-0.0295",
        "source_line": "1185"
      },
      {
        "month": "202404",
        "BusEq_percent": "-3.53",
        "return_decimal": "-0.0353",
        "loss_decimal": "0.0353",
        "source_line": "1186"
      },
      {
        "month": "202405",
        "BusEq_percent": "13.40",
        "return_decimal": "0.1340",
        "loss_decimal": "-0.1340",
        "source_line": "1187"
      },
      {
        "month": "202406",
        "BusEq_percent": "7.77",
        "return_decimal": "0.0777",
        "loss_decimal": "-0.0777",
        "source_line": "1188"
      },
      {
        "month": "202407",
        "BusEq_percent": "0.33",
        "return_decimal": "0.0033",
        "loss_decimal": "-0.0033",
        "source_line": "1189"
      },
      {
        "month": "202408",
        "BusEq_percent": "1.46",
        "return_decimal": "0.0146",
        "loss_decimal": "-0.0146",
        "source_line": "1190"
      },
      {
        "month": "202409",
        "BusEq_percent": "2.24",
        "return_decimal": "0.0224",
        "loss_decimal": "-0.0224",
        "source_line": "1191"
      },
      {
        "month": "202410",
        "BusEq_percent": "0.00",
        "return_decimal": "0.0000",
        "loss_decimal": "-0.0000",
        "source_line": "1192"
      },
      {
        "month": "202411",
        "BusEq_percent": "3.50",
        "return_decimal": "0.0350",
        "loss_decimal": "-0.0350",
        "source_line": "1193"
      },
      {
        "month": "202412",
        "BusEq_percent": "2.50",
        "return_decimal": "0.0250",
        "loss_decimal": "-0.0250",
        "source_line": "1194"
      },
      {
        "month": "202501",
        "BusEq_percent": "-4.44",
        "return_decimal": "-0.0444",
        "loss_decimal": "0.0444",
        "source_line": "1195"
      },
      {
        "month": "202502",
        "BusEq_percent": "-0.74",
        "return_decimal": "-0.0074",
        "loss_decimal": "0.0074",
        "source_line": "1196"
      },
      {
        "month": "202503",
        "BusEq_percent": "-9.82",
        "return_decimal": "-0.0982",
        "loss_decimal": "0.0982",
        "source_line": "1197"
      },
      {
        "month": "202504",
        "BusEq_percent": "-1.17",
        "return_decimal": "-0.0117",
        "loss_decimal": "0.0117",
        "source_line": "1198"
      },
      {
        "month": "202505",
        "BusEq_percent": "9.29",
        "return_decimal": "0.0929",
        "loss_decimal": "-0.0929",
        "source_line": "1199"
      },
      {
        "month": "202506",
        "BusEq_percent": "10.80",
        "return_decimal": "0.1080",
        "loss_decimal": "-0.1080",
        "source_line": "1200"
      },
      {
        "month": "202507",
        "BusEq_percent": "6.13",
        "return_decimal": "0.0613",
        "loss_decimal": "-0.0613",
        "source_line": "1201"
      },
      {
        "month": "202508",
        "BusEq_percent": "3.40",
        "return_decimal": "0.0340",
        "loss_decimal": "-0.0340",
        "source_line": "1202"
      },
      {
        "month": "202509",
        "BusEq_percent": "8.15",
        "return_decimal": "0.0815",
        "loss_decimal": "-0.0815",
        "source_line": "1203"
      },
      {
        "month": "202510",
        "BusEq_percent": "9.17",
        "return_decimal": "0.0917",
        "loss_decimal": "-0.0917",
        "source_line": "1204"
      },
      {
        "month": "202511",
        "BusEq_percent": "-2.88",
        "return_decimal": "-0.0288",
        "loss_decimal": "0.0288",
        "source_line": "1205"
      },
      {
        "month": "202512",
        "BusEq_percent": "-0.66",
        "return_decimal": "-0.0066",
        "loss_decimal": "0.0066",
        "source_line": "1206"
      }
    ],
    "validation_ledger": [
      {
        "key": "p1-l0",
        "p": 1,
        "lambda": 0.0,
        "n": 120,
        "rmse_decimal": 0.05045915640801843,
        "mae_decimal": 0.041517385484932286,
        "sse_decimal_squared": 0.3055351758490641,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.006534614596796162,
        "mean_train_rmse_decimal": 0.07836753483816335,
        "mean_beta_norm": 0.0014615416134109065
      },
      {
        "key": "p1-l0.1",
        "p": 1,
        "lambda": 0.1,
        "n": 120,
        "rmse_decimal": 0.0504434493225498,
        "mae_decimal": 0.04150503553732705,
        "sse_decimal_squared": 0.305344989546798,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.005908077583763216,
        "mean_train_rmse_decimal": 0.07836765669505215,
        "mean_beta_norm": 0.001328674194009915
      },
      {
        "key": "p1-l1",
        "p": 1,
        "lambda": 1.0,
        "n": 120,
        "rmse_decimal": 0.050374725305139666,
        "mae_decimal": 0.04144946077310352,
        "sse_decimal_squared": 0.30451355394819346,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.0031690518480917973,
        "mean_train_rmse_decimal": 0.07837122090042192,
        "mean_beta_norm": 0.0007307708067054532
      },
      {
        "key": "p1-l10",
        "p": 1,
        "lambda": 10.0,
        "n": 120,
        "rmse_decimal": 0.05030921470775232,
        "mae_decimal": 0.04139388600887999,
        "sse_decimal_squared": 0.3037220501412867,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.0005615747318388209,
        "mean_train_rmse_decimal": 0.07837971931183126,
        "mean_beta_norm": 0.00013286741940099153
      },
      {
        "key": "p3-l0",
        "p": 3,
        "lambda": 0.0,
        "n": 120,
        "rmse_decimal": 0.05061215322545209,
        "mae_decimal": 0.04106420261487309,
        "sse_decimal_squared": 0.30739080649399686,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.012647679879184803,
        "mean_train_rmse_decimal": 0.07807872252516207,
        "mean_beta_norm": 0.006829627564629242
      },
      {
        "key": "p3-l0.1",
        "p": 3,
        "lambda": 0.1,
        "n": 120,
        "rmse_decimal": 0.05057073274925227,
        "mae_decimal": 0.04107964782144354,
        "sse_decimal_squared": 0.30688788129555555,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.010990876797911442,
        "mean_train_rmse_decimal": 0.07808116766480033,
        "mean_beta_norm": 0.006216922808392738
      },
      {
        "key": "p3-l1",
        "p": 3,
        "lambda": 1.0,
        "n": 120,
        "rmse_decimal": 0.050415189132425355,
        "mae_decimal": 0.04119319794088291,
        "sse_decimal_squared": 0.3050029554309864,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.004781303306527596,
        "mean_train_rmse_decimal": 0.07815353738113272,
        "mean_beta_norm": 0.003440490044876775
      },
      {
        "key": "p3-l10",
        "p": 3,
        "lambda": 10.0,
        "n": 120,
        "rmse_decimal": 0.05031109715989309,
        "mae_decimal": 0.04134451295699682,
        "sse_decimal_squared": 0.30374477969186436,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.0006364534405407518,
        "mean_train_rmse_decimal": 0.07832893924850517,
        "mean_beta_norm": 0.0006296889364991363
      },
      {
        "key": "p12-l0",
        "p": 12,
        "lambda": 0.0,
        "n": 120,
        "rmse_decimal": 0.05135414958326497,
        "mae_decimal": 0.04166338926915809,
        "sse_decimal_squared": 0.31646984153044244,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.04255704467138788,
        "mean_train_rmse_decimal": 0.07757181431487904,
        "mean_beta_norm": 0.011459832684340695
      },
      {
        "key": "p12-l0.1",
        "p": 12,
        "lambda": 0.1,
        "n": 120,
        "rmse_decimal": 0.051207657288217544,
        "mae_decimal": 0.04161090779009132,
        "sse_decimal_squared": 0.3146668997937047,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.03661755419836865,
        "mean_train_rmse_decimal": 0.07757928723331557,
        "mean_beta_norm": 0.010343850489743778
      },
      {
        "key": "p12-l1",
        "p": 12,
        "lambda": 1.0,
        "n": 120,
        "rmse_decimal": 0.050688303663885714,
        "mae_decimal": 0.041466238857951566,
        "sse_decimal_squared": 0.3083164953986748,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.015697207392072032,
        "mean_train_rmse_decimal": 0.07778195597693044,
        "mean_beta_norm": 0.005581722194977279
      },
      {
        "key": "p12-l10",
        "p": 12,
        "lambda": 10.0,
        "n": 120,
        "rmse_decimal": 0.050349393777743084,
        "mae_decimal": 0.0413836039246465,
        "sse_decimal_squared": 0.30420737445434803,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.0021603946354524783,
        "mean_train_rmse_decimal": 0.07824331776883953,
        "mean_beta_norm": 0.001015524644240653
      }
    ],
    "baselines": {
      "zero": {
        "n": 120,
        "rmse_decimal": 0.05213875717736279,
        "mae_decimal": 0.043195000000000004,
        "sse_decimal_squared": 0.326214,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": -0.07465754754301579
      },
      "expanding_mean": {
        "n": 120,
        "rmse_decimal": 0.050295094462774415,
        "mae_decimal": 0.04138153606127477,
        "sse_decimal_squared": 0.30355158324232817,
        "benchmark_sse_decimal_squared": 0.30355158324232817,
        "r2_os_vs_expanding_mean": 0.0
      }
    },
    "evaluation_rows": [
      {
        "month": "202001",
        "observed": 0.0097,
        "prediction": 0.01256720789624548,
        "expanding_mean": 0.012519540229885056,
        "train_target_end": "201912"
      },
      {
        "month": "202002",
        "observed": -0.0902,
        "prediction": 0.01250876436032154,
        "expanding_mean": 0.012511461318051576,
        "train_target_end": "202001"
      },
      {
        "month": "202003",
        "observed": -0.0865,
        "prediction": 0.012120826837065918,
        "expanding_mean": 0.012218,
        "train_target_end": "202002"
      },
      {
        "month": "202004",
        "observed": 0.1397,
        "prediction": 0.01179628940716988,
        "expanding_mean": 0.011936752136752138,
        "train_target_end": "202003"
      },
      {
        "month": "202005",
        "observed": 0.0802,
        "prediction": 0.012404226321641938,
        "expanding_mean": 0.01229971590909091,
        "train_target_end": "202004"
      },
      {
        "month": "202006",
        "observed": 0.0663,
        "prediction": 0.01257465001911723,
        "expanding_mean": 0.012492067988668558,
        "train_target_end": "202005"
      },
      {
        "month": "202007",
        "observed": 0.0952,
        "prediction": 0.012718497840429503,
        "expanding_mean": 0.012644067796610172,
        "train_target_end": "202006"
      },
      {
        "month": "202008",
        "observed": 0.1176,
        "prediction": 0.013007770092900684,
        "expanding_mean": 0.01287661971830986,
        "train_target_end": "202007"
      },
      {
        "month": "202009",
        "observed": -0.0514,
        "prediction": 0.013378625707239265,
        "expanding_mean": 0.013170786516853933,
        "train_target_end": "202008"
      },
      {
        "month": "202010",
        "observed": -0.0318,
        "prediction": 0.01288243658790182,
        "expanding_mean": 0.012989915966386555,
        "train_target_end": "202009"
      },
      {
        "month": "202011",
        "observed": 0.1173,
        "prediction": 0.012784379184181282,
        "expanding_mean": 0.012864804469273745,
        "train_target_end": "202010"
      },
      {
        "month": "202012",
        "observed": 0.0721,
        "prediction": 0.013320072875770216,
        "expanding_mean": 0.013155710306406686,
        "train_target_end": "202011"
      },
      {
        "month": "202101",
        "observed": 0.0126,
        "prediction": 0.013428251318910074,
        "expanding_mean": 0.013319444444444446,
        "train_target_end": "202012"
      },
      {
        "month": "202102",
        "observed": -0.019,
        "prediction": 0.013315992915740697,
        "expanding_mean": 0.013317451523545708,
        "train_target_end": "202101"
      },
      {
        "month": "202103",
        "observed": 0.0169,
        "prediction": 0.013168444174385218,
        "expanding_mean": 0.013228176795580112,
        "train_target_end": "202102"
      },
      {
        "month": "202104",
        "observed": 0.0407,
        "prediction": 0.013244908096261422,
        "expanding_mean": 0.013238292011019285,
        "train_target_end": "202103"
      },
      {
        "month": "202105",
        "observed": -0.0076,
        "prediction": 0.013364197338274235,
        "expanding_mean": 0.013313736263736265,
        "train_target_end": "202104"
      },
      {
        "month": "202106",
        "observed": 0.0742,
        "prediction": 0.013218341648265316,
        "expanding_mean": 0.013256438356164385,
        "train_target_end": "202105"
      },
      {
        "month": "202107",
        "observed": 0.0359,
        "prediction": 0.013529878376267696,
        "expanding_mean": 0.013422950819672133,
        "train_target_end": "202106"
      },
      {
        "month": "202108",
        "observed": 0.0403,
        "prediction": 0.013524880424168882,
        "expanding_mean": 0.013484196185286105,
        "train_target_end": "202107"
      },
      {
        "month": "202109",
        "observed": -0.0582,
        "prediction": 0.013606348738648438,
        "expanding_mean": 0.013557065217391305,
        "train_target_end": "202108"
      },
      {
        "month": "202110",
        "observed": 0.0715,
        "prediction": 0.013236579866184997,
        "expanding_mean": 0.01336260162601626,
        "train_target_end": "202109"
      },
      {
        "month": "202111",
        "observed": 0.0876,
        "prediction": 0.013610321631079973,
        "expanding_mean": 0.01351972972972973,
        "train_target_end": "202110"
      },
      {
        "month": "202112",
        "observed": 0.0438,
        "prediction": 0.01384913021681963,
        "expanding_mean": 0.013719407008086253,
        "train_target_end": "202111"
      },
      {
        "month": "202201",
        "observed": -0.0772,
        "prediction": 0.013855753636036946,
        "expanding_mean": 0.013800268817204302,
        "train_target_end": "202112"
      },
      {
        "month": "202202",
        "observed": -0.0266,
        "prediction": 0.013399265774880889,
        "expanding_mean": 0.013556300268096514,
        "train_target_end": "202201"
      },
      {
        "month": "202203",
        "observed": 0.0435,
        "prediction": 0.013373224160094952,
        "expanding_mean": 0.01344893048128342,
        "train_target_end": "202202"
      },
      {
        "month": "202204",
        "observed": -0.1241,
        "prediction": 0.013583817799060642,
        "expanding_mean": 0.013529066666666667,
        "train_target_end": "202203"
      },
      {
        "month": "202205",
        "observed": -0.0086,
        "prediction": 0.01293726488780009,
        "expanding_mean": 0.013163031914893618,
        "train_target_end": "202204"
      },
      {
        "month": "202206",
        "observed": -0.1018,
        "prediction": 0.013066924539255597,
        "expanding_mean": 0.013105305039787797,
        "train_target_end": "202205"
      },
      {
        "month": "202207",
        "observed": 0.1579,
        "prediction": 0.012586390270085061,
        "expanding_mean": 0.012801322751322751,
        "train_target_end": "202206"
      },
      {
        "month": "202208",
        "observed": -0.0586,
        "prediction": 0.013346370141596864,
        "expanding_mean": 0.013184168865435357,
        "train_target_end": "202207"
      },
      {
        "month": "202209",
        "observed": -0.1167,
        "prediction": 0.012948515541300356,
        "expanding_mean": 0.012995263157894737,
        "train_target_end": "202208"
      },
      {
        "month": "202210",
        "observed": 0.0883,
        "prediction": 0.012517751266138981,
        "expanding_mean": 0.01265485564304462,
        "train_target_end": "202209"
      },
      {
        "month": "202211",
        "observed": 0.0519,
        "prediction": 0.012899902784591206,
        "expanding_mean": 0.01285287958115183,
        "train_target_end": "202210"
      },
      {
        "month": "202212",
        "observed": -0.0911,
        "prediction": 0.012983993442185792,
        "expanding_mean": 0.012954830287206268,
        "train_target_end": "202211"
      },
      {
        "month": "202301",
        "observed": 0.0985,
        "prediction": 0.012624265186911968,
        "expanding_mean": 0.012683854166666666,
        "train_target_end": "202212"
      },
      {
        "month": "202302",
        "observed": 0.0136,
        "prediction": 0.01292261604356312,
        "expanding_mean": 0.012906753246753246,
        "train_target_end": "202301"
      },
      {
        "month": "202303",
        "observed": 0.0985,
        "prediction": 0.012908666012398564,
        "expanding_mean": 0.012908549222797926,
        "train_target_end": "202302"
      },
      {
        "month": "202304",
        "observed": -0.0183,
        "prediction": 0.013145896310736756,
        "expanding_mean": 0.013129715762273902,
        "train_target_end": "202303"
      },
      {
        "month": "202305",
        "observed": 0.0826,
        "prediction": 0.013046389508665782,
        "expanding_mean": 0.013048711340206185,
        "train_target_end": "202304"
      },
      {
        "month": "202306",
        "observed": 0.0802,
        "prediction": 0.013226126470941955,
        "expanding_mean": 0.013227506426735218,
        "train_target_end": "202305"
      },
      {
        "month": "202307",
        "observed": 0.0349,
        "prediction": 0.013411169459279405,
        "expanding_mean": 0.01339923076923077,
        "train_target_end": "202306"
      },
      {
        "month": "202308",
        "observed": -0.0152,
        "prediction": 0.013459347633612697,
        "expanding_mean": 0.013454219948849105,
        "train_target_end": "202307"
      },
      {
        "month": "202309",
        "observed": -0.0791,
        "prediction": 0.013375003119146972,
        "expanding_mean": 0.013381122448979592,
        "train_target_end": "202308"
      },
      {
        "month": "202310",
        "observed": -0.0388,
        "prediction": 0.013115645894661083,
        "expanding_mean": 0.013145801526717557,
        "train_target_end": "202309"
      },
      {
        "month": "202311",
        "observed": 0.1213,
        "prediction": 0.012986497217642575,
        "expanding_mean": 0.013013959390862943,
        "train_target_end": "202310"
      },
      {
        "month": "202312",
        "observed": 0.0629,
        "prediction": 0.013319406093158844,
        "expanding_mean": 0.013288101265822786,
        "train_target_end": "202311"
      },
      {
        "month": "202401",
        "observed": 0.0234,
        "prediction": 0.013438821413956206,
        "expanding_mean": 0.013413383838383839,
        "train_target_end": "202312"
      },
      {
        "month": "202402",
        "observed": 0.0798,
        "prediction": 0.01344383317030923,
        "expanding_mean": 0.013438539042821157,
        "train_target_end": "202401"
      },
      {
        "month": "202403",
        "observed": 0.0295,
        "prediction": 0.013642483837476746,
        "expanding_mean": 0.013605276381909549,
        "train_target_end": "202402"
      },
      {
        "month": "202404",
        "observed": -0.0353,
        "prediction": 0.013654678244562513,
        "expanding_mean": 0.013645112781954887,
        "train_target_end": "202403"
      },
      {
        "month": "202405",
        "observed": 0.134,
        "prediction": 0.013494730715065802,
        "expanding_mean": 0.013522750000000002,
        "train_target_end": "202404"
      },
      {
        "month": "202406",
        "observed": 0.0777,
        "prediction": 0.013862200084217598,
        "expanding_mean": 0.013823192019950125,
        "train_target_end": "202405"
      },
      {
        "month": "202407",
        "observed": 0.0033,
        "prediction": 0.01402303218404721,
        "expanding_mean": 0.013982089552238806,
        "train_target_end": "202406"
      },
      {
        "month": "202408",
        "observed": 0.0146,
        "prediction": 0.013949005979966352,
        "expanding_mean": 0.01395558312655087,
        "train_target_end": "202407"
      },
      {
        "month": "202409",
        "observed": 0.0224,
        "prediction": 0.013957534090210416,
        "expanding_mean": 0.013957178217821782,
        "train_target_end": "202408"
      },
      {
        "month": "202410",
        "observed": 0.0,
        "prediction": 0.013983153413738153,
        "expanding_mean": 0.013978024691358025,
        "train_target_end": "202409"
      },
      {
        "month": "202411",
        "observed": 0.035,
        "prediction": 0.013935071844496457,
        "expanding_mean": 0.013943596059113302,
        "train_target_end": "202410"
      },
      {
        "month": "202412",
        "observed": 0.025,
        "prediction": 0.014007818963993307,
        "expanding_mean": 0.013995331695331696,
        "train_target_end": "202411"
      },
      {
        "month": "202501",
        "observed": -0.0444,
        "prediction": 0.01402891616728926,
        "expanding_mean": 0.014022303921568627,
        "train_target_end": "202412"
      },
      {
        "month": "202502",
        "observed": -0.0074,
        "prediction": 0.0138456752229718,
        "expanding_mean": 0.013879462102689488,
        "train_target_end": "202501"
      },
      {
        "month": "202503",
        "observed": -0.0982,
        "prediction": 0.013814150917602352,
        "expanding_mean": 0.013827560975609755,
        "train_target_end": "202502"
      },
      {
        "month": "202504",
        "observed": -0.0117,
        "prediction": 0.013473472571034,
        "expanding_mean": 0.013554987834549876,
        "train_target_end": "202503"
      },
      {
        "month": "202505",
        "observed": 0.0929,
        "prediction": 0.013472431355015812,
        "expanding_mean": 0.01349368932038835,
        "train_target_end": "202504"
      },
      {
        "month": "202506",
        "observed": 0.108,
        "prediction": 0.013745992518331005,
        "expanding_mean": 0.013685956416464891,
        "train_target_end": "202505"
      },
      {
        "month": "202507",
        "observed": 0.0613,
        "prediction": 0.014013833032050779,
        "expanding_mean": 0.01391376811594203,
        "train_target_end": "202506"
      },
      {
        "month": "202508",
        "observed": 0.034,
        "prediction": 0.014086636136131,
        "expanding_mean": 0.014027951807228916,
        "train_target_end": "202507"
      },
      {
        "month": "202509",
        "observed": 0.0815,
        "prediction": 0.014101395876726357,
        "expanding_mean": 0.014075961538461535,
        "train_target_end": "202508"
      },
      {
        "month": "202510",
        "observed": 0.0917,
        "prediction": 0.014327376534809496,
        "expanding_mean": 0.014237649880095921,
        "train_target_end": "202509"
      },
      {
        "month": "202511",
        "observed": -0.0288,
        "prediction": 0.014542314780118715,
        "expanding_mean": 0.01442296650717703,
        "train_target_end": "202510"
      },
      {
        "month": "202512",
        "observed": -0.0066,
        "prediction": 0.014259135296209122,
        "expanding_mean": 0.014319809069212411,
        "train_target_end": "202511"
      }
    ],
    "evaluation_scores": {
      "selected_ridge": {
        "n": 72,
        "rmse_decimal": 0.0682421635986639,
        "mae_decimal": 0.05686840331968504,
        "sse_decimal_squared": 0.33530348826913026,
        "benchmark_sse_decimal_squared": 0.3352648795935407,
        "r2_os_vs_expanding_mean": -0.00011515872356326895
      },
      "expanding_mean": {
        "n": 72,
        "rmse_decimal": 0.06823823459777809,
        "mae_decimal": 0.05687392806968959,
        "sse_decimal_squared": 0.3352648795935407,
        "benchmark_sse_decimal_squared": 0.3352648795935407,
        "r2_os_vs_expanding_mean": 0.0
      },
      "zero": {
        "n": 72,
        "rmse_decimal": 0.07123537471727871,
        "mae_decimal": 0.0597638888888889,
        "sse_decimal_squared": 0.36536246000000006,
        "benchmark_sse_decimal_squared": 0.3352648795935407,
        "r2_os_vs_expanding_mean": -0.08977254176741756
      }
    },
    "first_prediction_fit": {
      "prediction": 0.011781576573696191,
      "n_train": 228,
      "train_mean_y": 0.011622807017543858,
      "scaler_mean": [
        0.011504385964912277
      ],
      "scaler_sd": [
        0.0836135454383039
      ],
      "train_z_mean": [
        1.5582077538598687e-17
      ],
      "beta_standardized": [
        0.00024226912557384313
      ],
      "beta_norm": 0.00024226912557384313,
      "intercept_on_scaled_features": 0.011622807017543858,
      "new_features": [
        0.0663
      ],
      "new_z": [
        0.6553437454164632
      ],
      "train_rmse": 0.08366456189134369,
      "train_objective": 0.007000345859762541,
      "gram_over_n": [
        [
          1.0000000000000002
        ]
      ],
      "cross_over_n": [
        0.0026649603813122744
      ]
    },
    "future_scaling_controls": {
      "0": {
        "lambda": 0.0,
        "p": 12,
        "training_only_scaling": {
          "n": 120,
          "rmse_decimal": 0.05135414958326497,
          "mae_decimal": 0.04166338926915809,
          "sse_decimal_squared": 0.31646984153044244,
          "benchmark_sse_decimal_squared": 0.30355158324232817,
          "r2_os_vs_expanding_mean": -0.04255704467138788
        },
        "invalid_future_scaling": {
          "n": 120,
          "rmse_decimal": 0.05135414958326497,
          "mae_decimal": 0.04166338926915809,
          "sse_decimal_squared": 0.31646984153044244,
          "benchmark_sse_decimal_squared": 0.30355158324232817,
          "r2_os_vs_expanding_mean": -0.04255704467138788
        },
        "future_predictions": [
          0.019065528523100592,
          0.022828669020158916,
          0.01925448067652554,
          0.0022412928460233284,
          0.019667867882769214,
          0.029643939613484313,
          0.000875922492002983,
          -0.0028711940742509635,
          0.01632099759532694,
          0.028278944021263283,
          0.0040935918657260826,
          0.009435071811921507,
          0.013967021934074774,
          0.008728076239519864,
          0.01656251624768065,
          0.028094829345389774,
          0.007252437433983286,
          0.008076327079798435,
          0.01861973977302738,
          0.013022425641095847,
          0.004370664219423926,
          0.004548190880276091,
          0.009459860386271255,
          0.008852624758517698,
          0.02059870766590442,
          0.0015186132239099377,
          0.0003062713114625193,
          0.03125577291930545,
          0.0228225563293672,
          -0.004192874876175668,
          0.005263073858693853,
          0.014799746801393137,
          0.02324775615469529,
          0.014206263098214263,
          0.002124430197771813,
          0.003672242472943569,
          0.008689131379924199,
          0.017594946659785952,
          0.012209742247164255,
          0.0016440457233865124,
          0.006637748729602282,
          0.01711380983553313,
          0.00658700716622904,
          0.012705114782670932,
          0.008740004388454523,
          0.016358115400690213,
          0.0108381641531744,
          0.013049764558230943,
          0.015355185645804539,
          0.01577128530904031,
          0.009029163687036153,
          0.011502783740060498,
          0.019175650781817075,
          0.014802223769203393,
          0.009915986937346704,
          0.013957142389066266,
          0.01733965804274148,
          0.008630551436648193,
          0.015968034107344646,
          0.013858997301820747,
          0.014300284173677869,
          0.015701405559423957,
          0.008648703373929137,
          0.008411830471119004,
          0.02496206316050261,
          0.007842191061254698,
          0.004274873553775933,
          0.017962118234052728,
          0.007389296330485515,
          0.0033529020273908687,
          0.010099519551815025,
          0.013448172478515426,
          0.015277038082612424,
          -0.0003517127397195431,
          -0.003449793713356377,
          0.014181320410189886,
          0.021282565053962737,
          0.01190629410853363,
          -0.007464827874353397,
          0.01298091112476747,
          0.01856760166808856,
          0.01775056902048527,
          0.006093864790038267,
          0.013769759503318353,
          0.010476784897528308,
          0.01872494295017061,
          0.014377234017200565,
          0.013606358624899707,
          0.013732049730919554,
          0.013509469341247977,
          0.011981013546701029,
          0.017841856204781698,
          0.011650035088870511,
          0.014368568929794316,
          0.018007431483602135,
          0.011478096840059054,
          0.014077261459656265,
          0.015830708671185093,
          0.01194170407646715,
          0.01863154944138257,
          0.014453301598494624,
          0.0061633066676157625,
          0.013618441211740218,
          0.0234032219943383,
          0.006052206635718862,
          0.010378381994328683,
          0.02214768387650618,
          0.007561518311979312,
          -0.003657635144588738,
          0.01810673581155273,
          0.015658136240496077,
          0.014639245780407126,
          0.008677287906722439,
          -0.00039492544831146344,
          0.010409372877786193,
          0.01200600116076696,
          0.028766943162644158,
          0.011752046777223926,
          0.0008173228634386197,
          0.017061633814848248
        ],
        "max_abs_prediction_difference_decimal": 5.724587470723463e-17
      },
      "0.1": {
        "lambda": 0.1,
        "p": 12,
        "training_only_scaling": {
          "n": 120,
          "rmse_decimal": 0.051207657288217544,
          "mae_decimal": 0.04161090779009132,
          "sse_decimal_squared": 0.3146668997937047,
          "benchmark_sse_decimal_squared": 0.30355158324232817,
          "r2_os_vs_expanding_mean": -0.03661755419836865
        },
        "invalid_future_scaling": {
          "n": 120,
          "rmse_decimal": 0.05122835529012047,
          "mae_decimal": 0.04162199719121498,
          "sse_decimal_squared": 0.31492132628769764,
          "benchmark_sse_decimal_squared": 0.30355158324232817,
          "r2_os_vs_expanding_mean": -0.03745571979538287
        },
        "future_predictions": [
          0.018843094604579405,
          0.02173766391098519,
          0.018747297836887836,
          0.003159978581861903,
          0.01906455647908903,
          0.028203785171553142,
          0.0017313711781670495,
          -0.001651552120267642,
          0.015917751251441622,
          0.026852436562766185,
          0.004523000171099918,
          0.009816487972700821,
          0.013903792660355671,
          0.008796954753066202,
          0.016162053391984788,
          0.026971155613457184,
          0.0077066405518947285,
          0.008462564479633245,
          0.018316698983790274,
          0.012780949197887036,
          0.004910447576410977,
          0.005129261650505332,
          0.009574516463784604,
          0.008745769190358143,
          0.01982282888848637,
          0.002396750523586037,
          0.0010535094048844725,
          0.029736913019405384,
          0.021889180068242316,
          -0.0028971761451315192,
          0.006099174499921944,
          0.014517903927892732,
          0.022086804906935535,
          0.014115934597906613,
          0.002983085869862947,
          0.004332882488761266,
          0.008735747351143325,
          0.016883959797333196,
          0.012145713971277356,
          0.0024654394038888354,
          0.006988589664042776,
          0.016633936160104692,
          0.006778767845121492,
          0.012646450717004222,
          0.008992362320916384,
          0.015887480173879743,
          0.01094890340238423,
          0.01292438292300571,
          0.01508823607422424,
          0.015432613597636598,
          0.009327058464907967,
          0.011510439261655516,
          0.018600097164368112,
          0.014520770919886874,
          0.010139681497255441,
          0.013815736332979521,
          0.01692393230887398,
          0.00883927339124818,
          0.015679292039181513,
          0.01378685358832776,
          0.013999469911468826,
          0.015490089977997522,
          0.009029891032587403,
          0.00860921250609396,
          0.02390609073218486,
          0.008217377082994219,
          0.004848248282864707,
          0.017620963702444842,
          0.007637578493800354,
          0.003967421787293252,
          0.010335888140598572,
          0.013105555131911605,
          0.014821408839944166,
          0.0007977397158900959,
          -0.002193262951985051,
          0.013791464530865985,
          0.02020819907112402,
          0.011852972272325148,
          -0.005689137679320432,
          0.012872929586710066,
          0.01778609255647633,
          0.01710199600022943,
          0.006687596861701199,
          0.013731724771510334,
          0.010527519376734792,
          0.018027771373569555,
          0.014248988000557107,
          0.01342139909623214,
          0.013682671886329028,
          0.013374568599284261,
          0.0119539733682216,
          0.01735429818437874,
          0.011728356950573704,
          0.01412345521792074,
          0.017585554644783473,
          0.011520376102330471,
          0.013907828672996234,
          0.01561882037750869,
          0.011921228595757354,
          0.018060450209770186,
          0.014378949574540478,
          0.006712916378209603,
          0.013472630179819412,
          0.022427368387696787,
          0.006570035661410601,
          0.010569117380954358,
          0.0213513487130621,
          0.007951790253466658,
          -0.0022580740699521314,
          0.017632098250039304,
          0.015145186436555233,
          0.014237400612020678,
          0.009218280753562538,
          0.000675589000058761,
          0.010541518844932499,
          0.011885913373710253,
          0.02713605504206639,
          0.01199314748339458,
          0.0019903716173173096,
          0.01660118204770923
        ],
        "max_abs_prediction_difference_decimal": 0.00039484640920822017
      }
    },
    "reading_base": "公开同源包；按完整 URL 取得冻结输入与复算文件。来源网站后续更新不覆盖本份 202607 快照。"
  },
  "entry_id": "zh-qt21",
  "content_version": "2026-09-21-QT-DE-review-v2",
  "audience": "高年级本科至研究生；默认微积分、线性代数与基本概率",
  "learning_task": "按一个预测原点重建训练、预处理与标签成熟，解释未来缩放不必改善成绩。"
}
```

## Supplied entry
预测方法不是一个脱离时间的公式。它先接收记录，再拟合预处理和模型，最后等预测目标成熟，才能计算误差。本篇沿一段真实历史重放，把这些时点放回计算中。读完后，你应能为一个预测原点列出完整信息账本，指出违规发生在哪一步，而不只是看到好成绩便怀疑“有未来函数”。

<a id="qt21-clock"></a>
## 1. 在 2009 年末，我们到底算了什么？

仍使用 202607 CRSP 数据库 vintage 下由当前 CIZ 生产链重建的 BusEq 月收益快照：1990-01—2025-12，共 432 月，无目标窗口缺失，百分数除以 100 后运算。它是历史计算材料，不是逐月当时可见的资料集合。先约定教学时钟：月份结束后可知该月收益，并预测下一月。来源真实发布时间和系统接收延迟没有在这份行业组合文件中重建。[^data]

以预测 2010-01 为例，训练目标为 1991-01 至 2009-12 的 228 行。1990 年只供最大 12 期滞后预热；各模型不能各自多取一批较早目标行，随后再比较不同样本的误差。

| 环节 | 本原点允许使用的对象 |
|---|---|
| 决策原点 | 2009-12 月末后的教学信息截面 |
| 拟合目标 $y_s$ | 1991-01—2009-12 已成熟收益 |
| 拟合特征 $x_s$ | 每个目标月之前的 $p$ 个滞后；所有训练特征中最晚的收益月是 2009-11 |
| 标准化参数 | 仅由这些训练特征行求出的列均值与列标准差 |
| 新预测输入 $x_t$ | 从 2009-12 起向前取 $p$ 个滞后；这行不参与本次 scaler 拟合 |
| 当前输出 | 对 2010-01 的预测 |
| 何时评价 | 2010-01 目标成熟后，才用真实 $r_t$ 计算误差 |

注意两个容易混在一起的范围：训练标签可以到 2009-12，而训练滞后特征最晚到 2009-11；2009-12 收益作为本次新输入出现。标准差必须说明“在哪些行上估计”，不能只写含糊的“用了截至今天的数据”。[^calculation]

<a id="qt21-procedure"></a>
## 2. 把一次预测写成可重复的过程

给定候选 $(p,\lambda)$，在每个目标月 $t$ 之前依次做：

```text
train = 已成熟的共同目标行 1991-01,...,t-1
X_train[s] = (r[s-1],...,r[s-p]); y_train[s] = r[s]
从 X_train 拟合 mean、sd，不从完整文件拟合
Z_train = (X_train-mean)/sd
拟合不惩罚截距的 RSS/n + lambda*||beta||²
对 x_new=(r[t-1],...,r[t-p]) 使用相同 mean、sd
输出并保留 prediction[t]；目标成熟后才添加 error[t]
```

这是扩展窗口：起点固定，终点随原点推进。滚动窗口则只保留固定长度的最近历史；二者估计目标与适应变化的方式不同，不是“移动原点”就自动意味着训练长度固定。FPP3 的 rolling forecasting origin 指评价原点向前滚动，其示例训练集可以扩展。[^cv]

本实验用 2010—2019 的 120 个原点比较 12 个回归候选与两条基线。选择完成后，进入 2020—2025 的 72 月历史评价：$p,\lambda$ 或基线身份已冻结，但模型系数仍按照原定扩展规则逐月重估。冻结超参数不等于冻结所有系数，也不等于禁止合法的新标签进入训练。[^calculation]

例如下一原点预测 2010-02 时，2010-01 收益已按教学时钟成熟，训练行增至 229。这时使用它是正常更新；把它提前用于 2010-01 的预测则是信息越界。残差来自参与拟合的数据，预测误差来自该原点尚未参与拟合的目标，两者不能混报。[^accuracy]

<a id="qt21-leakage"></a>
## 3. 一个真实对照：越界不一定让分数更好

我们故意构造一个错误版本：每个原点都用完整样本的滞后特征列拟合标准化参数。该池含目标月份 1991-01—2025-12 的特征行，最晚原始特征收益到 2025-11。对 2009 年末的原点而言，它显然包含未来信息。拟合标签仍只取过去，以便隔离“标准化范围”这一项变化。

| $p=12$，2010—2019 验证 | 合法训练窗标准化 RMSE | 越界全样本标准化 RMSE | 最大单月预测差 |
|---|---:|---:|---:|
| OLS，$\lambda=0$ | 5.13541496 | 5.13541496 | 约 $7.3\times10^{-15}$ |
| Ridge，$\lambda=0.1$ | 5.12076573 | 5.12283553 | 0.03948464 |

表内三列误差单位均为百分点/月。OLS 的差异只有浮点量级；ridge 的越界版本反而稍差。我们不改参数来制造“泄漏让曲线更漂亮”的效果，因为要检验的是信息使用，而不是预先安排一个方向的答案。[^calculation]

为什么 OLS 会不变？设原输入 $x=m+Dz$，$D$ 为对角非奇异尺度矩阵。仿射预测函数可写成

$$
a+x^Tb=(a+m^Tb)+z^TDb.
$$

在有截距、斜率无约束、同一转换作用于训练和新输入时，这是一一对应的重参数化。OLS 最小化相同的残差集合。本例每个训练设计都满列秩，因此唯一预测函数被对应起来，样本外预测也相同。若秩不足，只能先说训练拟合向量与解集合在映射下相同；两种坐标下软件各自挑出的最小范数系数，其样本外外推未必一样。

Ridge 则额外惩罚系数。改了 $D$ 却仍用同一个坐标中的 $\lambda\|\beta\|^2$，等于改变了对原预测函数的代价，所以预测可以变。[预测目标与正则化](https://ou-liu-red-sugar.github.io/zh/notebook/prediction-regularization-complexity/) 已推导这一点。这个特例也不意味着 OLS 对标签泄漏、未来特征选择或其他预处理免疫。

<div data-experiment-slot="EXP-QT-D-CLOCK-01"></div>

在实验中先选一个验证月份，读训练标签终点、特征尺度及输入，再打开故意越界的对照。请先说哪项记录不应出现，最后才看 RMSE；不能反过来以“分数没有改善”证明流程合法。

<a id="qt21-release"></a>
## 4. 日期排序之外，还要区分观察期、发布和接收

经济数据尤其能说明这个区别。美国 2020Q2 GDP 描述第二季度，但以下两个数并不是在季度末同时可得：

| 观察期 | 版本 | BEA 发布时点 | 实际 GDP 环比年化率 |
|---|---|---|---:|
| 2020Q2 | Advance | 2020-07-30 08:30 EDT | −32.9% |
| 2020Q2 | Second | 2020-08-27 08:30 EDT | −31.7% |

这两行是原始发布记录；它们的差为 1.2 个百分点，而非观察期移动。[^bea-a][^bea-b] 若信息截止在 2020-08-03，公开发布截面只能选择初值，不能把后来次值写回这个原点。

发布时点仍不等于研究系统收到、解析、完成计算的时点。没有 `received_at` 日志，就保留未知；不能由“08:30 发布”推出“08:30:01 系统已能下单”。历史重放可明确假设一个延迟，再研究该假设下的结果，但这不把假设变成历史事实。

前面 BusEq 的时间切分也因此有两层评价：运算确实不让后面标签参与前面拟合，但所用文件版本不是每个历史原点的原始可得版本。准确的描述是“当前冻结快照上的按时间算法重放”。只有额外恢复来源版本和接收过程，才可进一步评价当时的可执行性。

一个有分量的研究阅读例是 Kelly、Malamud、Zhou 的脚注33：作者交代了通胀数据的月度日期约定与实际发布滞后的区别。阅读论文时应把这种约定记入方法条件，而不是看到“样本外”三个字就忽略它。[^kmz]

<a id="qt21-horizon"></a>
## 5. 预测三个月时，标签什么时候成熟？

假设在月份 $s$ 结束后预测接下来三个月的复合收益：

$$
Y_s=(1+r_{s+1})(1+r_{s+2})(1+r_{s+3})-1.
$$

在月份 $t$ 结束时，训练可使用这行标签的必要条件是 $s+3\le t$，还要满足相关原始材料已接收。不能只因特征行的日期 $s\le t$ 就把未来三个月的完整标签拿来拟合。

| 当前信息截面：2020-03 月末 | 标签覆盖月份 | 是否成熟 |
|---|---|---|
| 原点 2019-12 | 2020-01—2020-03 | 是，在本例月末可知假设下 |
| 原点 2020-01 | 2020-02—2020-04 | 否 |
| 原点 2020-02 | 2020-03—2020-05 | 否 |
| 原点 2020-03 | 2020-04—2020-06 | 否，这是新的预测对象 |

相邻原点的三个月标签会共享收益月。因此，即使每个预测都遵守信息约束，多个误差也可能相关，不能机械当作独立观测估计标准误。隔离范围应从标签成熟与评价问题推导，不是对所有时间序列统一“空三个月”。FPP3 对多步预测原点评价提供了相应结构，本篇没有为这个三个月目标运行新的 RMSE。[^cv]

<a id="qt21-exercises"></a>
## 6. 独立重建与解析

解释题。 在预测 2010-01 前，用全样本求标准差，随后发现 OLS 的预测完全不变。是否就证明未来标准化没有问题？

解析。 没有。计算步骤仍依赖未来信息；本例不变来自明确条件下的仿射重参数化。它只能说明这一模型恰好对这项变换不敏感。把同一流程用于 ridge、筛选变量或选择模型，结论都需要另核。应修复流程，而不是用偶然的输出不变代替信息证明。

迁移题一。 截止 2020-08-03，分析规则比较 GDP 公布值是否大于 −32。用哪一版？能否断言自己的系统 7 月 30 日 08:30:01 已得到信号？

解析。 在公开发布口径下，初值 −32.9 不满足规则；8 月 27 日才发布的 −31.7 会满足，但不能提前使用。系统是否收到及完成计算没有日志便不能判断。这项规则是教学设定，不是经检验可盈利的交易信号。

迁移题二。 2020-03 月末训练三个月目标，最新能纳入的原点是哪月？再用明确虚构的月收益 $1\%,-2\%,3\%$ 算一次标签。

解析。 最新是 2019-12；2020-01 原点的标签还含 4 月。虚构标签为 $1.01\times0.98\times1.03-1=0.019494$，即 1.9494%，不能简单加成 2%。这只是标签算式核对，不是新增的历史绩效结果。

最后再分开两件事：时间顺序正确，可以阻止某类未来信息进入拟合；它不能自动消除“尝试许多流程后只留下最好一个”的选择效应。下一篇保留全部尝试，研究后者。[选择效应与多重检验](https://ou-liu-red-sugar.github.io/zh/notebook/selection-multiple-testing/)

[^data]: French [30 Industry Portfolios](https://mba.tuck.dartmouth.edu/pages/Faculty/ken.french/Data_Library/det_30_ind_port.html) 与 [FIZ/CIZ 来源说明](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html)。具体样本身份和所有 432 行见[随包输入](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/shared_inputs.json)及 CSV。
[^calculation]: [实际计算结果](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/results.json)，forecast 的逐原点拟合与 future_scaling_controls；[复算程序](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/compute/reproduce.py)。原点、尺度与标签均可逐行重建。
[^accuracy]: FPP3，[§5.8 Evaluating point forecast accuracy 全节](https://otexts.com/fpp3/accuracy.html)。
[^cv]: FPP3，[§5.10 Time series cross-validation 全节](https://otexts.com/fpp3/tscv.html)。多期复合标签成熟条件由本文定义直接推出，未声称该书给出本例金融回测。
[^bea-a]: BEA，[2020Q2 Advance Estimate 原发布](https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-advance-estimate-and-annual-update)，页首发布时间及 GDP 开篇。
[^bea-b]: BEA，[2020Q2 Second Estimate 原发布](https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-second-estimate-corporate-profits-2nd-quarter)，页首、GDP 开篇和 Updates to GDP 表。
[^kmz]: Kelly、Malamud、Zhou，[2024 发表版](https://economics.yale.edu/sites/default/files/2024-01/The%20Journal%20of%20Finance%20-%202023%20-%20KELLY%20-%20The%20Virtue%20of%20Complexity%20in%20Return%20Prediction%20%281%29.pdf)，§V.A，p.487 脚注33。未读取的附录稳健性不作为本篇证据。


## Experiment inputs and static equivalents
```json
[
  {
    "id": "EXP-QT-D-CLOCK-01",
    "title": "时间序列验证与信息泄漏：可复算实验",
    "anchor": "qt21-leakage",
    "description": "按一个预测原点重建训练、预处理与标签成熟，解释未来缩放不必改善成绩。",
    "inputs": {
      "identity": "QT-DE-adopted-inputs-20260921-v1",
      "manifest": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/shared_inputs.json"
    },
    "outputs": {
      "first_target": "201001",
      "train_targets": 228,
      "h3_latest_mature": "201912",
      "performance_h3_executed": false
    }
  }
]
```

## Sources
- [Forecasting: Principles and Practice, §5.8](https://otexts.com/fpp3/accuracy.html): 完整单元支持预测误差不同于残差，RMSE/MAE与mean/median的关系；书中实例不是本站交易绩效。
- [GDP 2020Q2 Advance Estimate](https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-advance-estimate-and-annual-update): 原始发布的-32.9%为实际GDP季度环比年化率。支持release，不提供本研究系统received_at。
- [GDP 2020Q2 Second Estimate](https://www.bea.gov/news/2020/gross-domestic-product-2nd-quarter-2020-second-estimate-corporate-profits-2nd-quarter): 原始发布-31.7%、相对初值上修1.2pp；原件不支持推断系统接收时间。
- [QT-D/E adopted teaching experiments](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/compute/reproduce.py): 本轮实际沙盒复算，预测遵守冻结算法及数据；选择沿PCG64调用顺序并核strict/inclusive，成本用Fraction。数学演算与假设模型不等于真实投资有效性。
- [30 Industry Portfolios](https://mba.tuck.dartmouth.edu/pages/Faculty/ken.french/Data_Library/det_30_ind_port.html): 冻结原件摘取的432个连续月；百分数除100。来自当前重建历史，不是各月当时可见vintage；无样本期缺失。
- [French Data Library：FIZ/CIZ methodology](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html): 生产链转换与股息复投口径；本批坚持单次202607重建快照，未拼接旧vintage。
- [The Virtue of Complexity in Return Prediction](https://economics.yale.edu/sites/default/files/2024-01/The%20Journal%20of%20Finance%20-%202023%20-%20KELLY%20-%20The%20Virtue%20of%20Complexity%20in%20Return%20Prediction%20%281%29.pdf): 已读完整实证设置单元，用于配对研究选读：随机特征、训练窗口、信息日期约定、R²分母。未验证前部理论或附录，未复现论文，具体作者结果不普遍化。
- [Forecasting: Principles and Practice, §5.10](https://otexts.com/fpp3/tscv.html): 完整单元支持按原点训练、按期限评价；真实发布/接收时点仍需另核。

## Content relations
```json
[
  {
    "from": "zh-qt21",
    "relation": "part_of",
    "to": "quant-estimation",
    "reason": "主要 topic 归属"
  },
  {
    "from": "zh-qt21",
    "relation": "requires",
    "to": "zh-qt07",
    "required_competence": "区分决策前的信息与成交",
    "reason": "本篇使用该能力，不要求整门随机过程课程。"
  },
  {
    "from": "zh-qt21",
    "relation": "requires",
    "to": "zh-qt20",
    "required_competence": "理解训练、目标与正则化",
    "reason": "本篇使用该能力，不要求整门随机过程课程。"
  },
  {
    "from": "qt21-leakage",
    "relation": "illustrated_by",
    "to": "EXP-QT-D-CLOCK-01",
    "reason": "完整输入、默认及静态等价支持本篇独立任务。"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-TSCV",
    "locator": "§5.10 全节",
    "scope": "单步/多步rolling origin及代码",
    "reason": "核原点与标签期限"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-ACCURACY",
    "locator": "§5.8 全节",
    "scope": "训练残差和新样本误差",
    "reason": "区分调参与评价"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-BEA-A",
    "locator": "发布时间与GDP开篇、版本说明完整单元",
    "scope": "2020Q2初值与时间",
    "reason": "重建公共信息版本"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-BEA-B",
    "locator": "发布时间、GDP开篇及Updates to GDP完整表",
    "scope": "2020Q2次值与修订",
    "reason": "区分发布和接收"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-FRENCH",
    "locator": "30 Industry Portfolios完整构造说明；随包432行冻结CSV",
    "scope": "原始组合、频率、单位",
    "reason": "识别重建快照"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-FRENCH-REGIME",
    "locator": "页面FIZ/CIZ生产说明完整单元",
    "scope": "版本与生产方法",
    "reason": "防止将当前历史重建当PIT"
  },
  {
    "from": "zh-qt21",
    "relation": "supported_by",
    "to": "QTDE-KMZ",
    "locator": "§V.A p.487完整数据单元及footnote33",
    "scope": "研究日期约定",
    "reason": "辨认信息集假设，不把约定当可执行事实"
  }
]
```

## Related entries

## Optional reading path
理解模型并亲手算: step 7/9
重建滚动原点，区分合法更新、未来尺度和修订信息。
时间顺序正确后，还要把挑选候选的方法纳入评价。
Next: [选择效应与多重检验](https://ou-liu-red-sugar.github.io/zh/notebook/selection-multiple-testing/)
