# 预测目标、正则化与模型复杂度

从损失函数推导 ridge，重建相同信息下的完整基线比较，分清两类单位变换。

Entry: zh-qt20 | Node: QT20 | Language: zh | Editorial revision: 2026-09-21

## Teaching instructions
请以具有微积分、线性代数与基本概率背景的高年级本科至研究生为对象，围绕“预测目标、正则化与模型复杂度”完成一次学习。先实际取得并读完 required_readings 的完整指定单元，记录实际版本/定位/假设/支持范围；目录、摘要或入口不抵扣阅读。可先读取本篇所有必读以备课，但不要把它们全变成读者额外作业。来源打不开时先尝试同版作者可读入口；仍缺承重单元应说明具体缺口，不伪称已读，也不要求无关新批准。先让读者重建2010-01的一列ridge预测，再推导未标准化x×10与仅y×100的区别。反馈必须核矩阵维度、nλ、截距、满秩边界以及总冠军/回归冠军。 先让读者尝试，再根据本文完整解析反馈；引用范围内解释，不把模拟当市场事实、不把最优目标当收益保证。只在读者选择分支时启用 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-ISLP",
      "access": {
        "kind": "pdf_full_text",
        "uri": "https://drive.google.com/uc?export=download&id=1ajFkHO6zjrdGNqhqW1jKBZdiNGh_8YQ1",
        "author_gateway": "https://hastie.su.domains/ISLP/ISLP_website.pdf.download.html",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "§6.2.1 pp.240–244；§6.2.3 pp.252–253",
        "scope": "Ridge、截距、尺度与调参完整子节",
        "purpose": "核目标、单位变换与验证选择，不以书目页抵扣"
      },
      "version": "First Printing July 5, 2023",
      "supports": "Ridge、截距、尺度与调参完整子节",
      "title": "An Introduction to Statistical Learning with Applications in Python",
      "authors": [
        "James",
        "Witten",
        "Hastie",
        "Tibshirani",
        "Taylor"
      ]
    },
    {
      "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": "预测误差与RMSE/MAE",
        "purpose": "选择与目标匹配的指标"
      },
      "version": "3e online; accessed 2026-09-21",
      "supports": "预测误差与RMSE/MAE",
      "title": "Forecasting: Principles and Practice, §5.8",
      "authors": [
        "Rob J Hyndman",
        "George Athanasopoulos"
      ]
    },
    {
      "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–C pp.487–493，含脚注33、38–41及图",
        "scope": "实证设置及评价口径",
        "purpose": "具名现代方法，不等于复现"
      },
      "version": "Journal of Finance 79(1), 459–503, February 2024",
      "supports": "实证设置及评价口径",
      "branch": "复杂度研究"
    },
    {
      "source_id": "QTDE-NAGEL",
      "access": {
        "kind": "pdf_full_text",
        "uri": "https://www.nber.org/system/files/working_papers/w34104/w34104.pdf",
        "verified_access_at": "2026-09-21"
      },
      "required_unit": {
        "locator": "§II.A–D pp.6–15；§II.G.1 pp.23–25",
        "scope": "kernel权重与人工反转机制",
        "purpose": "与KMZ配对、不作普遍胜负判断"
      },
      "version": "NBER Working Paper 34104, August 2025 frozen version",
      "supports": "kernel权重与人工反转机制",
      "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>对象：BusEq 1990—2025，432月；前12月预热；228/120/72个训练、验证、历史评价目标。每个原点单独拟合训练均值与ddof=0尺度，截距不惩罚。</p><div class=\"formula\">RSS/n + λ‖β‖²；(ZcᵀZc+nλI)β=Zcᵀyc；R²OS=1−SSEmodel/SSEexpanding_mean。</div><div class=\"table-wrap\" tabindex=\"0\"><table><thead><tr><th>全部候选</th><th>验证RMSE pp/月</th><th>验证MAE pp/月</th><th>R²OS</th></tr></thead><tbody><tr><td>p1-l0</td><td>5.04591564</td><td>4.15173855</td><td>-0.00653461</td></tr><tr><td>p1-l0.1</td><td>5.04434493</td><td>4.15050355</td><td>-0.00590808</td></tr><tr><td>p1-l1</td><td>5.03747253</td><td>4.14494608</td><td>-0.00316905</td></tr><tr><td>p1-l10</td><td>5.03092147</td><td>4.13938860</td><td>-0.00056157</td></tr><tr><td>p3-l0</td><td>5.06121532</td><td>4.10642026</td><td>-0.01264768</td></tr><tr><td>p3-l0.1</td><td>5.05707327</td><td>4.10796478</td><td>-0.01099088</td></tr><tr><td>p3-l1</td><td>5.04151891</td><td>4.11931979</td><td>-0.00478130</td></tr><tr><td>p3-l10</td><td>5.03110972</td><td>4.13445130</td><td>-0.00063645</td></tr><tr><td>p12-l0</td><td>5.13541496</td><td>4.16633893</td><td>-0.04255704</td></tr><tr><td>p12-l0.1</td><td>5.12076573</td><td>4.16109078</td><td>-0.03661755</td></tr><tr><td>p12-l1</td><td>5.06883037</td><td>4.14662389</td><td>-0.01569721</td></tr><tr><td>p12-l10</td><td>5.03493938</td><td>4.13836039</td><td>-0.00216039</td></tr><tr><td>zero</td><td>5.21387572</td><td>4.31950000</td><td>-0.07465755</td></tr><tr><td>expanding_mean</td><td>5.02950945</td><td>4.13815361</td><td>0.00000000</td></tr></tbody></table></div><div class=\"table-wrap\" tabindex=\"0\"><table><thead><tr><th>历史评价2020—2025</th><th>RMSE pp/月</th></tr></thead><tbody><tr><td>selected_ridge</td><td>6.82421636</td></tr><tr><td>expanding_mean</td><td>6.82382346</td></tr><tr><td>zero</td><td>7.12353747</td></tr></tbody></table></div><p>总冠军是扩展均值，p1-λ10只是回归组冠军。第一个验证原点：ȳ=0.011622807018，z0=0.655343745416，β=0.000242269126，预测1.1781576574%。此历史已被研究者查看，不是首次揭开的独立保留期。</p><p>单位迁移：原始x×10、λ仍1时预测从1/2变成100/101；λ改100恢复1/2。仅y×100时预测×100，换回不变。</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
      ]
    },
    "reading_base": "公开同源包；按完整 URL 取得冻结输入与复算文件。来源网站后续更新不覆盖本份 202607 快照。"
  },
  "entry_id": "zh-qt20",
  "content_version": "2026-09-21-QT-DE-review-v2",
  "audience": "高年级本科至研究生；默认微积分、线性代数与基本概率",
  "learning_task": "从损失函数推导 ridge，重建相同信息下的完整基线比较，分清两类单位变换。"
}
```

## Supplied entry
我们已经能给历史收益算出均值和误差，但“把过去描述得更细”不等于“把下个月预测得更准”。本篇做一件具体的事：从一个明确的预测目标出发，推导 ridge 回归，按相同的信息和评价规则比较它与简单基线。最后，你应能解释收缩改变了什么，也能接受一次实验的最好选择仍然是历史均值。

<a id="qt20-object"></a>
## 1. 先固定数据、目标和比较对象

我们使用 French 30 Industry Portfolios 的 BusEq、按市值加权的月收益。样本为 1990-01 至 2025-12，共 432 个连续月，原文件缺失标记在此窗口没有出现。内部把百分数除以 100，例如 6.63% 记作 0.0663。这里每个月的观测权重相同；“市值加权”指来源行业组合内部的股票权重，不是对 432 个月再按市值加权。[^french]

数据来自 202607 CRSP 数据库 vintage 的当前 CIZ 重建快照。这是一份用同一生产链重建的历史，不是把 2024 年以前的 FIZ 与以后 CIZ 拼起来，也不保证这些版本在历史预测原点已经可得。下面明确采用“月末已知当月收益”的教学信息假设，研究的是预测运算，不把它称为已重建真实数据接收时点的交易回测。[^french-version]

令 $r_t$ 为月份 $t$ 的简单收益。我们在 $t-1$ 月末预测 $y_t=r_t$，特征是 $x_t=(r_{t-1},\ldots,r_{t-p})^T$。这与用当月市场收益解释当月行业暴露不同：后者可以研究同期关系，却不能直接当作下一期预测。回归系数也不是因果效应。

| 阶段 | 目标月份 | 数量 | 用途 |
|---|---|---:|---|
| 预热 | 1990-01—1990-12 | 12 | 提供最大 12 期滞后，不进入各模型的目标行 |
| 初始训练 | 1991-01—2009-12 | 228 | 拟合第一个验证原点 |
| 参数选择 | 2010-01—2019-12 | 120 | 每月扩展训练、预测，再累计验证误差 |
| 历史评价 | 2020-01—2025-12 | 72 | 固定选择规则后评价；系数仍按相同扩展规则更新 |

候选为 $p\in\{1,3,12\}$、$\lambda\in\{0,0.1,1,10\}$ 的 12 个回归，另外保留零预测和扩展历史均值两条基线。每个模型从同一目标行开始、预测同一批月份。完整候选账本与逐月结果随实验提供。[^compute]

<a id="qt20-loss"></a>
## 2. 损失函数先决定我们想预测什么

令 $Y\in L^2$，$\mathcal G$ 是预测时已知的信息，$m=E[Y\mid\mathcal G]$。对任意 $\mathcal G$ 可测的平方可积预测量 $g$，条件期望的正交性质给出

$$
E[(Y-g)^2]=E[(Y-m)^2]+E[(m-g)^2].
$$

推导并不神秘：把 $Y-g=(Y-m)+(m-g)$ 平方展开，交叉项 $E[(Y-m)(m-g)]$ 为零。因此，平方损失对应的总体目标是条件均值；这一步使用了二阶可积性，也限定了允许使用的信息。[条件期望与投影](https://ou-liu-red-sugar.github.io/zh/notebook/conditional-expectation-projection/) 已完整建立这条正交关系。

这并不说线性回归就等于真正的 $m$。我们只是用某一函数族逼近它，再用有限样本估计参数。函数族的限制和估计误差都还存在。换成绝对损失，最优目标一般是条件中位数；因此选 RMSE 或 MAE，不只是换一种报表格式。[^accuracy]

本实验事先采用验证平方误差和 $SSE=\sum_t(r_t-\widehat r_t)^2$ 选模型，同时报告 $RMSE=\sqrt{SSE/n}$ 和 $MAE=n^{-1}\sum_t|r_t-\widehat r_t|$。它们都按月收益的百分点展示。这里没有把收益再除以真实收益去算 MAPE；真实收益接近零时，那样的分母会造成另一种不稳定。

<a id="qt20-ridge"></a>
## 3. 从标准化到 ridge：每个矩阵都要有对象

固定一个预测原点，训练目标有 $n$ 行、特征有 $p$ 列。只在这 $n$ 行上求第 $j$ 列的均值 $\bar x_j$ 与标准差 $s_j=\sqrt{n^{-1}\sum_i(x_{ij}-\bar x_j)^2}$，然后令 $Z_{ij}=(x_{ij}-\bar x_j)/s_j$。本实验各列都非恒定；若 $s_j=0$，须另定删除或保留规则，不能直接除零。未来输入也使用这同一组训练参数。

Ridge 回归在本篇是以下优化问题：

$$
\min_{a\in\mathbb R,\;\beta\in\mathbb R^p}
\frac1n\|y-a\mathbf1-Z\beta\|_2^2+\lambda\|\beta\|_2^2,
\qquad \lambda\ge0.
$$

$Z$ 为 $n\times p$，$y$ 为 $n\times1$；截距 $a$ 不受惩罚。惩罚只限制斜率，避免把整体平均收益也机械压向零。ISLP 使用的 RSS 版本与这里相差一个 $n$：把我们的目标整体乘 $n$，惩罚就成为 $n\lambda\|\beta\|^2$，不能不换尺度便移植另一实现的参数值。[^ridge]

对 $a$ 求导得 $a=\bar y-\bar z^T\beta$。设 $Z_c=Z-\mathbf1\bar z^T$、$y_c=y-\bar y\mathbf1$，再对 $\beta$ 求导：

$$
-\frac2nZ_c^T(y_c-Z_c\beta)+2\lambda\beta=0,
$$

所以

$$
(Z_c^TZ_c+n\lambda I_p)\widehat\beta=Z_c^Ty_c.
$$

当 $\lambda>0$，任意非零 $v$ 都满足 $v^T(Z_c^TZ_c+n\lambda I)v=\|Z_cv\|^2+n\lambda\|v\|^2>0$，故解唯一。实际计算解线性方程，不显式求逆。$\lambda=0$ 是 OLS；若设计矩阵秩不足，系数可以不唯一，不能顺便宣称每个样本外输入的预测都唯一。

收缩是在训练拟合与系数规模间作取舍。它可能减少对样本扰动的敏感度，也会引入偏差；是否改善新数据预测，仍要评价。随 $\lambda$ 增大，系数向量的整体范数不增，不意味着每一项系数都逐项单调下降。[^ridge]

<a id="qt20-run"></a>
## 4. 走通一次预测，再看完整比较

先取回归组内最终胜者 $p=1,\lambda=10$，但只重建它在第一个验证原点的拟合。预测目标为 2010-01；训练目标截止 2009-12，共 228 行。

| 中间量 | 内部数值 |
|---|---:|
| 训练目标均值 $\bar y$ | 0.011622807018 |
| 滞后特征训练均值 | 0.011504385965 |
| 滞后特征训练标准差 | 0.083613545438 |
| 新输入：2009-12 收益 | 0.0663 |
| 标准化后的新输入 $z_0$ | 0.655343745416 |
| $Z_c^Ty_c/n$ | 0.002664960381 |
| $Z_c^TZ_c/n$ | 1 |
| 斜率 $\widehat\beta$ | 0.000242269126 |

由于只有一列标准化特征，斜率就是 $0.002664960381/(1+10)$。预测为 $\bar y+z_0\widehat\beta\approx0.011781576574$，即 1.17816%。真实 2010-01 收益随后为 −8.05%，所以这次误差约 −9.22816 个百分点；一次大误差既不证明方法无用，也不能被后续重新挑月份删掉。[^compute]

接下来对每个验证原点重复同一流程。训练窗口可以扩展，但每个候选的 $p,\lambda$ 保持固定，验证段只在结束后比较累计成绩。

| 候选 | 验证 RMSE（百分点/月） | MAE（百分点/月） | $R^2_{OS}$ |
|---|---:|---:|---:|
| $p=1,\lambda=0$ | 5.04591564 | 4.15173855 | -0.00653461 |
| $p=1,\lambda=0.1$ | 5.04434493 | 4.15050355 | -0.00590808 |
| $p=1,\lambda=1$ | 5.03747253 | 4.14494608 | -0.00316905 |
| $p=1,\lambda=10$ | 5.03092147 | 4.13938860 | -0.00056157 |
| $p=3,\lambda=0$ | 5.06121532 | 4.10642026 | -0.01264768 |
| $p=3,\lambda=0.1$ | 5.05707327 | 4.10796478 | -0.01099088 |
| $p=3,\lambda=1$ | 5.04151891 | 4.11931979 | -0.00478130 |
| $p=3,\lambda=10$ | 5.03110972 | 4.13445130 | -0.00063645 |
| $p=12,\lambda=0$ | 5.13541496 | 4.16633893 | -0.04255704 |
| $p=12,\lambda=0.1$ | 5.12076573 | 4.16109078 | -0.03661755 |
| $p=12,\lambda=1$ | 5.06883037 | 4.14662389 | -0.01569721 |
| $p=12,\lambda=10$ | 5.03493938 | 4.13836039 | -0.00216039 |
| 零预测 | 5.21387572 | 4.31950000 | -0.07465755 |
| 扩展历史均值 | 5.02950945 | 4.13815361 | 0.00000000 |

表中 $R^2_{OS}=1-SSE_{model}/SSE_{expanding\ mean}$，分母来自同一批原点上可用历史均值的预测误差，不是全部收益减去一个事后样本均值的方差。负值表示不如这条基线。12 个回归候选内的冠军是 $p=1,\lambda=10$；把两条基线也纳入原定比较，总冠军却是扩展历史均值。

| 2020—2025 历史评价 | RMSE（百分点/月） | 相对均值基线 $R^2_{OS}$ |
|---|---:|---:|
| 扩展历史均值：验证总冠军 | 6.82382346 | 0 |
| $p=1,\lambda=10$：回归组冠军 | 6.82421636 | −0.0001151587 |
| 零预测 | 7.12353747 | −0.0897725418 |

这段历史已在研究过程中被查看，不能称为研究者从未见过的保留样本；它仍然能检查一个明示算法的历史运算。微小的 RMSE 差异也没有在这里被证明具有统计显著性。[^compute]

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

先选一个 $p,\lambda$，说出你期待训练误差、系数范数和验证误差怎样变化，再看完整结果。界面提供实际计算的离散网格；它不会把两个网格点之间插值后称作新拟合。

<a id="qt20-units"></a>
## 5. 改单位，到底改变了什么？

这一点值得单独推导。取 $c>0$，设未经标准化的一列特征从 $x$ 改成 $x'=c x$，响应不变。为了保持同一预测函数，对应系数必须是 $\beta'=\beta/c$。若还施加相同的 $\lambda(\beta')^2$，它在原系数坐标下变成 $\lambda\beta^2/c^2$：预测函数虽然能对应，惩罚强度却改变了。若要维持原惩罚，应改为 $\lambda'=c^2\lambda$。[^ridge]

对照一下：只把响应 $y$ 乘以 $c$，同时允许 $a,\beta$ 乘以 $c$，整个 ridge 目标恰好乘以 $c^2$；$\lambda$ 不变时，解与预测随之乘 $c$，换回原单位仍相同。本实验若把原始滞后收益 $X$ 与 $y$ 同时由小数改成百分数，重新按训练窗标准化后 $Z$ 不变，经济预测也不因此改变。

“尺度影响 ridge”指的是特征坐标与系数惩罚之间的关系，不是看到任何单位变换就宣布模型变了。

### 选读：复杂模型为什么仍需拆开看

Kelly、Malamud、Zhou 的 2024 年研究在 15 个原始预测量上构造随机 Fourier 特征，改变特征数、训练窗和收缩参数，报告其特定设计下的预测与策略结果。Nagel 的 2025 年工作论文则把相关 ridgeless 预测重写为过去收益的线性权重，研究短训练窗和持久预测量的作用，并用人工反转收益检验机制。[^kmz][^nagel]

这两项研究给我们的任务不是记住“复杂更好”或“复杂无用”，而是问：函数族、信息日期、权重、评价分母分别是什么？例如 $k^TK^{-1}y$ 的权重通常不保证非负或和为 1，不能直接解释成凸平均；矩阵求逆也需要相应秩条件。本篇的小型线性实验没有复现这两篇研究。

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

解释题。 某回归在 12 个回归候选里最好，却比预先保留的均值基线差。应选择谁？换用 MAE 会自动得到同一选择吗？

解析。 沿事先约定的验证 SSE，应选择均值基线。回归组内胜出不是完整集合胜出。MAE 对应另一种损失与总体目标，排序可能不同；可以同时报告，但不能看完结果才换准则并继续称原先规则。要证明未来优势，还需适合时间依赖的评价与不确定性分析。

迁移题一：原始特征换单位。 两行教学数据为 $x=(-1,1)^T$、$y=(-1,1)^T$，无须额外标准化，含不惩罚截距，$\lambda=1$。先求 ridge；再把 $x$ 乘 10、保持同一惩罚，计算在原来 $x=1$ 处的预测。

解析。 两列都居中，截距为零。原目标为 $(1-\beta)^2+\beta^2$，故 $\beta=1/2$、预测为 $1/2$。新目标为 $(1-10b)^2+b^2$，故 $b=10/101$，在 $x'=10$ 的预测是 $100/101$，不是 $1/2$。改用 $\lambda'=100$ 后，$b=0.05$，才恢复原预测。

迁移题二：响应换单位。 保持原 $x$，只把 $y$ 乘 100，$\lambda=1$。解和换回原单位的预测是什么？

解析。 目标为 $(100-b)^2+b^2$，解 $b=50$；预测 50 除以 100，仍是 $1/2$。一般情形的结论来自目标函数整体乘 $c^2$，而不是这个两点例的巧合。

现在我们已有一个可重算的预测方法。下一篇把注意力移到它的每个原点：不仅问“算得对不对”，还问“这些输入与拟合参数当时是否可得”。[时间序列验证与信息泄漏](https://ou-liu-red-sugar.github.io/zh/notebook/time-series-validation-leakage/)

[^french]: Kenneth French，30 Industry Portfolios：[来源构造说明](https://mba.tuck.dartmouth.edu/pages/Faculty/ken.french/Data_Library/det_30_ind_port.html)。本篇数值使用随包冻结 CSV，而非重新下载后的潜在修订值。
[^french-version]: French [Data Library](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html)，FIZ/CIZ 生产方式说明；本包原文件首行明确为 202607 CRSP database。
[^accuracy]: Hyndman、Athanasopoulos，FPP3，[§5.8 全节](https://otexts.com/fpp3/accuracy.html)，误差度量、训练与新数据评价。
[^ridge]: James 等，ISLP，2023 首印，[作者全文下载入口](https://hastie.su.domains/ISLP/ISLP_website.pdf.download.html)，§6.2.1 pp.240–244、§6.2.3 pp.252–253。这里采用 RSS/n 目标，单位变换计算为本文推导。
[^compute]: [完整实验输入](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/shared_inputs.json)；[实际计算结果](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/data/results.json)，forecast 组；[复算程序](https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/compute/reproduce.py)。均值、预测与误差均为这份历史教学实验的输出。
[^kmz]: Kelly、Malamud、Zhou，*The Virtue of Complexity in Return Prediction*，Journal of Finance 79(1), 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–C pp.487–493，特别是脚注33、39–40；本篇不采用其前部理论证明或未读附录。
[^nagel]: Nagel，*Seemingly Virtuous Complexity in Return Prediction*，NBER 34104，2025-08 版，[全文](https://www.nber.org/system/files/working_papers/w34104/w34104.pdf)，§II.A–D 与 §II.G.1；只采用具名方法与机制讨论，不概括为普遍否定复杂模型。


## Experiment inputs and static equivalents
```json
[
  {
    "id": "EXP-QT-D-FORECAST-01",
    "title": "预测目标、正则化与模型复杂度：可复算实验",
    "anchor": "qt20-run",
    "description": "从损失函数推导 ridge，重建相同信息下的完整基线比较，分清两类单位变换。",
    "inputs": {
      "identity": "QT-DE-adopted-inputs-20260921-v1",
      "manifest": "https://ou-liu-red-sugar.github.io/notebook/labs/qt-de/shared_inputs.json"
    },
    "outputs": {
      "winner": "expanding_mean",
      "regression_winner": {
        "key": "p1-l10",
        "p": 1,
        "lambda": 10.0
      },
      "evaluation": {
        "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
        }
      }
    }
  }
]
```

## Sources
- [Forecasting: Principles and Practice, §5.8](https://otexts.com/fpp3/accuracy.html): 完整单元支持预测误差不同于残差，RMSE/MAE与mean/median的关系；书中实例不是本站交易绩效。
- [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。
- [An Introduction to Statistical Learning with Applications in Python](https://drive.google.com/uc?export=download&id=1ajFkHO6zjrdGNqhqW1jKBZdiNGh_8YQ1): 采用单元的完整镜像原文已在规划轮读取。Ridge 的截距、尺度、参数选择；有效p值、FWER、Bonferroni及BH。BH一般控制定理是引用，原书不提供证明。正文采用严格<；不采用任意相关p值也有效的扩展。
- [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²分母。未验证前部理论或附录，未复现论文，具体作者结果不普遍化。
- [Seemingly Virtuous Complexity in Return Prediction](https://www.nber.org/system/files/working_papers/w34104/w34104.pdf): 已读方法与人工反转完整单元；线性权重不自动凸权重，短窗机制为具名作者主张。工作论文不作普遍反定理，未采用未读附录。

## Content relations
```json
[
  {
    "from": "zh-qt20",
    "relation": "part_of",
    "to": "quant-estimation",
    "reason": "主要 topic 归属"
  },
  {
    "from": "zh-qt20",
    "relation": "requires",
    "to": "zh-qt04",
    "required_competence": "读懂收益分布与矩",
    "reason": "本篇使用该能力，不要求整门随机过程课程。"
  },
  {
    "from": "zh-qt20",
    "relation": "requires",
    "to": "zh-qt19",
    "required_competence": "分清样本估计与不确定性",
    "reason": "本篇使用该能力，不要求整门随机过程课程。"
  },
  {
    "from": "qt20-run",
    "relation": "illustrated_by",
    "to": "EXP-QT-D-FORECAST-01",
    "reason": "完整输入、默认及静态等价支持本篇独立任务。"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-ISLP",
    "locator": "§6.2.1 pp.240–244；§6.2.3 pp.252–253",
    "scope": "Ridge、截距、尺度与调参完整子节",
    "reason": "核目标、单位变换与验证选择，不以书目页抵扣"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-ACCURACY",
    "locator": "§5.8 全节",
    "scope": "预测误差与RMSE/MAE",
    "reason": "选择与目标匹配的指标"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-FRENCH",
    "locator": "30 Industry Portfolios完整构造说明；随包432行冻结CSV",
    "scope": "原始组合、频率、单位",
    "reason": "识别重建快照"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-FRENCH-REGIME",
    "locator": "页面FIZ/CIZ生产说明完整单元",
    "scope": "版本与生产方法",
    "reason": "防止将当前历史重建当PIT"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-KMZ",
    "locator": "§V.A–C pp.487–493，含脚注33、38–41及图",
    "scope": "实证设置及评价口径",
    "reason": "具名现代方法，不等于复现"
  },
  {
    "from": "zh-qt20",
    "relation": "supported_by",
    "to": "QTDE-NAGEL",
    "locator": "§II.A–D pp.6–15；§II.G.1 pp.23–25",
    "scope": "kernel权重与人工反转机制",
    "reason": "与KMZ配对、不作普遍胜负判断"
  },
  {
    "from": "qt20-loss",
    "relation": "uses_method",
    "to": "zh-qt11",
    "reason": "二阶可积平方损失的投影分解。"
  }
]
```

## Related entries

## Optional reading path
理解模型并亲手算: step 6/9
推导一轮 ridge，并把全部候选与均值基线放在同一比较中。
下一篇为这些计算逐项检查信息到达和标签成熟时点。
Next: [时间序列验证与信息泄漏](https://ou-liu-red-sugar.github.io/zh/notebook/time-series-validation-leakage/)
