FAILURE MAP
← Case archive

FA-61021 / Bond day-count conventions / Open access

Compounded overnight rate in arrears with lookback: the spread is compounded into each daily rate · case 01

The coupon includes spread-on-rate compounding that the contract excludes.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The spread is added to every overnight rate before compounding instead of after annualization.

VERIFIED REPAIR

Compound only the published rates and add the spread to the annualized rate.

Unsuccessful approach: Scaling the added spread by the period fraction shrinks it instead of adding it once.

Case contract

Inputs start, end (business days), a map from ISO date to overnight rate in percent, a lookback in business days, a spread in percent and holidays. Business days are weekdays not in holidays. For each business day d in [start, end), weight n = calendar days to the next business day (or to end for the last one) and rate = the rate published L business days before d. Compound prod(1 + r/100*n/360); the period rate is (prod-1)*360/calendar days*100 plus the spread, rounded to 6 decimals.

Why this case matters

Bond accrual and pricing systems depend on exact day-count arithmetic; a single-day error changes settlement cash.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(start, end, rates, lookback, spread, holidays):
    S = datetime.date(*start)
    E = datetime.date(*end)
    H = {datetime.date(*h) for h in holidays}
    def biz(x):
        return x.weekday() < 5 and x not in H
    def back(x, k):
        while k > 0:
            x -= datetime.timedelta(days=1)
            if biz(x):
                k -= 1
        return x
    days = []
    x = S
    while x < E:
        if biz(x):
            days.append(x)
        x += datetime.timedelta(days=1)
    prod = 1.0
    for i, d in enumerate(days):
        nxt = days[i + 1] if i + 1 < len(days) else E
        n = (nxt - d).days
        obs = back(d, lookback)
        prod *= 1 + (rates[obs.isoformat()] + spread) / 100 * n / 360
    total = (E - S).days
    return round((prod - 1) * 360 / total * 100, 6)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression spread placement 1', [[2028, 5, 16], [2028, 6, 23], {'2028-04-26': 0.03, '2028-04-27': 0.07, '2028-04-28': -0.01, '2028-04-29': -0.03, '2028-04-30': 0.08, '2028-05-01': 0.11, '2028-05-02': 0.01, '2028-05-03': 0.05, '2028-05-04': 0.11, '2028-05-05': 0.08, '2028-05-06': 0.13, '2028-05-07': 0.12, '2028-05-08': 0.05, '2028-05-09': 0.04, '2028-05-10': 0.08, '2028-05-11': 0.11, '2028-05-12': 0.1, '2028-05-13': 0.1, '2028-05-14': -0.02, '2028-05-15': 0.0, '2028-05-16': 0.0, '2028-05-17': 0.05, '2028-05-18': 0.08, '2028-05-19': -0.01, '2028-05-20': 0.0, '2028-05-21': -0.01, '2028-05-22': 0.07, '2028-05-23': 0.07, '2028-05-24': 0.12, '2028-05-25': 0.12, '2028-05-26': 0.09, '2028-05-27': -0.02, '2028-05-28': 0.07, '2028-05-29': 0.06, '2028-05-30': 0.1, '2028-05-31': 0.13, '2028-06-01': 0.13, '2028-06-02': -0.03, '2028-06-03': 0.08, '2028-06-04': 0.13, '2028-06-05': -0.01, '2028-06-06': 0.04, '2028-06-07': 0.1, '2028-06-08': 0.08, '2028-06-09': 0.11, '2028-06-10': 0.04, '2028-06-11': 0.0, '2028-06-12': 0.13, '2028-06-13': -0.03, '2028-06-14': 0.07, '2028-06-15': 0.07, '2028-06-16': 0.04, '2028-06-17': 0.0, '2028-06-18': 0.01, '2028-06-19': 0.13, '2028-06-20': 0.02, '2028-06-21': 0.0, '2028-06-22': 0.05, '2028-06-23': 0.1}, 5, 0.25, [[2028, 6, 8], [2028, 6, 2]]], 0.327371], ['regression spread placement 2', [[2026, 2, 9], [2026, 3, 13], {'2026-01-20': 4.29, '2026-01-21': 4.32, '2026-01-22': 4.28, '2026-01-23': 4.23, '2026-01-24': 4.37, '2026-01-25': 4.37, '2026-01-26': 4.31, '2026-01-27': 4.27, '2026-01-28': 4.38, '2026-01-29': 4.36, '2026-01-30': 4.22, '2026-01-31': 4.38, '2026-02-01': 4.25, '2026-02-02': 4.26, '2026-02-03': 4.38, '2026-02-04': 4.32, '2026-02-05': 4.36, '2026-02-06': 4.28, '2026-02-07': 4.31, '2026-02-08': 4.22, '2026-02-09': 4.35, '2026-02-10': 4.36, '2026-02-11': 4.32, '2026-02-12': 4.3, '2026-02-13': 4.36, '2026-02-14': 4.35, '2026-02-15': 4.22, '2026-02-16': 4.36, '2026-02-17': 4.37, '2026-02-18': 4.29, '2026-02-19': 4.23, '2026-02-20': 4.29, '2026-02-21': 4.25, '2026-02-22': 4.22, '2026-02-23': 4.23, '2026-02-24': 4.32, '2026-02-25': 4.3, '2026-02-26': 4.36, '2026-02-27': 4.24, '2026-02-28': 4.33, '2026-03-01': 4.23, '2026-03-02': 4.28, '2026-03-03': 4.27, '2026-03-04': 4.25, '2026-03-05': 4.36, '2026-03-06': 4.26, '2026-03-07': 4.28, '2026-03-08': 4.28, '2026-03-09': 4.28, '2026-03-10': 4.22, '2026-03-11': 4.35, '2026-03-12': 4.31, '2026-03-13': 4.29}, 0, 0.25, [[2026, 2, 19], [2026, 2, 19]]], 4.55839], ['partial repair probe 1', [[2023, 7, 4], [2023, 7, 5], {'2023-06-14': 4.22, '2023-06-15': 4.28, '2023-06-16': 4.22, '2023-06-17': 4.24, '2023-06-18': 4.37, '2023-06-19': 4.25, '2023-06-20': 4.27, '2023-06-21': 4.23, '2023-06-22': 4.37, '2023-06-23': 4.36, '2023-06-24': 4.31, '2023-06-25': 4.31, '2023-06-26': 4.27, '2023-06-27': 4.33, '2023-06-28': 4.36, '2023-06-29': 4.33, '2023-06-30': 4.3, '2023-07-01': 4.27, '2023-07-02': 4.22, '2023-07-03': 4.3, '2023-07-04': 4.36, '2023-07-05': 4.31}, 0, 0.1, []], 4.46], ['partial repair probe 2', [[2026, 5, 15], [2026, 5, 18], {'2026-04-25': 4.25, '2026-04-26': 4.32, '2026-04-27': 4.34, '2026-04-28': 4.26, '2026-04-29': 4.36, '2026-04-30': 4.23, '2026-05-01': 4.34, '2026-05-02': 4.31, '2026-05-03': 4.23, '2026-05-04': 4.29, '2026-05-05': 4.22, '2026-05-06': 4.36, '2026-05-07': 4.33, '2026-05-08': 4.31, '2026-05-09': 4.25, '2026-05-10': 4.26, '2026-05-11': 4.3, '2026-05-12': 4.24, '2026-05-13': 4.38, '2026-05-14': 4.34, '2026-05-15': 4.25, '2026-05-16': 4.25, '2026-05-17': 4.3, '2026-05-18': 4.29}, 5, 0.1, []], 4.41], ['normal control 1', [[2026, 11, 9], [2026, 12, 14], {'2026-10-20': 0.12, '2026-10-21': 0.0, '2026-10-22': 0.04, '2026-10-23': 0.06, '2026-10-24': 0.01, '2026-10-25': 0.04, '2026-10-26': 0.02, '2026-10-27': 0.05, '2026-10-28': 0.02, '2026-10-29': 0.09, '2026-10-30': 0.04, '2026-10-31': 0.0, '2026-11-01': 0.11, '2026-11-02': 0.06, '2026-11-03': 0.13, '2026-11-04': 0.1, '2026-11-05': 0.02, '2026-11-06': 0.08, '2026-11-07': -0.01, '2026-11-08': 0.0, '2026-11-09': 0.11, '2026-11-10': 0.06, '2026-11-11': 0.09, '2026-11-12': 0.09, '2026-11-13': 0.12, '2026-11-14': 0.02, '2026-11-15': 0.08, '2026-11-16': 0.12, '2026-11-17': 0.11, '2026-11-18': 0.03, '2026-11-19': 0.03, '2026-11-20': 0.05, '2026-11-21': 0.04, '2026-11-22': 0.05, '2026-11-23': 0.05, '2026-11-24': 0.01, '2026-11-25': 0.09, '2026-11-26': 0.06, '2026-11-27': 0.05, '2026-11-28': 0.12, '2026-11-29': 0.08, '2026-11-30': 0.02, '2026-12-01': -0.02, '2026-12-02': 0.08, '2026-12-03': 0.12, '2026-12-04': -0.03, '2026-12-05': -0.01, '2026-12-06': 0.01, '2026-12-07': 0.01, '2026-12-08': 0.0, '2026-12-09': 0.09, '2026-12-10': 0.01, '2026-12-11': 0.05, '2026-12-12': 0.03, '2026-12-13': 0.05, '2026-12-14': 0.01}, 2, 0.0, [[2026, 11, 23], [2026, 11, 12], [2026, 11, 27]]], 0.05543], ['normal control 2', [[2024, 2, 28], [2024, 3, 25], {'2024-02-08': 5.35, '2024-02-09': 5.25, '2024-02-10': 5.33, '2024-02-11': 5.3, '2024-02-12': 5.27, '2024-02-13': 5.35, '2024-02-14': 5.23, '2024-02-15': 5.29, '2024-02-16': 5.28, '2024-02-17': 5.38, '2024-02-18': 5.25, '2024-02-19': 5.35, '2024-02-20': 5.26, '2024-02-21': 5.29, '2024-02-22': 5.23, '2024-02-23': 5.25, '2024-02-24': 5.26, '2024-02-25': 5.24, '2024-02-26': 5.32, '2024-02-27': 5.24, '2024-02-28': 5.32, '2024-02-29': 5.29, '2024-03-01': 5.38, '2024-03-02': 5.26, '2024-03-03': 5.25, '2024-03-04': 5.28, '2024-03-05': 5.31, '2024-03-06': 5.24, '2024-03-07': 5.3, '2024-03-08': 5.38, '2024-03-09': 5.29, '2024-03-10': 5.38, '2024-03-11': 5.29, '2024-03-12': 5.24, '2024-03-13': 5.34, '2024-03-14': 5.36, '2024-03-15': 5.39, '2024-03-16': 5.29, '2024-03-17': 5.27, '2024-03-18': 5.28, '2024-03-19': 5.23, '2024-03-20': 5.36, '2024-03-21': 5.27, '2024-03-22': 5.29, '2024-03-23': 5.28, '2024-03-24': 5.34, '2024-03-25': 5.39}, 2, 0.0, []], 5.319824], ['normal control 3', [[2028, 5, 1], [2028, 5, 4], {'2028-04-11': 4.29, '2028-04-12': 4.37, '2028-04-13': 4.37, '2028-04-14': 4.34, '2028-04-15': 4.25, '2028-04-16': 4.31, '2028-04-17': 4.3, '2028-04-18': 4.27, '2028-04-19': 4.35, '2028-04-20': 4.28, '2028-04-21': 4.28, '2028-04-22': 4.26, '2028-04-23': 4.36, '2028-04-24': 4.31, '2028-04-25': 4.34, '2028-04-26': 4.25, '2028-04-27': 4.31, '2028-04-28': 4.22, '2028-04-29': 4.33, '2028-04-30': 4.36, '2028-05-01': 4.26, '2028-05-02': 4.22, '2028-05-03': 4.28, '2028-05-04': 4.24}, 0, 0.0, [[2028, 5, 3], [2028, 5, 3]]], 4.233666], ['normal control 4', [[2023, 6, 26], [2023, 6, 27], {'2023-06-06': 4.38, '2023-06-07': 4.28, '2023-06-08': 4.37, '2023-06-09': 4.34, '2023-06-10': 4.31, '2023-06-11': 4.24, '2023-06-12': 4.23, '2023-06-13': 4.22, '2023-06-14': 4.32, '2023-06-15': 4.34, '2023-06-16': 4.22, '2023-06-17': 4.23, '2023-06-18': 4.28, '2023-06-19': 4.31, '2023-06-20': 4.25, '2023-06-21': 4.34, '2023-06-22': 4.37, '2023-06-23': 4.25, '2023-06-24': 4.34, '2023-06-25': 4.3, '2023-06-26': 4.36, '2023-06-27': 4.26}, 0, 0.0, []], 4.36]], [['regression spread placement 1', [[2023, 2, 28], [2023, 3, 14], {'2023-02-08': 0.12, '2023-02-09': -0.02, '2023-02-10': -0.02, '2023-02-11': 0.06, '2023-02-12': 0.09, '2023-02-13': 0.01, '2023-02-14': 0.13, '2023-02-15': 0.13, '2023-02-16': -0.02, '2023-02-17': 0.04, '2023-02-18': 0.08, '2023-02-19': -0.03, '2023-02-20': 0.12, '2023-02-21': 0.04, '2023-02-22': 0.05, '2023-02-23': 0.04, '2023-02-24': 0.1, '2023-02-25': 0.0, '2023-02-26': -0.03, '2023-02-27': 0.12, '2023-02-28': 0.0, '2023-03-01': 0.08, '2023-03-02': 0.05, '2023-03-03': 0.11, '2023-03-04': 0.09, '2023-03-05': 0.05, '2023-03-06': 0.0, '2023-03-07': -0.03, '2023-03-08': 0.05, '2023-03-09': 0.06, '2023-03-10': 0.13, '2023-03-11': 0.07, '2023-03-12': 0.12, '2023-03-13': -0.01, '2023-03-14': 0.11}, 0, 0.1, [[2023, 3, 3]]], 0.152857], ['regression spread placement 2', [[2023, 8, 29], [2023, 10, 3], {'2023-08-09': 4.31, '2023-08-10': 4.24, '2023-08-11': 4.29, '2023-08-12': 4.26, '2023-08-13': 4.29, '2023-08-14': 4.23, '2023-08-15': 4.36, '2023-08-16': 4.23, '2023-08-17': 4.33, '2023-08-18': 4.32, '2023-08-19': 4.29, '2023-08-20': 4.22, '2023-08-21': 4.26, '2023-08-22': 4.26, '2023-08-23': 4.27, '2023-08-24': 4.31, '2023-08-25': 4.3, '2023-08-26': 4.25, '2023-08-27': 4.36, '2023-08-28': 4.31, '2023-08-29': 4.29, '2023-08-30': 4.23, '2023-08-31': 4.35, '2023-09-01': 4.33, '2023-09-02': 4.36, '2023-09-03': 4.31, '2023-09-04': 4.23, '2023-09-05': 4.25, '2023-09-06': 4.38, '2023-09-07': 4.32, '2023-09-08': 4.32, '2023-09-09': 4.25, '2023-09-10': 4.25, '2023-09-11': 4.31, '2023-09-12': 4.37, '2023-09-13': 4.28, '2023-09-14': 4.31, '2023-09-15': 4.31, '2023-09-16': 4.25, '2023-09-17': 4.3, '2023-09-18': 4.29, '2023-09-19': 4.24, '2023-09-20': 4.27, '2023-09-21': 4.31, '2023-09-22': 4.38, '2023-09-23': 4.33, '2023-09-24': 4.22, '2023-09-25': 4.37, '2023-09-26': 4.38, '2023-09-27': 4.28, '2023-09-28': 4.33, '2023-09-29': 4.38, '2023-09-30': 4.22, '2023-10-01': 4.22, '2023-10-02': 4.28, '2023-10-03': 4.33}, 2, 0.1, []], 4.411966], ['partial repair probe 1', [[2028, 9, 21], [2028, 9, 22], {'2028-09-01': 0.1, '2028-09-02': -0.03, '2028-09-03': 0.06, '2028-09-04': 0.11, '2028-09-05': 0.11, '2028-09-06': 0.01, '2028-09-07': 0.06, '2028-09-08': -0.02, '2028-09-09': 0.01, '2028-09-10': -0.01, '2028-09-11': 0.04, '2028-09-12': 0.03, '2028-09-13': 0.11, '2028-09-14': -0.02, '2028-09-15': 0.13, '2028-09-16': -0.01, '2028-09-17': 0.06, '2028-09-18': -0.01, '2028-09-19': 0.02, '2028-09-20': 0.05, '2028-09-21': -0.01, '2028-09-22': 0.02}, 5, 0.1, []], 0.08], ['partial repair probe 2', [[2025, 2, 28], [2025, 3, 3], {'2025-02-08': 5.32, '2025-02-09': 5.27, '2025-02-10': 5.33, '2025-02-11': 5.28, '2025-02-12': 5.33, '2025-02-13': 5.28, '2025-02-14': 5.33, '2025-02-15': 5.36, '2025-02-16': 5.26, '2025-02-17': 5.26, '2025-02-18': 5.29, '2025-02-19': 5.33, '2025-02-20': 5.25, '2025-02-21': 5.35, '2025-02-22': 5.34, '2025-02-23': 5.33, '2025-02-24': 5.26, '2025-02-25': 5.27, '2025-02-26': 5.3, '2025-02-27': 5.23, '2025-02-28': 5.31, '2025-03-01': 5.27, '2025-03-02': 5.28, '2025-03-03': 5.3}, 0, 0.1, []], 5.41], ['normal control 1', [[2027, 6, 30], [2027, 7, 19], {'2027-06-10': 4.28, '2027-06-11': 4.31, '2027-06-12': 4.28, '2027-06-13': 4.31, '2027-06-14': 4.38, '2027-06-15': 4.34, '2027-06-16': 4.22, '2027-06-17': 4.27, '2027-06-18': 4.29, '2027-06-19': 4.37, '2027-06-20': 4.35, '2027-06-21': 4.32, '2027-06-22': 4.29, '2027-06-23': 4.24, '2027-06-24': 4.32, '2027-06-25': 4.3, '2027-06-26': 4.27, '2027-06-27': 4.25, '2027-06-28': 4.38, '2027-06-29': 4.34, '2027-06-30': 4.3, '2027-07-01': 4.22, '2027-07-02': 4.3, '2027-07-03': 4.3, '2027-07-04': 4.36, '2027-07-05': 4.22, '2027-07-06': 4.26, '2027-07-07': 4.24, '2027-07-08': 4.31, '2027-07-09': 4.29, '2027-07-10': 4.28, '2027-07-11': 4.35, '2027-07-12': 4.35, '2027-07-13': 4.22, '2027-07-14': 4.32, '2027-07-15': 4.3, '2027-07-16': 4.32, '2027-07-17': 4.22, '2027-07-18': 4.29, '2027-07-19': 4.35}, 2, 0.0, [[2027, 7, 7]]], 4.297499], ['normal control 2', [[2023, 6, 30], [2023, 7, 3], {'2023-06-10': 4.38, '2023-06-11': 4.28, '2023-06-12': 4.29, '2023-06-13': 4.23, '2023-06-14': 4.27, '2023-06-15': 4.27, '2023-06-16': 4.31, '2023-06-17': 4.27, '2023-06-18': 4.23, '2023-06-19': 4.27, '2023-06-20': 4.38, '2023-06-21': 4.38, '2023-06-22': 4.24, '2023-06-23': 4.3, '2023-06-24': 4.26, '2023-06-25': 4.3, '2023-06-26': 4.25, '2023-06-27': 4.26, '2023-06-28': 4.27, '2023-06-29': 4.38, '2023-06-30': 4.35, '2023-07-01': 4.25, '2023-07-02': 4.34, '2023-07-03': 4.29}, 0, 0.0, []], 4.35], ['normal control 3', [[2022, 3, 16], [2022, 4, 20], {'2022-02-24': 4.33, '2022-02-25': 4.38, '2022-02-26': 4.32, '2022-02-27': 4.3, '2022-02-28': 4.23, '2022-03-01': 4.36, '2022-03-02': 4.31, '2022-03-03': 4.23, '2022-03-04': 4.26, '2022-03-05': 4.37, '2022-03-06': 4.33, '2022-03-07': 4.25, '2022-03-08': 4.26, '2022-03-09': 4.37, '2022-03-10': 4.37, '2022-03-11': 4.31, '2022-03-12': 4.38, '2022-03-13': 4.27, '2022-03-14': 4.29, '2022-03-15': 4.37, '2022-03-16': 4.24, '2022-03-17': 4.36, '2022-03-18': 4.37, '2022-03-19': 4.26, '2022-03-20': 4.27, '2022-03-21': 4.32, '2022-03-22': 4.33, '2022-03-23': 4.23, '2022-03-24': 4.25, '2022-03-25': 4.24, '2022-03-26': 4.28, '2022-03-27': 4.29, '2022-03-28': 4.25, '2022-03-29': 4.3, '2022-03-30': 4.3, '2022-03-31': 4.24, '2022-04-01': 4.29, '2022-04-02': 4.31, '2022-04-03': 4.37, '2022-04-04': 4.23, '2022-04-05': 4.38, '2022-04-06': 4.22, '2022-04-07': 4.29, '2022-04-08': 4.26, '2022-04-09': 4.34, '2022-04-10': 4.24, '2022-04-11': 4.27, '2022-04-12': 4.26, '2022-04-13': 4.38, '2022-04-14': 4.33, '2022-04-15': 4.26, '2022-04-16': 4.25, '2022-04-17': 4.24, '2022-04-18': 4.29, '2022-04-19': 4.24, '2022-04-20': 4.32}, 0, 0.0, [[2022, 3, 29], [2022, 3, 29]]], 4.29187], ['normal control 4', [[2028, 6, 26], [2028, 7, 26], {'2028-06-06': 4.26, '2028-06-07': 4.3, '2028-06-08': 4.23, '2028-06-09': 4.31, '2028-06-10': 4.27, '2028-06-11': 4.25, '2028-06-12': 4.36, '2028-06-13': 4.3, '2028-06-14': 4.37, '2028-06-15': 4.3, '2028-06-16': 4.37, '2028-06-17': 4.29, '2028-06-18': 4.29, '2028-06-19': 4.31, '2028-06-20': 4.23, '2028-06-21': 4.33, '2028-06-22': 4.23, '2028-06-23': 4.38, '2028-06-24': 4.27, '2028-06-25': 4.38, '2028-06-26': 4.27, '2028-06-27': 4.29, '2028-06-28': 4.34, '2028-06-29': 4.28, '2028-06-30': 4.35, '2028-07-01': 4.36, '2028-07-02': 4.27, '2028-07-03': 4.26, '2028-07-04': 4.26, '2028-07-05': 4.38, '2028-07-06': 4.27, '2028-07-07': 4.36, '2028-07-08': 4.35, '2028-07-09': 4.29, '2028-07-10': 4.3, '2028-07-11': 4.23, '2028-07-12': 4.35, '2028-07-13': 4.29, '2028-07-14': 4.27, '2028-07-15': 4.26, '2028-07-16': 4.24, '2028-07-17': 4.31, '2028-07-18': 4.38, '2028-07-19': 4.28, '2028-07-20': 4.38, '2028-07-21': 4.31, '2028-07-22': 4.38, '2028-07-23': 4.27, '2028-07-24': 4.32, '2028-07-25': 4.31, '2028-07-26': 4.28}, 5, 0.0, []], 4.320291]], [['regression spread placement 1', [[2021, 3, 2], [2021, 4, 2], {'2021-02-10': 0.11, '2021-02-11': 0.01, '2021-02-12': 0.09, '2021-02-13': -0.02, '2021-02-14': 0.07, '2021-02-15': 0.02, '2021-02-16': 0.05, '2021-02-17': -0.03, '2021-02-18': 0.06, '2021-02-19': 0.07, '2021-02-20': 0.03, '2021-02-21': 0.0, '2021-02-22': 0.02, '2021-02-23': 0.06, '2021-02-24': 0.0, '2021-02-25': 0.13, '2021-02-26': 0.01, '2021-02-27': 0.0, '2021-02-28': 0.11, '2021-03-01': 0.13, '2021-03-02': 0.01, '2021-03-03': 0.11, '2021-03-04': 0.12, '2021-03-05': 0.03, '2021-03-06': 0.05, '2021-03-07': 0.13, '2021-03-08': 0.12, '2021-03-09': 0.1, '2021-03-10': -0.02, '2021-03-11': 0.05, '2021-03-12': 0.13, '2021-03-13': 0.0, '2021-03-14': 0.08, '2021-03-15': 0.11, '2021-03-16': 0.03, '2021-03-17': -0.01, '2021-03-18': -0.01, '2021-03-19': 0.02, '2021-03-20': 0.07, '2021-03-21': 0.02, '2021-03-22': -0.03, '2021-03-23': 0.1, '2021-03-24': 0.13, '2021-03-25': 0.0, '2021-03-26': 0.07, '2021-03-27': 0.13, '2021-03-28': -0.01, '2021-03-29': -0.03, '2021-03-30': 0.05, '2021-03-31': 0.05, '2021-04-01': 0.09, '2021-04-02': 0.0}, 5, 0.1, [[2021, 3, 24], [2021, 3, 25]]], 0.150646], ['regression spread placement 2', [[2021, 5, 21], [2021, 6, 28], {'2021-05-01': 1.62, '2021-05-02': 1.6, '2021-05-03': 1.53, '2021-05-04': 1.55, '2021-05-05': 1.57, '2021-05-06': 1.61, '2021-05-07': 1.6, '2021-05-08': 1.6, '2021-05-09': 1.61, '2021-05-10': 1.61, '2021-05-11': 1.48, '2021-05-12': 1.59, '2021-05-13': 1.48, '2021-05-14': 1.63, '2021-05-15': 1.48, '2021-05-16': 1.56, '2021-05-17': 1.54, '2021-05-18': 1.56, '2021-05-19': 1.58, '2021-05-20': 1.63, '2021-05-21': 1.62, '2021-05-22': 1.5, '2021-05-23': 1.61, '2021-05-24': 1.49, '2021-05-25': 1.48, '2021-05-26': 1.57, '2021-05-27': 1.58, '2021-05-28': 1.58, '2021-05-29': 1.53, '2021-05-30': 1.47, '2021-05-31': 1.53, '2021-06-01': 1.62, '2021-06-02': 1.63, '2021-06-03': 1.53, '2021-06-04': 1.52, '2021-06-05': 1.63, '2021-06-06': 1.6, '2021-06-07': 1.55, '2021-06-08': 1.52, '2021-06-09': 1.63, '2021-06-10': 1.58, '2021-06-11': 1.59, '2021-06-12': 1.52, '2021-06-13': 1.47, '2021-06-14': 1.62, '2021-06-15': 1.55, '2021-06-16': 1.51, '2021-06-17': 1.54, '2021-06-18': 1.56, '2021-06-19': 1.57, '2021-06-20': 1.59, '2021-06-21': 1.57, '2021-06-22': 1.59, '2021-06-23': 1.55, '2021-06-24': 1.51, '2021-06-25': 1.63, '2021-06-26': 1.56, '2021-06-27': 1.49, '2021-06-28': 1.49}, 0, 0.1, []], 1.670971], ['partial repair probe 1', [[2022, 3, 1], [2022, 3, 3], {'2022-02-09': 1.55, '2022-02-10': 1.56, '2022-02-11': 1.55, '2022-02-12': 1.47, '2022-02-13': 1.61, '2022-02-14': 1.57, '2022-02-15': 1.63, '2022-02-16': 1.5, '2022-02-17': 1.48, '2022-02-18': 1.62, '2022-02-19': 1.47, '2022-02-20': 1.63, '2022-02-21': 1.48, '2022-02-22': 1.47, '2022-02-23': 1.59, '2022-02-24': 1.62, '2022-02-25': 1.56, '2022-02-26': 1.59, '2022-02-27': 1.5, '2022-02-28': 1.55, '2022-03-01': 1.56, '2022-03-02': 1.53, '2022-03-03': 1.6}, 2, 0.25, [[2022, 3, 2], [2022, 3, 2]]], 1.81], ['partial repair probe 2', [[2024, 7, 2], [2024, 7, 4], {'2024-06-12': 1.61, '2024-06-13': 1.48, '2024-06-14': 1.5, '2024-06-15': 1.61, '2024-06-16': 1.6, '2024-06-17': 1.47, '2024-06-18': 1.6, '2024-06-19': 1.58, '2024-06-20': 1.6, '2024-06-21': 1.56, '2024-06-22': 1.54, '2024-06-23': 1.63, '2024-06-24': 1.53, '2024-06-25': 1.57, '2024-06-26': 1.55, '2024-06-27': 1.52, '2024-06-28': 1.58, '2024-06-29': 1.54, '2024-06-30': 1.53, '2024-07-01': 1.52, '2024-07-02': 1.63, '2024-07-03': 1.59, '2024-07-04': 1.61}, 5, 0.25, [[2024, 7, 3], [2024, 7, 3], [2024, 7, 3]]], 1.82], ['normal control 1', [[2024, 7, 9], [2024, 7, 10], {'2024-06-19': 0.04, '2024-06-20': 0.12, '2024-06-21': 0.04, '2024-06-22': 0.12, '2024-06-23': -0.01, '2024-06-24': 0.13, '2024-06-25': 0.11, '2024-06-26': 0.08, '2024-06-27': -0.03, '2024-06-28': -0.02, '2024-06-29': 0.12, '2024-06-30': 0.0, '2024-07-01': 0.1, '2024-07-02': 0.06, '2024-07-03': 0.02, '2024-07-04': 0.05, '2024-07-05': 0.01, '2024-07-06': 0.07, '2024-07-07': -0.01, '2024-07-08': 0.12, '2024-07-09': 0.01, '2024-07-10': 0.07}, 2, 0.0, []], 0.01], ['normal control 2', [[2028, 5, 1], [2028, 6, 1], {'2028-04-11': 1.58, '2028-04-12': 1.52, '2028-04-13': 1.6, '2028-04-14': 1.55, '2028-04-15': 1.49, '2028-04-16': 1.5, '2028-04-17': 1.58, '2028-04-18': 1.48, '2028-04-19': 1.63, '2028-04-20': 1.57, '2028-04-21': 1.47, '2028-04-22': 1.57, '2028-04-23': 1.52, '2028-04-24': 1.49, '2028-04-25': 1.51, '2028-04-26': 1.6, '2028-04-27': 1.61, '2028-04-28': 1.56, '2028-04-29': 1.57, '2028-04-30': 1.6, '2028-05-01': 1.48, '2028-05-02': 1.6, '2028-05-03': 1.63, '2028-05-04': 1.55, '2028-05-05': 1.56, '2028-05-06': 1.61, '2028-05-07': 1.49, '2028-05-08': 1.53, '2028-05-09': 1.5, '2028-05-10': 1.63, '2028-05-11': 1.57, '2028-05-12': 1.52, '2028-05-13': 1.57, '2028-05-14': 1.55, '2028-05-15': 1.49, '2028-05-16': 1.48, '2028-05-17': 1.63, '2028-05-18': 1.48, '2028-05-19': 1.54, '2028-05-20': 1.53, '2028-05-21': 1.56, '2028-05-22': 1.62, '2028-05-23': 1.62, '2028-05-24': 1.55, '2028-05-25': 1.53, '2028-05-26': 1.53, '2028-05-27': 1.52, '2028-05-28': 1.6, '2028-05-29': 1.53, '2028-05-30': 1.6, '2028-05-31': 1.55, '2028-06-01': 1.6}, 5, 0.0, [[2028, 5, 8]]], 1.55323], ['normal control 3', [[2024, 9, 2], [2024, 10, 8], {'2024-08-13': 0.09, '2024-08-14': 0.04, '2024-08-15': -0.03, '2024-08-16': 0.05, '2024-08-17': 0.13, '2024-08-18': -0.03, '2024-08-19': -0.03, '2024-08-20': -0.02, '2024-08-21': 0.03, '2024-08-22': -0.02, '2024-08-23': 0.12, '2024-08-24': 0.01, '2024-08-25': -0.01, '2024-08-26': 0.08, '2024-08-27': 0.12, '2024-08-28': 0.09, '2024-08-29': -0.03, '2024-08-30': 0.07, '2024-08-31': 0.03, '2024-09-01': 0.07, '2024-09-02': 0.07, '2024-09-03': 0.01, '2024-09-04': -0.01, '2024-09-05': 0.04, '2024-09-06': -0.01, '2024-09-07': 0.08, '2024-09-08': 0.06, '2024-09-09': 0.06, '2024-09-10': -0.02, '2024-09-11': 0.09, '2024-09-12': 0.06, '2024-09-13': 0.13, '2024-09-14': 0.08, '2024-09-15': 0.07, '2024-09-16': -0.03, '2024-09-17': 0.11, '2024-09-18': 0.07, '2024-09-19': 0.09, '2024-09-20': 0.02, '2024-09-21': 0.13, '2024-09-22': 0.02, '2024-09-23': 0.07, '2024-09-24': 0.0, '2024-09-25': -0.01, '2024-09-26': 0.06, '2024-09-27': 0.1, '2024-09-28': 0.09, '2024-09-29': -0.01, '2024-09-30': 0.06, '2024-10-01': 0.04, '2024-10-02': -0.01, '2024-10-03': 0.1, '2024-10-04': -0.02, '2024-10-05': 0.0, '2024-10-06': 0.11, '2024-10-07': -0.03, '2024-10-08': 0.08}, 2, 0.0, []], 0.038612], ['normal control 4', [[2025, 9, 1], [2025, 10, 2], {'2025-08-12': -0.02, '2025-08-13': 0.06, '2025-08-14': 0.13, '2025-08-15': 0.1, '2025-08-16': 0.0, '2025-08-17': 0.06, '2025-08-18': 0.07, '2025-08-19': 0.08, '2025-08-20': 0.01, '2025-08-21': 0.0, '2025-08-22': 0.03, '2025-08-23': 0.0, '2025-08-24': 0.11, '2025-08-25': 0.03, '2025-08-26': 0.11, '2025-08-27': 0.05, '2025-08-28': -0.02, '2025-08-29': 0.07, '2025-08-30': 0.1, '2025-08-31': -0.02, '2025-09-01': -0.02, '2025-09-02': 0.02, '2025-09-03': 0.05, '2025-09-04': -0.03, '2025-09-05': 0.06, '2025-09-06': 0.02, '2025-09-07': 0.09, '2025-09-08': 0.06, '2025-09-09': 0.05, '2025-09-10': 0.04, '2025-09-11': 0.06, '2025-09-12': 0.07, '2025-09-13': 0.04, '2025-09-14': -0.03, '2025-09-15': 0.09, '2025-09-16': 0.08, '2025-09-17': 0.09, '2025-09-18': 0.1, '2025-09-19': 0.04, '2025-09-20': 0.0, '2025-09-21': 0.01, '2025-09-22': 0.02, '2025-09-23': 0.05, '2025-09-24': -0.02, '2025-09-25': -0.02, '2025-09-26': -0.03, '2025-09-27': 0.02, '2025-09-28': 0.09, '2025-09-29': 0.07, '2025-09-30': 0.06, '2025-10-01': 0.03, '2025-10-02': 0.0}, 2, 0.0, []], 0.03871]], [['regression spread placement 1', [[2025, 12, 1], [2025, 12, 8], {'2025-11-11': 5.31, '2025-11-12': 5.26, '2025-11-13': 5.25, '2025-11-14': 5.26, '2025-11-15': 5.24, '2025-11-16': 5.31, '2025-11-17': 5.33, '2025-11-18': 5.32, '2025-11-19': 5.31, '2025-11-20': 5.36, '2025-11-21': 5.29, '2025-11-22': 5.39, '2025-11-23': 5.32, '2025-11-24': 5.34, '2025-11-25': 5.35, '2025-11-26': 5.27, '2025-11-27': 5.26, '2025-11-28': 5.25, '2025-11-29': 5.24, '2025-11-30': 5.27, '2025-12-01': 5.34, '2025-12-02': 5.27, '2025-12-03': 5.35, '2025-12-04': 5.38, '2025-12-05': 5.31, '2025-12-06': 5.33, '2025-12-07': 5.37, '2025-12-08': 5.31}, 2, 0.1, [[2025, 12, 4], [2025, 12, 3]]], 5.391665], ['regression spread placement 2', [[2027, 12, 9], [2027, 12, 21], {'2027-11-19': 4.35, '2027-11-20': 4.34, '2027-11-21': 4.29, '2027-11-22': 4.24, '2027-11-23': 4.32, '2027-11-24': 4.32, '2027-11-25': 4.28, '2027-11-26': 4.34, '2027-11-27': 4.28, '2027-11-28': 4.22, '2027-11-29': 4.27, '2027-11-30': 4.27, '2027-12-01': 4.25, '2027-12-02': 4.37, '2027-12-03': 4.23, '2027-12-04': 4.32, '2027-12-05': 4.35, '2027-12-06': 4.26, '2027-12-07': 4.22, '2027-12-08': 4.35, '2027-12-09': 4.28, '2027-12-10': 4.26, '2027-12-11': 4.29, '2027-12-12': 4.3, '2027-12-13': 4.38, '2027-12-14': 4.32, '2027-12-15': 4.26, '2027-12-16': 4.28, '2027-12-17': 4.28, '2027-12-18': 4.3, '2027-12-19': 4.3, '2027-12-20': 4.38, '2027-12-21': 4.29}, 5, 0.25, [[2027, 12, 15]]], 4.51999], ['partial repair probe 1', [[2022, 12, 13], [2022, 12, 15], {'2022-11-23': 4.3, '2022-11-24': 4.36, '2022-11-25': 4.34, '2022-11-26': 4.25, '2022-11-27': 4.26, '2022-11-28': 4.32, '2022-11-29': 4.22, '2022-11-30': 4.24, '2022-12-01': 4.31, '2022-12-02': 4.38, '2022-12-03': 4.27, '2022-12-04': 4.38, '2022-12-05': 4.27, '2022-12-06': 4.29, '2022-12-07': 4.23, '2022-12-08': 4.23, '2022-12-09': 4.22, '2022-12-10': 4.35, '2022-12-11': 4.38, '2022-12-12': 4.27, '2022-12-13': 4.28, '2022-12-14': 4.26, '2022-12-15': 4.28}, 2, 0.25, [[2022, 12, 14], [2022, 12, 14], [2022, 12, 14]]], 4.47], ['partial repair probe 2', [[2023, 3, 22], [2023, 3, 24], {'2023-03-02': 0.13, '2023-03-03': 0.12, '2023-03-04': -0.03, '2023-03-05': 0.12, '2023-03-06': 0.02, '2023-03-07': 0.13, '2023-03-08': 0.0, '2023-03-09': 0.02, '2023-03-10': 0.09, '2023-03-11': 0.07, '2023-03-12': 0.0, '2023-03-13': 0.09, '2023-03-14': -0.03, '2023-03-15': 0.08, '2023-03-16': 0.05, '2023-03-17': 0.09, '2023-03-18': 0.13, '2023-03-19': 0.09, '2023-03-20': 0.02, '2023-03-21': 0.12, '2023-03-22': 0.0, '2023-03-23': 0.05, '2023-03-24': -0.02}, 0, 0.1, [[2023, 3, 23], [2023, 3, 23], [2023, 3, 23]]], 0.1], ['normal control 1', [[2024, 4, 29], [2024, 6, 3], {'2024-04-09': 0.03, '2024-04-10': 0.1, '2024-04-11': 0.08, '2024-04-12': 0.06, '2024-04-13': -0.03, '2024-04-14': 0.12, '2024-04-15': 0.03, '2024-04-16': 0.13, '2024-04-17': 0.12, '2024-04-18': -0.02, '2024-04-19': 0.03, '2024-04-20': 0.08, '2024-04-21': 0.12, '2024-04-22': 0.05, '2024-04-23': 0.06, '2024-04-24': 0.02, '2024-04-25': 0.08, '2024-04-26': 0.1, '2024-04-27': 0.07, '2024-04-28': 0.08, '2024-04-29': 0.09, '2024-04-30': 0.03, '2024-05-01': 0.0, '2024-05-02': -0.02, '2024-05-03': 0.13, '2024-05-04': -0.03, '2024-05-05': 0.09, '2024-05-06': 0.0, '2024-05-07': 0.05, '2024-05-08': 0.05, '2024-05-09': 0.08, '2024-05-10': 0.04, '2024-05-11': 0.08, '2024-05-12': 0.09, '2024-05-13': 0.13, '2024-05-14': 0.09, '2024-05-15': 0.05, '2024-05-16': 0.11, '2024-05-17': 0.04, '2024-05-18': 0.08, '2024-05-19': 0.01, '2024-05-20': -0.01, '2024-05-21': 0.1, '2024-05-22': 0.12, '2024-05-23': 0.03, '2024-05-24': 0.03, '2024-05-25': 0.02, '2024-05-26': 0.03, '2024-05-27': 0.05, '2024-05-28': 0.12, '2024-05-29': 0.08, '2024-05-30': 0.12, '2024-05-31': 0.02, '2024-06-01': -0.03, '2024-06-02': 0.07, '2024-06-03': 0.09}, 2, 0.0, []], 0.062002], ['normal control 2', [[2022, 6, 30], [2022, 8, 9], {'2022-06-10': -0.01, '2022-06-11': 0.04, '2022-06-12': 0.03, '2022-06-13': 0.07, '2022-06-14': -0.02, '2022-06-15': 0.13, '2022-06-16': 0.11, '2022-06-17': 0.0, '2022-06-18': 0.09, '2022-06-19': 0.09, '2022-06-20': -0.03, '2022-06-21': 0.0, '2022-06-22': -0.03, '2022-06-23': 0.08, '2022-06-24': 0.04, '2022-06-25': 0.08, '2022-06-26': 0.01, '2022-06-27': 0.07, '2022-06-28': -0.02, '2022-06-29': 0.08, '2022-06-30': -0.01, '2022-07-01': -0.03, '2022-07-02': 0.0, '2022-07-03': 0.05, '2022-07-04': 0.0, '2022-07-05': 0.09, '2022-07-06': 0.1, '2022-07-07': -0.03, '2022-07-08': 0.0, '2022-07-09': -0.02, '2022-07-10': 0.1, '2022-07-11': 0.07, '2022-07-12': 0.09, '2022-07-13': 0.11, '2022-07-14': 0.12, '2022-07-15': -0.01, '2022-07-16': -0.01, '2022-07-17': 0.08, '2022-07-18': -0.01, '2022-07-19': 0.05, '2022-07-20': 0.11, '2022-07-21': 0.01, '2022-07-22': 0.11, '2022-07-23': 0.1, '2022-07-24': -0.03, '2022-07-25': 0.01, '2022-07-26': 0.03, '2022-07-27': 0.08, '2022-07-28': 0.11, '2022-07-29': 0.03, '2022-07-30': 0.1, '2022-07-31': 0.01, '2022-08-01': -0.03, '2022-08-02': 0.06, '2022-08-03': -0.02, '2022-08-04': 0.1, '2022-08-05': 0.04, '2022-08-06': 0.12, '2022-08-07': 0.03, '2022-08-08': 0.07, '2022-08-09': 0.01}, 2, 0.0, []], 0.053001], ['normal control 3', [[2026, 2, 24], [2026, 3, 11], {'2026-02-04': 4.24, '2026-02-05': 4.26, '2026-02-06': 4.37, '2026-02-07': 4.32, '2026-02-08': 4.22, '2026-02-09': 4.29, '2026-02-10': 4.35, '2026-02-11': 4.25, '2026-02-12': 4.23, '2026-02-13': 4.22, '2026-02-14': 4.26, '2026-02-15': 4.28, '2026-02-16': 4.23, '2026-02-17': 4.31, '2026-02-18': 4.23, '2026-02-19': 4.36, '2026-02-20': 4.24, '2026-02-21': 4.27, '2026-02-22': 4.28, '2026-02-23': 4.24, '2026-02-24': 4.24, '2026-02-25': 4.36, '2026-02-26': 4.3, '2026-02-27': 4.27, '2026-02-28': 4.37, '2026-03-01': 4.31, '2026-03-02': 4.3, '2026-03-03': 4.24, '2026-03-04': 4.27, '2026-03-05': 4.34, '2026-03-06': 4.32, '2026-03-07': 4.24, '2026-03-08': 4.24, '2026-03-09': 4.35, '2026-03-10': 4.26, '2026-03-11': 4.35}, 0, 0.0, []], 4.298717], ['normal control 4', [[2027, 5, 4], [2027, 6, 4], {'2027-04-14': 5.34, '2027-04-15': 5.38, '2027-04-16': 5.29, '2027-04-17': 5.27, '2027-04-18': 5.24, '2027-04-19': 5.23, '2027-04-20': 5.32, '2027-04-21': 5.37, '2027-04-22': 5.25, '2027-04-23': 5.26, '2027-04-24': 5.32, '2027-04-25': 5.28, '2027-04-26': 5.29, '2027-04-27': 5.3, '2027-04-28': 5.26, '2027-04-29': 5.23, '2027-04-30': 5.37, '2027-05-01': 5.38, '2027-05-02': 5.25, '2027-05-03': 5.25, '2027-05-04': 5.32, '2027-05-05': 5.27, '2027-05-06': 5.38, '2027-05-07': 5.29, '2027-05-08': 5.38, '2027-05-09': 5.38, '2027-05-10': 5.3, '2027-05-11': 5.23, '2027-05-12': 5.25, '2027-05-13': 5.25, '2027-05-14': 5.23, '2027-05-15': 5.24, '2027-05-16': 5.35, '2027-05-17': 5.32, '2027-05-18': 5.33, '2027-05-19': 5.3, '2027-05-20': 5.33, '2027-05-21': 5.26, '2027-05-22': 5.24, '2027-05-23': 5.35, '2027-05-24': 5.24, '2027-05-25': 5.26, '2027-05-26': 5.24, '2027-05-27': 5.38, '2027-05-28': 5.34, '2027-05-29': 5.33, '2027-05-30': 5.23, '2027-05-31': 5.38, '2027-06-01': 5.31, '2027-06-02': 5.29, '2027-06-03': 5.3, '2027-06-04': 5.27}, 2, 0.0, [[2027, 5, 24], [2027, 5, 11]]], 5.306784]], [['regression spread placement 1', [[2026, 1, 12], [2026, 1, 22], {'2025-12-23': -0.02, '2025-12-24': 0.07, '2025-12-25': -0.03, '2025-12-26': 0.01, '2025-12-27': 0.08, '2025-12-28': -0.03, '2025-12-29': 0.04, '2025-12-30': 0.1, '2025-12-31': 0.0, '2026-01-01': 0.08, '2026-01-02': 0.02, '2026-01-03': 0.04, '2026-01-04': -0.01, '2026-01-05': -0.03, '2026-01-06': 0.0, '2026-01-07': -0.02, '2026-01-08': 0.03, '2026-01-09': 0.03, '2026-01-10': 0.13, '2026-01-11': 0.11, '2026-01-12': 0.13, '2026-01-13': 0.11, '2026-01-14': 0.01, '2026-01-15': 0.02, '2026-01-16': -0.02, '2026-01-17': 0.09, '2026-01-18': -0.01, '2026-01-19': 0.13, '2026-01-20': -0.01, '2026-01-21': 0.0, '2026-01-22': -0.02}, 5, 0.25, []], 0.282], ['regression spread placement 2', [[2026, 8, 31], [2026, 9, 17], {'2026-08-11': 0.03, '2026-08-12': 0.05, '2026-08-13': -0.03, '2026-08-14': -0.01, '2026-08-15': 0.07, '2026-08-16': -0.01, '2026-08-17': 0.0, '2026-08-18': 0.09, '2026-08-19': 0.0, '2026-08-20': -0.02, '2026-08-21': 0.11, '2026-08-22': 0.03, '2026-08-23': 0.03, '2026-08-24': 0.1, '2026-08-25': -0.03, '2026-08-26': 0.04, '2026-08-27': 0.01, '2026-08-28': 0.0, '2026-08-29': 0.06, '2026-08-30': 0.11, '2026-08-31': 0.03, '2026-09-01': -0.03, '2026-09-02': 0.13, '2026-09-03': 0.12, '2026-09-04': 0.11, '2026-09-05': 0.12, '2026-09-06': 0.03, '2026-09-07': 0.13, '2026-09-08': 0.11, '2026-09-09': 0.08, '2026-09-10': 0.09, '2026-09-11': 0.0, '2026-09-12': 0.01, '2026-09-13': 0.06, '2026-09-14': 0.03, '2026-09-15': 0.03, '2026-09-16': 0.07, '2026-09-17': 0.06}, 2, 0.1, []], 0.172354], ['partial repair probe 1', [[2023, 6, 8], [2023, 6, 12], {'2023-05-19': 5.31, '2023-05-20': 5.28, '2023-05-21': 5.3, '2023-05-22': 5.29, '2023-05-23': 5.34, '2023-05-24': 5.39, '2023-05-25': 5.23, '2023-05-26': 5.26, '2023-05-27': 5.3, '2023-05-28': 5.25, '2023-05-29': 5.29, '2023-05-30': 5.3, '2023-05-31': 5.23, '2023-06-01': 5.34, '2023-06-02': 5.23, '2023-06-03': 5.35, '2023-06-04': 5.33, '2023-06-05': 5.3, '2023-06-06': 5.37, '2023-06-07': 5.24, '2023-06-08': 5.28, '2023-06-09': 5.37, '2023-06-10': 5.27, '2023-06-11': 5.38, '2023-06-12': 5.29}, 2, 0.25, [[2023, 6, 9]]], 5.62], ['partial repair probe 2', [[2022, 6, 29], [2022, 7, 1], {'2022-06-09': 1.61, '2022-06-10': 1.51, '2022-06-11': 1.52, '2022-06-12': 1.58, '2022-06-13': 1.59, '2022-06-14': 1.62, '2022-06-15': 1.54, '2022-06-16': 1.58, '2022-06-17': 1.57, '2022-06-18': 1.5, '2022-06-19': 1.61, '2022-06-20': 1.63, '2022-06-21': 1.48, '2022-06-22': 1.58, '2022-06-23': 1.56, '2022-06-24': 1.47, '2022-06-25': 1.49, '2022-06-26': 1.5, '2022-06-27': 1.62, '2022-06-28': 1.53, '2022-06-29': 1.62, '2022-06-30': 1.57, '2022-07-01': 1.55}, 2, 0.1, [[2022, 6, 30], [2022, 6, 30], [2022, 6, 30]]], 1.72], ['normal control 1', [[2029, 1, 1], [2029, 1, 8], {'2028-12-12': 0.07, '2028-12-13': 0.02, '2028-12-14': 0.03, '2028-12-15': 0.1, '2028-12-16': 0.02, '2028-12-17': 0.0, '2028-12-18': 0.03, '2028-12-19': -0.03, '2028-12-20': 0.11, '2028-12-21': 0.11, '2028-12-22': 0.09, '2028-12-23': 0.02, '2028-12-24': 0.0, '2028-12-25': 0.04, '2028-12-26': 0.03, '2028-12-27': -0.02, '2028-12-28': 0.09, '2028-12-29': -0.01, '2028-12-30': -0.01, '2028-12-31': 0.06, '2029-01-01': -0.01, '2029-01-02': 0.02, '2029-01-03': 0.06, '2029-01-04': 0.01, '2029-01-05': 0.08, '2029-01-06': 0.13, '2029-01-07': 0.05, '2029-01-08': 0.11}, 5, 0.0, []], 0.015714], ['normal control 2', [[2023, 7, 7], [2023, 8, 15], {'2023-06-17': -0.03, '2023-06-18': -0.03, '2023-06-19': 0.13, '2023-06-20': 0.03, '2023-06-21': 0.06, '2023-06-22': 0.06, '2023-06-23': -0.01, '2023-06-24': 0.07, '2023-06-25': 0.02, '2023-06-26': 0.11, '2023-06-27': 0.05, '2023-06-28': -0.02, '2023-06-29': 0.08, '2023-06-30': 0.0, '2023-07-01': -0.03, '2023-07-02': 0.03, '2023-07-03': 0.08, '2023-07-04': 0.04, '2023-07-05': 0.09, '2023-07-06': 0.02, '2023-07-07': 0.04, '2023-07-08': 0.02, '2023-07-09': 0.12, '2023-07-10': 0.13, '2023-07-11': -0.01, '2023-07-12': 0.11, '2023-07-13': 0.04, '2023-07-14': 0.04, '2023-07-15': 0.07, '2023-07-16': -0.01, '2023-07-17': 0.07, '2023-07-18': 0.09, '2023-07-19': -0.03, '2023-07-20': 0.05, '2023-07-21': 0.01, '2023-07-22': 0.02, '2023-07-23': -0.03, '2023-07-24': 0.09, '2023-07-25': 0.09, '2023-07-26': 0.07, '2023-07-27': 0.1, '2023-07-28': 0.06, '2023-07-29': 0.01, '2023-07-30': 0.03, '2023-07-31': -0.02, '2023-08-01': 0.0, '2023-08-02': 0.0, '2023-08-03': 0.11, '2023-08-04': -0.03, '2023-08-05': 0.13, '2023-08-06': 0.06, '2023-08-07': 0.1, '2023-08-08': 0.09, '2023-08-09': 0.06, '2023-08-10': 0.02, '2023-08-11': 0.0, '2023-08-12': 0.04, '2023-08-13': 0.07, '2023-08-14': 0.11, '2023-08-15': -0.01}, 0, 0.0, [[2023, 7, 26], [2023, 8, 11]]], 0.043847], ['normal control 3', [[2027, 11, 5], [2027, 12, 6], {'2027-10-16': 4.25, '2027-10-17': 4.23, '2027-10-18': 4.38, '2027-10-19': 4.23, '2027-10-20': 4.26, '2027-10-21': 4.37, '2027-10-22': 4.28, '2027-10-23': 4.25, '2027-10-24': 4.34, '2027-10-25': 4.34, '2027-10-26': 4.33, '2027-10-27': 4.24, '2027-10-28': 4.38, '2027-10-29': 4.38, '2027-10-30': 4.3, '2027-10-31': 4.37, '2027-11-01': 4.35, '2027-11-02': 4.26, '2027-11-03': 4.27, '2027-11-04': 4.32, '2027-11-05': 4.31, '2027-11-06': 4.29, '2027-11-07': 4.29, '2027-11-08': 4.25, '2027-11-09': 4.38, '2027-11-10': 4.33, '2027-11-11': 4.22, '2027-11-12': 4.29, '2027-11-13': 4.23, '2027-11-14': 4.33, '2027-11-15': 4.26, '2027-11-16': 4.29, '2027-11-17': 4.24, '2027-11-18': 4.33, '2027-11-19': 4.32, '2027-11-20': 4.31, '2027-11-21': 4.27, '2027-11-22': 4.3, '2027-11-23': 4.26, '2027-11-24': 4.25, '2027-11-25': 4.35, '2027-11-26': 4.35, '2027-11-27': 4.34, '2027-11-28': 4.38, '2027-11-29': 4.36, '2027-11-30': 4.26, '2027-12-01': 4.36, '2027-12-02': 4.24, '2027-12-03': 4.3, '2027-12-04': 4.35, '2027-12-05': 4.23, '2027-12-06': 4.22}, 0, 0.0, [[2027, 12, 3], [2027, 12, 1]]], 4.301248], ['normal control 4', [[2022, 2, 2], [2022, 2, 3], {'2022-01-13': 4.36, '2022-01-14': 4.36, '2022-01-15': 4.22, '2022-01-16': 4.36, '2022-01-17': 4.23, '2022-01-18': 4.35, '2022-01-19': 4.22, '2022-01-20': 4.38, '2022-01-21': 4.27, '2022-01-22': 4.25, '2022-01-23': 4.38, '2022-01-24': 4.26, '2022-01-25': 4.22, '2022-01-26': 4.33, '2022-01-27': 4.34, '2022-01-28': 4.35, '2022-01-29': 4.36, '2022-01-30': 4.24, '2022-01-31': 4.33, '2022-02-01': 4.29, '2022-02-02': 4.27, '2022-02-03': 4.22}, 2, 0.0, []], 4.33]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression spread placement 10.3274220.327371Failed
regression spread placement 24.5593194.55839Failed
partial repair probe 14.464.46Passed
partial repair probe 24.414.41Passed
normal control 10.055430.05543Passed
normal control 25.3198245.319824Passed
normal control 34.2336664.233666Passed
normal control 44.364.36Passed

SHA-256 / c7616a51f4356c0cf13b49102a7743e3cc9dee630a380978198429f785e45dd7

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(start, end, rates, lookback, spread, holidays):
    S = datetime.date(*start)
    E = datetime.date(*end)
    H = {datetime.date(*h) for h in holidays}
    def biz(x):
        return x.weekday() < 5 and x not in H
    def back(x, k):
        while k > 0:
            x -= datetime.timedelta(days=1)
            if biz(x):
                k -= 1
        return x
    days = []
    x = S
    while x < E:
        if biz(x):
            days.append(x)
        x += datetime.timedelta(days=1)
    prod = 1.0
    for i, d in enumerate(days):
        nxt = days[i + 1] if i + 1 < len(days) else E
        n = (nxt - d).days
        obs = back(d, lookback)
        prod *= 1 + rates[obs.isoformat()] / 100 * n / 360
    total = (E - S).days
    return round((prod - 1) * 360 / total * 100 + spread * total / 360, 6)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression spread placement 1', [[2028, 5, 16], [2028, 6, 23], {'2028-04-26': 0.03, '2028-04-27': 0.07, '2028-04-28': -0.01, '2028-04-29': -0.03, '2028-04-30': 0.08, '2028-05-01': 0.11, '2028-05-02': 0.01, '2028-05-03': 0.05, '2028-05-04': 0.11, '2028-05-05': 0.08, '2028-05-06': 0.13, '2028-05-07': 0.12, '2028-05-08': 0.05, '2028-05-09': 0.04, '2028-05-10': 0.08, '2028-05-11': 0.11, '2028-05-12': 0.1, '2028-05-13': 0.1, '2028-05-14': -0.02, '2028-05-15': 0.0, '2028-05-16': 0.0, '2028-05-17': 0.05, '2028-05-18': 0.08, '2028-05-19': -0.01, '2028-05-20': 0.0, '2028-05-21': -0.01, '2028-05-22': 0.07, '2028-05-23': 0.07, '2028-05-24': 0.12, '2028-05-25': 0.12, '2028-05-26': 0.09, '2028-05-27': -0.02, '2028-05-28': 0.07, '2028-05-29': 0.06, '2028-05-30': 0.1, '2028-05-31': 0.13, '2028-06-01': 0.13, '2028-06-02': -0.03, '2028-06-03': 0.08, '2028-06-04': 0.13, '2028-06-05': -0.01, '2028-06-06': 0.04, '2028-06-07': 0.1, '2028-06-08': 0.08, '2028-06-09': 0.11, '2028-06-10': 0.04, '2028-06-11': 0.0, '2028-06-12': 0.13, '2028-06-13': -0.03, '2028-06-14': 0.07, '2028-06-15': 0.07, '2028-06-16': 0.04, '2028-06-17': 0.0, '2028-06-18': 0.01, '2028-06-19': 0.13, '2028-06-20': 0.02, '2028-06-21': 0.0, '2028-06-22': 0.05, '2028-06-23': 0.1}, 5, 0.25, [[2028, 6, 8], [2028, 6, 2]]], 0.327371], ['regression spread placement 2', [[2026, 2, 9], [2026, 3, 13], {'2026-01-20': 4.29, '2026-01-21': 4.32, '2026-01-22': 4.28, '2026-01-23': 4.23, '2026-01-24': 4.37, '2026-01-25': 4.37, '2026-01-26': 4.31, '2026-01-27': 4.27, '2026-01-28': 4.38, '2026-01-29': 4.36, '2026-01-30': 4.22, '2026-01-31': 4.38, '2026-02-01': 4.25, '2026-02-02': 4.26, '2026-02-03': 4.38, '2026-02-04': 4.32, '2026-02-05': 4.36, '2026-02-06': 4.28, '2026-02-07': 4.31, '2026-02-08': 4.22, '2026-02-09': 4.35, '2026-02-10': 4.36, '2026-02-11': 4.32, '2026-02-12': 4.3, '2026-02-13': 4.36, '2026-02-14': 4.35, '2026-02-15': 4.22, '2026-02-16': 4.36, '2026-02-17': 4.37, '2026-02-18': 4.29, '2026-02-19': 4.23, '2026-02-20': 4.29, '2026-02-21': 4.25, '2026-02-22': 4.22, '2026-02-23': 4.23, '2026-02-24': 4.32, '2026-02-25': 4.3, '2026-02-26': 4.36, '2026-02-27': 4.24, '2026-02-28': 4.33, '2026-03-01': 4.23, '2026-03-02': 4.28, '2026-03-03': 4.27, '2026-03-04': 4.25, '2026-03-05': 4.36, '2026-03-06': 4.26, '2026-03-07': 4.28, '2026-03-08': 4.28, '2026-03-09': 4.28, '2026-03-10': 4.22, '2026-03-11': 4.35, '2026-03-12': 4.31, '2026-03-13': 4.29}, 0, 0.25, [[2026, 2, 19], [2026, 2, 19]]], 4.55839], ['partial repair probe 1', [[2023, 7, 4], [2023, 7, 5], {'2023-06-14': 4.22, '2023-06-15': 4.28, '2023-06-16': 4.22, '2023-06-17': 4.24, '2023-06-18': 4.37, '2023-06-19': 4.25, '2023-06-20': 4.27, '2023-06-21': 4.23, '2023-06-22': 4.37, '2023-06-23': 4.36, '2023-06-24': 4.31, '2023-06-25': 4.31, '2023-06-26': 4.27, '2023-06-27': 4.33, '2023-06-28': 4.36, '2023-06-29': 4.33, '2023-06-30': 4.3, '2023-07-01': 4.27, '2023-07-02': 4.22, '2023-07-03': 4.3, '2023-07-04': 4.36, '2023-07-05': 4.31}, 0, 0.1, []], 4.46], ['partial repair probe 2', [[2026, 5, 15], [2026, 5, 18], {'2026-04-25': 4.25, '2026-04-26': 4.32, '2026-04-27': 4.34, '2026-04-28': 4.26, '2026-04-29': 4.36, '2026-04-30': 4.23, '2026-05-01': 4.34, '2026-05-02': 4.31, '2026-05-03': 4.23, '2026-05-04': 4.29, '2026-05-05': 4.22, '2026-05-06': 4.36, '2026-05-07': 4.33, '2026-05-08': 4.31, '2026-05-09': 4.25, '2026-05-10': 4.26, '2026-05-11': 4.3, '2026-05-12': 4.24, '2026-05-13': 4.38, '2026-05-14': 4.34, '2026-05-15': 4.25, '2026-05-16': 4.25, '2026-05-17': 4.3, '2026-05-18': 4.29}, 5, 0.1, []], 4.41], ['normal control 1', [[2026, 11, 9], [2026, 12, 14], {'2026-10-20': 0.12, '2026-10-21': 0.0, '2026-10-22': 0.04, '2026-10-23': 0.06, '2026-10-24': 0.01, '2026-10-25': 0.04, '2026-10-26': 0.02, '2026-10-27': 0.05, '2026-10-28': 0.02, '2026-10-29': 0.09, '2026-10-30': 0.04, '2026-10-31': 0.0, '2026-11-01': 0.11, '2026-11-02': 0.06, '2026-11-03': 0.13, '2026-11-04': 0.1, '2026-11-05': 0.02, '2026-11-06': 0.08, '2026-11-07': -0.01, '2026-11-08': 0.0, '2026-11-09': 0.11, '2026-11-10': 0.06, '2026-11-11': 0.09, '2026-11-12': 0.09, '2026-11-13': 0.12, '2026-11-14': 0.02, '2026-11-15': 0.08, '2026-11-16': 0.12, '2026-11-17': 0.11, '2026-11-18': 0.03, '2026-11-19': 0.03, '2026-11-20': 0.05, '2026-11-21': 0.04, '2026-11-22': 0.05, '2026-11-23': 0.05, '2026-11-24': 0.01, '2026-11-25': 0.09, '2026-11-26': 0.06, '2026-11-27': 0.05, '2026-11-28': 0.12, '2026-11-29': 0.08, '2026-11-30': 0.02, '2026-12-01': -0.02, '2026-12-02': 0.08, '2026-12-03': 0.12, '2026-12-04': -0.03, '2026-12-05': -0.01, '2026-12-06': 0.01, '2026-12-07': 0.01, '2026-12-08': 0.0, '2026-12-09': 0.09, '2026-12-10': 0.01, '2026-12-11': 0.05, '2026-12-12': 0.03, '2026-12-13': 0.05, '2026-12-14': 0.01}, 2, 0.0, [[2026, 11, 23], [2026, 11, 12], [2026, 11, 27]]], 0.05543], ['normal control 2', [[2024, 2, 28], [2024, 3, 25], {'2024-02-08': 5.35, '2024-02-09': 5.25, '2024-02-10': 5.33, '2024-02-11': 5.3, '2024-02-12': 5.27, '2024-02-13': 5.35, '2024-02-14': 5.23, '2024-02-15': 5.29, '2024-02-16': 5.28, '2024-02-17': 5.38, '2024-02-18': 5.25, '2024-02-19': 5.35, '2024-02-20': 5.26, '2024-02-21': 5.29, '2024-02-22': 5.23, '2024-02-23': 5.25, '2024-02-24': 5.26, '2024-02-25': 5.24, '2024-02-26': 5.32, '2024-02-27': 5.24, '2024-02-28': 5.32, '2024-02-29': 5.29, '2024-03-01': 5.38, '2024-03-02': 5.26, '2024-03-03': 5.25, '2024-03-04': 5.28, '2024-03-05': 5.31, '2024-03-06': 5.24, '2024-03-07': 5.3, '2024-03-08': 5.38, '2024-03-09': 5.29, '2024-03-10': 5.38, '2024-03-11': 5.29, '2024-03-12': 5.24, '2024-03-13': 5.34, '2024-03-14': 5.36, '2024-03-15': 5.39, '2024-03-16': 5.29, '2024-03-17': 5.27, '2024-03-18': 5.28, '2024-03-19': 5.23, '2024-03-20': 5.36, '2024-03-21': 5.27, '2024-03-22': 5.29, '2024-03-23': 5.28, '2024-03-24': 5.34, '2024-03-25': 5.39}, 2, 0.0, []], 5.319824], ['normal control 3', [[2028, 5, 1], [2028, 5, 4], {'2028-04-11': 4.29, '2028-04-12': 4.37, '2028-04-13': 4.37, '2028-04-14': 4.34, '2028-04-15': 4.25, '2028-04-16': 4.31, '2028-04-17': 4.3, '2028-04-18': 4.27, '2028-04-19': 4.35, '2028-04-20': 4.28, '2028-04-21': 4.28, '2028-04-22': 4.26, '2028-04-23': 4.36, '2028-04-24': 4.31, '2028-04-25': 4.34, '2028-04-26': 4.25, '2028-04-27': 4.31, '2028-04-28': 4.22, '2028-04-29': 4.33, '2028-04-30': 4.36, '2028-05-01': 4.26, '2028-05-02': 4.22, '2028-05-03': 4.28, '2028-05-04': 4.24}, 0, 0.0, [[2028, 5, 3], [2028, 5, 3]]], 4.233666], ['normal control 4', [[2023, 6, 26], [2023, 6, 27], {'2023-06-06': 4.38, '2023-06-07': 4.28, '2023-06-08': 4.37, '2023-06-09': 4.34, '2023-06-10': 4.31, '2023-06-11': 4.24, '2023-06-12': 4.23, '2023-06-13': 4.22, '2023-06-14': 4.32, '2023-06-15': 4.34, '2023-06-16': 4.22, '2023-06-17': 4.23, '2023-06-18': 4.28, '2023-06-19': 4.31, '2023-06-20': 4.25, '2023-06-21': 4.34, '2023-06-22': 4.37, '2023-06-23': 4.25, '2023-06-24': 4.34, '2023-06-25': 4.3, '2023-06-26': 4.36, '2023-06-27': 4.26}, 0, 0.0, []], 4.36]], [['regression spread placement 1', [[2023, 2, 28], [2023, 3, 14], {'2023-02-08': 0.12, '2023-02-09': -0.02, '2023-02-10': -0.02, '2023-02-11': 0.06, '2023-02-12': 0.09, '2023-02-13': 0.01, '2023-02-14': 0.13, '2023-02-15': 0.13, '2023-02-16': -0.02, '2023-02-17': 0.04, '2023-02-18': 0.08, '2023-02-19': -0.03, '2023-02-20': 0.12, '2023-02-21': 0.04, '2023-02-22': 0.05, '2023-02-23': 0.04, '2023-02-24': 0.1, '2023-02-25': 0.0, '2023-02-26': -0.03, '2023-02-27': 0.12, '2023-02-28': 0.0, '2023-03-01': 0.08, '2023-03-02': 0.05, '2023-03-03': 0.11, '2023-03-04': 0.09, '2023-03-05': 0.05, '2023-03-06': 0.0, '2023-03-07': -0.03, '2023-03-08': 0.05, '2023-03-09': 0.06, '2023-03-10': 0.13, '2023-03-11': 0.07, '2023-03-12': 0.12, '2023-03-13': -0.01, '2023-03-14': 0.11}, 0, 0.1, [[2023, 3, 3]]], 0.152857], ['regression spread placement 2', [[2023, 8, 29], [2023, 10, 3], {'2023-08-09': 4.31, '2023-08-10': 4.24, '2023-08-11': 4.29, '2023-08-12': 4.26, '2023-08-13': 4.29, '2023-08-14': 4.23, '2023-08-15': 4.36, '2023-08-16': 4.23, '2023-08-17': 4.33, '2023-08-18': 4.32, '2023-08-19': 4.29, '2023-08-20': 4.22, '2023-08-21': 4.26, '2023-08-22': 4.26, '2023-08-23': 4.27, '2023-08-24': 4.31, '2023-08-25': 4.3, '2023-08-26': 4.25, '2023-08-27': 4.36, '2023-08-28': 4.31, '2023-08-29': 4.29, '2023-08-30': 4.23, '2023-08-31': 4.35, '2023-09-01': 4.33, '2023-09-02': 4.36, '2023-09-03': 4.31, '2023-09-04': 4.23, '2023-09-05': 4.25, '2023-09-06': 4.38, '2023-09-07': 4.32, '2023-09-08': 4.32, '2023-09-09': 4.25, '2023-09-10': 4.25, '2023-09-11': 4.31, '2023-09-12': 4.37, '2023-09-13': 4.28, '2023-09-14': 4.31, '2023-09-15': 4.31, '2023-09-16': 4.25, '2023-09-17': 4.3, '2023-09-18': 4.29, '2023-09-19': 4.24, '2023-09-20': 4.27, '2023-09-21': 4.31, '2023-09-22': 4.38, '2023-09-23': 4.33, '2023-09-24': 4.22, '2023-09-25': 4.37, '2023-09-26': 4.38, '2023-09-27': 4.28, '2023-09-28': 4.33, '2023-09-29': 4.38, '2023-09-30': 4.22, '2023-10-01': 4.22, '2023-10-02': 4.28, '2023-10-03': 4.33}, 2, 0.1, []], 4.411966], ['partial repair probe 1', [[2028, 9, 21], [2028, 9, 22], {'2028-09-01': 0.1, '2028-09-02': -0.03, '2028-09-03': 0.06, '2028-09-04': 0.11, '2028-09-05': 0.11, '2028-09-06': 0.01, '2028-09-07': 0.06, '2028-09-08': -0.02, '2028-09-09': 0.01, '2028-09-10': -0.01, '2028-09-11': 0.04, '2028-09-12': 0.03, '2028-09-13': 0.11, '2028-09-14': -0.02, '2028-09-15': 0.13, '2028-09-16': -0.01, '2028-09-17': 0.06, '2028-09-18': -0.01, '2028-09-19': 0.02, '2028-09-20': 0.05, '2028-09-21': -0.01, '2028-09-22': 0.02}, 5, 0.1, []], 0.08], ['partial repair probe 2', [[2025, 2, 28], [2025, 3, 3], {'2025-02-08': 5.32, '2025-02-09': 5.27, '2025-02-10': 5.33, '2025-02-11': 5.28, '2025-02-12': 5.33, '2025-02-13': 5.28, '2025-02-14': 5.33, '2025-02-15': 5.36, '2025-02-16': 5.26, '2025-02-17': 5.26, '2025-02-18': 5.29, '2025-02-19': 5.33, '2025-02-20': 5.25, '2025-02-21': 5.35, '2025-02-22': 5.34, '2025-02-23': 5.33, '2025-02-24': 5.26, '2025-02-25': 5.27, '2025-02-26': 5.3, '2025-02-27': 5.23, '2025-02-28': 5.31, '2025-03-01': 5.27, '2025-03-02': 5.28, '2025-03-03': 5.3}, 0, 0.1, []], 5.41], ['normal control 1', [[2027, 6, 30], [2027, 7, 19], {'2027-06-10': 4.28, '2027-06-11': 4.31, '2027-06-12': 4.28, '2027-06-13': 4.31, '2027-06-14': 4.38, '2027-06-15': 4.34, '2027-06-16': 4.22, '2027-06-17': 4.27, '2027-06-18': 4.29, '2027-06-19': 4.37, '2027-06-20': 4.35, '2027-06-21': 4.32, '2027-06-22': 4.29, '2027-06-23': 4.24, '2027-06-24': 4.32, '2027-06-25': 4.3, '2027-06-26': 4.27, '2027-06-27': 4.25, '2027-06-28': 4.38, '2027-06-29': 4.34, '2027-06-30': 4.3, '2027-07-01': 4.22, '2027-07-02': 4.3, '2027-07-03': 4.3, '2027-07-04': 4.36, '2027-07-05': 4.22, '2027-07-06': 4.26, '2027-07-07': 4.24, '2027-07-08': 4.31, '2027-07-09': 4.29, '2027-07-10': 4.28, '2027-07-11': 4.35, '2027-07-12': 4.35, '2027-07-13': 4.22, '2027-07-14': 4.32, '2027-07-15': 4.3, '2027-07-16': 4.32, '2027-07-17': 4.22, '2027-07-18': 4.29, '2027-07-19': 4.35}, 2, 0.0, [[2027, 7, 7]]], 4.297499], ['normal control 2', [[2023, 6, 30], [2023, 7, 3], {'2023-06-10': 4.38, '2023-06-11': 4.28, '2023-06-12': 4.29, '2023-06-13': 4.23, '2023-06-14': 4.27, '2023-06-15': 4.27, '2023-06-16': 4.31, '2023-06-17': 4.27, '2023-06-18': 4.23, '2023-06-19': 4.27, '2023-06-20': 4.38, '2023-06-21': 4.38, '2023-06-22': 4.24, '2023-06-23': 4.3, '2023-06-24': 4.26, '2023-06-25': 4.3, '2023-06-26': 4.25, '2023-06-27': 4.26, '2023-06-28': 4.27, '2023-06-29': 4.38, '2023-06-30': 4.35, '2023-07-01': 4.25, '2023-07-02': 4.34, '2023-07-03': 4.29}, 0, 0.0, []], 4.35], ['normal control 3', [[2022, 3, 16], [2022, 4, 20], {'2022-02-24': 4.33, '2022-02-25': 4.38, '2022-02-26': 4.32, '2022-02-27': 4.3, '2022-02-28': 4.23, '2022-03-01': 4.36, '2022-03-02': 4.31, '2022-03-03': 4.23, '2022-03-04': 4.26, '2022-03-05': 4.37, '2022-03-06': 4.33, '2022-03-07': 4.25, '2022-03-08': 4.26, '2022-03-09': 4.37, '2022-03-10': 4.37, '2022-03-11': 4.31, '2022-03-12': 4.38, '2022-03-13': 4.27, '2022-03-14': 4.29, '2022-03-15': 4.37, '2022-03-16': 4.24, '2022-03-17': 4.36, '2022-03-18': 4.37, '2022-03-19': 4.26, '2022-03-20': 4.27, '2022-03-21': 4.32, '2022-03-22': 4.33, '2022-03-23': 4.23, '2022-03-24': 4.25, '2022-03-25': 4.24, '2022-03-26': 4.28, '2022-03-27': 4.29, '2022-03-28': 4.25, '2022-03-29': 4.3, '2022-03-30': 4.3, '2022-03-31': 4.24, '2022-04-01': 4.29, '2022-04-02': 4.31, '2022-04-03': 4.37, '2022-04-04': 4.23, '2022-04-05': 4.38, '2022-04-06': 4.22, '2022-04-07': 4.29, '2022-04-08': 4.26, '2022-04-09': 4.34, '2022-04-10': 4.24, '2022-04-11': 4.27, '2022-04-12': 4.26, '2022-04-13': 4.38, '2022-04-14': 4.33, '2022-04-15': 4.26, '2022-04-16': 4.25, '2022-04-17': 4.24, '2022-04-18': 4.29, '2022-04-19': 4.24, '2022-04-20': 4.32}, 0, 0.0, [[2022, 3, 29], [2022, 3, 29]]], 4.29187], ['normal control 4', [[2028, 6, 26], [2028, 7, 26], {'2028-06-06': 4.26, '2028-06-07': 4.3, '2028-06-08': 4.23, '2028-06-09': 4.31, '2028-06-10': 4.27, '2028-06-11': 4.25, '2028-06-12': 4.36, '2028-06-13': 4.3, '2028-06-14': 4.37, '2028-06-15': 4.3, '2028-06-16': 4.37, '2028-06-17': 4.29, '2028-06-18': 4.29, '2028-06-19': 4.31, '2028-06-20': 4.23, '2028-06-21': 4.33, '2028-06-22': 4.23, '2028-06-23': 4.38, '2028-06-24': 4.27, '2028-06-25': 4.38, '2028-06-26': 4.27, '2028-06-27': 4.29, '2028-06-28': 4.34, '2028-06-29': 4.28, '2028-06-30': 4.35, '2028-07-01': 4.36, '2028-07-02': 4.27, '2028-07-03': 4.26, '2028-07-04': 4.26, '2028-07-05': 4.38, '2028-07-06': 4.27, '2028-07-07': 4.36, '2028-07-08': 4.35, '2028-07-09': 4.29, '2028-07-10': 4.3, '2028-07-11': 4.23, '2028-07-12': 4.35, '2028-07-13': 4.29, '2028-07-14': 4.27, '2028-07-15': 4.26, '2028-07-16': 4.24, '2028-07-17': 4.31, '2028-07-18': 4.38, '2028-07-19': 4.28, '2028-07-20': 4.38, '2028-07-21': 4.31, '2028-07-22': 4.38, '2028-07-23': 4.27, '2028-07-24': 4.32, '2028-07-25': 4.31, '2028-07-26': 4.28}, 5, 0.0, []], 4.320291]], [['regression spread placement 1', [[2021, 3, 2], [2021, 4, 2], {'2021-02-10': 0.11, '2021-02-11': 0.01, '2021-02-12': 0.09, '2021-02-13': -0.02, '2021-02-14': 0.07, '2021-02-15': 0.02, '2021-02-16': 0.05, '2021-02-17': -0.03, '2021-02-18': 0.06, '2021-02-19': 0.07, '2021-02-20': 0.03, '2021-02-21': 0.0, '2021-02-22': 0.02, '2021-02-23': 0.06, '2021-02-24': 0.0, '2021-02-25': 0.13, '2021-02-26': 0.01, '2021-02-27': 0.0, '2021-02-28': 0.11, '2021-03-01': 0.13, '2021-03-02': 0.01, '2021-03-03': 0.11, '2021-03-04': 0.12, '2021-03-05': 0.03, '2021-03-06': 0.05, '2021-03-07': 0.13, '2021-03-08': 0.12, '2021-03-09': 0.1, '2021-03-10': -0.02, '2021-03-11': 0.05, '2021-03-12': 0.13, '2021-03-13': 0.0, '2021-03-14': 0.08, '2021-03-15': 0.11, '2021-03-16': 0.03, '2021-03-17': -0.01, '2021-03-18': -0.01, '2021-03-19': 0.02, '2021-03-20': 0.07, '2021-03-21': 0.02, '2021-03-22': -0.03, '2021-03-23': 0.1, '2021-03-24': 0.13, '2021-03-25': 0.0, '2021-03-26': 0.07, '2021-03-27': 0.13, '2021-03-28': -0.01, '2021-03-29': -0.03, '2021-03-30': 0.05, '2021-03-31': 0.05, '2021-04-01': 0.09, '2021-04-02': 0.0}, 5, 0.1, [[2021, 3, 24], [2021, 3, 25]]], 0.150646], ['regression spread placement 2', [[2021, 5, 21], [2021, 6, 28], {'2021-05-01': 1.62, '2021-05-02': 1.6, '2021-05-03': 1.53, '2021-05-04': 1.55, '2021-05-05': 1.57, '2021-05-06': 1.61, '2021-05-07': 1.6, '2021-05-08': 1.6, '2021-05-09': 1.61, '2021-05-10': 1.61, '2021-05-11': 1.48, '2021-05-12': 1.59, '2021-05-13': 1.48, '2021-05-14': 1.63, '2021-05-15': 1.48, '2021-05-16': 1.56, '2021-05-17': 1.54, '2021-05-18': 1.56, '2021-05-19': 1.58, '2021-05-20': 1.63, '2021-05-21': 1.62, '2021-05-22': 1.5, '2021-05-23': 1.61, '2021-05-24': 1.49, '2021-05-25': 1.48, '2021-05-26': 1.57, '2021-05-27': 1.58, '2021-05-28': 1.58, '2021-05-29': 1.53, '2021-05-30': 1.47, '2021-05-31': 1.53, '2021-06-01': 1.62, '2021-06-02': 1.63, '2021-06-03': 1.53, '2021-06-04': 1.52, '2021-06-05': 1.63, '2021-06-06': 1.6, '2021-06-07': 1.55, '2021-06-08': 1.52, '2021-06-09': 1.63, '2021-06-10': 1.58, '2021-06-11': 1.59, '2021-06-12': 1.52, '2021-06-13': 1.47, '2021-06-14': 1.62, '2021-06-15': 1.55, '2021-06-16': 1.51, '2021-06-17': 1.54, '2021-06-18': 1.56, '2021-06-19': 1.57, '2021-06-20': 1.59, '2021-06-21': 1.57, '2021-06-22': 1.59, '2021-06-23': 1.55, '2021-06-24': 1.51, '2021-06-25': 1.63, '2021-06-26': 1.56, '2021-06-27': 1.49, '2021-06-28': 1.49}, 0, 0.1, []], 1.670971], ['partial repair probe 1', [[2022, 3, 1], [2022, 3, 3], {'2022-02-09': 1.55, '2022-02-10': 1.56, '2022-02-11': 1.55, '2022-02-12': 1.47, '2022-02-13': 1.61, '2022-02-14': 1.57, '2022-02-15': 1.63, '2022-02-16': 1.5, '2022-02-17': 1.48, '2022-02-18': 1.62, '2022-02-19': 1.47, '2022-02-20': 1.63, '2022-02-21': 1.48, '2022-02-22': 1.47, '2022-02-23': 1.59, '2022-02-24': 1.62, '2022-02-25': 1.56, '2022-02-26': 1.59, '2022-02-27': 1.5, '2022-02-28': 1.55, '2022-03-01': 1.56, '2022-03-02': 1.53, '2022-03-03': 1.6}, 2, 0.25, [[2022, 3, 2], [2022, 3, 2]]], 1.81], ['partial repair probe 2', [[2024, 7, 2], [2024, 7, 4], {'2024-06-12': 1.61, '2024-06-13': 1.48, '2024-06-14': 1.5, '2024-06-15': 1.61, '2024-06-16': 1.6, '2024-06-17': 1.47, '2024-06-18': 1.6, '2024-06-19': 1.58, '2024-06-20': 1.6, '2024-06-21': 1.56, '2024-06-22': 1.54, '2024-06-23': 1.63, '2024-06-24': 1.53, '2024-06-25': 1.57, '2024-06-26': 1.55, '2024-06-27': 1.52, '2024-06-28': 1.58, '2024-06-29': 1.54, '2024-06-30': 1.53, '2024-07-01': 1.52, '2024-07-02': 1.63, '2024-07-03': 1.59, '2024-07-04': 1.61}, 5, 0.25, [[2024, 7, 3], [2024, 7, 3], [2024, 7, 3]]], 1.82], ['normal control 1', [[2024, 7, 9], [2024, 7, 10], {'2024-06-19': 0.04, '2024-06-20': 0.12, '2024-06-21': 0.04, '2024-06-22': 0.12, '2024-06-23': -0.01, '2024-06-24': 0.13, '2024-06-25': 0.11, '2024-06-26': 0.08, '2024-06-27': -0.03, '2024-06-28': -0.02, '2024-06-29': 0.12, '2024-06-30': 0.0, '2024-07-01': 0.1, '2024-07-02': 0.06, '2024-07-03': 0.02, '2024-07-04': 0.05, '2024-07-05': 0.01, '2024-07-06': 0.07, '2024-07-07': -0.01, '2024-07-08': 0.12, '2024-07-09': 0.01, '2024-07-10': 0.07}, 2, 0.0, []], 0.01], ['normal control 2', [[2028, 5, 1], [2028, 6, 1], {'2028-04-11': 1.58, '2028-04-12': 1.52, '2028-04-13': 1.6, '2028-04-14': 1.55, '2028-04-15': 1.49, '2028-04-16': 1.5, '2028-04-17': 1.58, '2028-04-18': 1.48, '2028-04-19': 1.63, '2028-04-20': 1.57, '2028-04-21': 1.47, '2028-04-22': 1.57, '2028-04-23': 1.52, '2028-04-24': 1.49, '2028-04-25': 1.51, '2028-04-26': 1.6, '2028-04-27': 1.61, '2028-04-28': 1.56, '2028-04-29': 1.57, '2028-04-30': 1.6, '2028-05-01': 1.48, '2028-05-02': 1.6, '2028-05-03': 1.63, '2028-05-04': 1.55, '2028-05-05': 1.56, '2028-05-06': 1.61, '2028-05-07': 1.49, '2028-05-08': 1.53, '2028-05-09': 1.5, '2028-05-10': 1.63, '2028-05-11': 1.57, '2028-05-12': 1.52, '2028-05-13': 1.57, '2028-05-14': 1.55, '2028-05-15': 1.49, '2028-05-16': 1.48, '2028-05-17': 1.63, '2028-05-18': 1.48, '2028-05-19': 1.54, '2028-05-20': 1.53, '2028-05-21': 1.56, '2028-05-22': 1.62, '2028-05-23': 1.62, '2028-05-24': 1.55, '2028-05-25': 1.53, '2028-05-26': 1.53, '2028-05-27': 1.52, '2028-05-28': 1.6, '2028-05-29': 1.53, '2028-05-30': 1.6, '2028-05-31': 1.55, '2028-06-01': 1.6}, 5, 0.0, [[2028, 5, 8]]], 1.55323], ['normal control 3', [[2024, 9, 2], [2024, 10, 8], {'2024-08-13': 0.09, '2024-08-14': 0.04, '2024-08-15': -0.03, '2024-08-16': 0.05, '2024-08-17': 0.13, '2024-08-18': -0.03, '2024-08-19': -0.03, '2024-08-20': -0.02, '2024-08-21': 0.03, '2024-08-22': -0.02, '2024-08-23': 0.12, '2024-08-24': 0.01, '2024-08-25': -0.01, '2024-08-26': 0.08, '2024-08-27': 0.12, '2024-08-28': 0.09, '2024-08-29': -0.03, '2024-08-30': 0.07, '2024-08-31': 0.03, '2024-09-01': 0.07, '2024-09-02': 0.07, '2024-09-03': 0.01, '2024-09-04': -0.01, '2024-09-05': 0.04, '2024-09-06': -0.01, '2024-09-07': 0.08, '2024-09-08': 0.06, '2024-09-09': 0.06, '2024-09-10': -0.02, '2024-09-11': 0.09, '2024-09-12': 0.06, '2024-09-13': 0.13, '2024-09-14': 0.08, '2024-09-15': 0.07, '2024-09-16': -0.03, '2024-09-17': 0.11, '2024-09-18': 0.07, '2024-09-19': 0.09, '2024-09-20': 0.02, '2024-09-21': 0.13, '2024-09-22': 0.02, '2024-09-23': 0.07, '2024-09-24': 0.0, '2024-09-25': -0.01, '2024-09-26': 0.06, '2024-09-27': 0.1, '2024-09-28': 0.09, '2024-09-29': -0.01, '2024-09-30': 0.06, '2024-10-01': 0.04, '2024-10-02': -0.01, '2024-10-03': 0.1, '2024-10-04': -0.02, '2024-10-05': 0.0, '2024-10-06': 0.11, '2024-10-07': -0.03, '2024-10-08': 0.08}, 2, 0.0, []], 0.038612], ['normal control 4', [[2025, 9, 1], [2025, 10, 2], {'2025-08-12': -0.02, '2025-08-13': 0.06, '2025-08-14': 0.13, '2025-08-15': 0.1, '2025-08-16': 0.0, '2025-08-17': 0.06, '2025-08-18': 0.07, '2025-08-19': 0.08, '2025-08-20': 0.01, '2025-08-21': 0.0, '2025-08-22': 0.03, '2025-08-23': 0.0, '2025-08-24': 0.11, '2025-08-25': 0.03, '2025-08-26': 0.11, '2025-08-27': 0.05, '2025-08-28': -0.02, '2025-08-29': 0.07, '2025-08-30': 0.1, '2025-08-31': -0.02, '2025-09-01': -0.02, '2025-09-02': 0.02, '2025-09-03': 0.05, '2025-09-04': -0.03, '2025-09-05': 0.06, '2025-09-06': 0.02, '2025-09-07': 0.09, '2025-09-08': 0.06, '2025-09-09': 0.05, '2025-09-10': 0.04, '2025-09-11': 0.06, '2025-09-12': 0.07, '2025-09-13': 0.04, '2025-09-14': -0.03, '2025-09-15': 0.09, '2025-09-16': 0.08, '2025-09-17': 0.09, '2025-09-18': 0.1, '2025-09-19': 0.04, '2025-09-20': 0.0, '2025-09-21': 0.01, '2025-09-22': 0.02, '2025-09-23': 0.05, '2025-09-24': -0.02, '2025-09-25': -0.02, '2025-09-26': -0.03, '2025-09-27': 0.02, '2025-09-28': 0.09, '2025-09-29': 0.07, '2025-09-30': 0.06, '2025-10-01': 0.03, '2025-10-02': 0.0}, 2, 0.0, []], 0.03871]], [['regression spread placement 1', [[2025, 12, 1], [2025, 12, 8], {'2025-11-11': 5.31, '2025-11-12': 5.26, '2025-11-13': 5.25, '2025-11-14': 5.26, '2025-11-15': 5.24, '2025-11-16': 5.31, '2025-11-17': 5.33, '2025-11-18': 5.32, '2025-11-19': 5.31, '2025-11-20': 5.36, '2025-11-21': 5.29, '2025-11-22': 5.39, '2025-11-23': 5.32, '2025-11-24': 5.34, '2025-11-25': 5.35, '2025-11-26': 5.27, '2025-11-27': 5.26, '2025-11-28': 5.25, '2025-11-29': 5.24, '2025-11-30': 5.27, '2025-12-01': 5.34, '2025-12-02': 5.27, '2025-12-03': 5.35, '2025-12-04': 5.38, '2025-12-05': 5.31, '2025-12-06': 5.33, '2025-12-07': 5.37, '2025-12-08': 5.31}, 2, 0.1, [[2025, 12, 4], [2025, 12, 3]]], 5.391665], ['regression spread placement 2', [[2027, 12, 9], [2027, 12, 21], {'2027-11-19': 4.35, '2027-11-20': 4.34, '2027-11-21': 4.29, '2027-11-22': 4.24, '2027-11-23': 4.32, '2027-11-24': 4.32, '2027-11-25': 4.28, '2027-11-26': 4.34, '2027-11-27': 4.28, '2027-11-28': 4.22, '2027-11-29': 4.27, '2027-11-30': 4.27, '2027-12-01': 4.25, '2027-12-02': 4.37, '2027-12-03': 4.23, '2027-12-04': 4.32, '2027-12-05': 4.35, '2027-12-06': 4.26, '2027-12-07': 4.22, '2027-12-08': 4.35, '2027-12-09': 4.28, '2027-12-10': 4.26, '2027-12-11': 4.29, '2027-12-12': 4.3, '2027-12-13': 4.38, '2027-12-14': 4.32, '2027-12-15': 4.26, '2027-12-16': 4.28, '2027-12-17': 4.28, '2027-12-18': 4.3, '2027-12-19': 4.3, '2027-12-20': 4.38, '2027-12-21': 4.29}, 5, 0.25, [[2027, 12, 15]]], 4.51999], ['partial repair probe 1', [[2022, 12, 13], [2022, 12, 15], {'2022-11-23': 4.3, '2022-11-24': 4.36, '2022-11-25': 4.34, '2022-11-26': 4.25, '2022-11-27': 4.26, '2022-11-28': 4.32, '2022-11-29': 4.22, '2022-11-30': 4.24, '2022-12-01': 4.31, '2022-12-02': 4.38, '2022-12-03': 4.27, '2022-12-04': 4.38, '2022-12-05': 4.27, '2022-12-06': 4.29, '2022-12-07': 4.23, '2022-12-08': 4.23, '2022-12-09': 4.22, '2022-12-10': 4.35, '2022-12-11': 4.38, '2022-12-12': 4.27, '2022-12-13': 4.28, '2022-12-14': 4.26, '2022-12-15': 4.28}, 2, 0.25, [[2022, 12, 14], [2022, 12, 14], [2022, 12, 14]]], 4.47], ['partial repair probe 2', [[2023, 3, 22], [2023, 3, 24], {'2023-03-02': 0.13, '2023-03-03': 0.12, '2023-03-04': -0.03, '2023-03-05': 0.12, '2023-03-06': 0.02, '2023-03-07': 0.13, '2023-03-08': 0.0, '2023-03-09': 0.02, '2023-03-10': 0.09, '2023-03-11': 0.07, '2023-03-12': 0.0, '2023-03-13': 0.09, '2023-03-14': -0.03, '2023-03-15': 0.08, '2023-03-16': 0.05, '2023-03-17': 0.09, '2023-03-18': 0.13, '2023-03-19': 0.09, '2023-03-20': 0.02, '2023-03-21': 0.12, '2023-03-22': 0.0, '2023-03-23': 0.05, '2023-03-24': -0.02}, 0, 0.1, [[2023, 3, 23], [2023, 3, 23], [2023, 3, 23]]], 0.1], ['normal control 1', [[2024, 4, 29], [2024, 6, 3], {'2024-04-09': 0.03, '2024-04-10': 0.1, '2024-04-11': 0.08, '2024-04-12': 0.06, '2024-04-13': -0.03, '2024-04-14': 0.12, '2024-04-15': 0.03, '2024-04-16': 0.13, '2024-04-17': 0.12, '2024-04-18': -0.02, '2024-04-19': 0.03, '2024-04-20': 0.08, '2024-04-21': 0.12, '2024-04-22': 0.05, '2024-04-23': 0.06, '2024-04-24': 0.02, '2024-04-25': 0.08, '2024-04-26': 0.1, '2024-04-27': 0.07, '2024-04-28': 0.08, '2024-04-29': 0.09, '2024-04-30': 0.03, '2024-05-01': 0.0, '2024-05-02': -0.02, '2024-05-03': 0.13, '2024-05-04': -0.03, '2024-05-05': 0.09, '2024-05-06': 0.0, '2024-05-07': 0.05, '2024-05-08': 0.05, '2024-05-09': 0.08, '2024-05-10': 0.04, '2024-05-11': 0.08, '2024-05-12': 0.09, '2024-05-13': 0.13, '2024-05-14': 0.09, '2024-05-15': 0.05, '2024-05-16': 0.11, '2024-05-17': 0.04, '2024-05-18': 0.08, '2024-05-19': 0.01, '2024-05-20': -0.01, '2024-05-21': 0.1, '2024-05-22': 0.12, '2024-05-23': 0.03, '2024-05-24': 0.03, '2024-05-25': 0.02, '2024-05-26': 0.03, '2024-05-27': 0.05, '2024-05-28': 0.12, '2024-05-29': 0.08, '2024-05-30': 0.12, '2024-05-31': 0.02, '2024-06-01': -0.03, '2024-06-02': 0.07, '2024-06-03': 0.09}, 2, 0.0, []], 0.062002], ['normal control 2', [[2022, 6, 30], [2022, 8, 9], {'2022-06-10': -0.01, '2022-06-11': 0.04, '2022-06-12': 0.03, '2022-06-13': 0.07, '2022-06-14': -0.02, '2022-06-15': 0.13, '2022-06-16': 0.11, '2022-06-17': 0.0, '2022-06-18': 0.09, '2022-06-19': 0.09, '2022-06-20': -0.03, '2022-06-21': 0.0, '2022-06-22': -0.03, '2022-06-23': 0.08, '2022-06-24': 0.04, '2022-06-25': 0.08, '2022-06-26': 0.01, '2022-06-27': 0.07, '2022-06-28': -0.02, '2022-06-29': 0.08, '2022-06-30': -0.01, '2022-07-01': -0.03, '2022-07-02': 0.0, '2022-07-03': 0.05, '2022-07-04': 0.0, '2022-07-05': 0.09, '2022-07-06': 0.1, '2022-07-07': -0.03, '2022-07-08': 0.0, '2022-07-09': -0.02, '2022-07-10': 0.1, '2022-07-11': 0.07, '2022-07-12': 0.09, '2022-07-13': 0.11, '2022-07-14': 0.12, '2022-07-15': -0.01, '2022-07-16': -0.01, '2022-07-17': 0.08, '2022-07-18': -0.01, '2022-07-19': 0.05, '2022-07-20': 0.11, '2022-07-21': 0.01, '2022-07-22': 0.11, '2022-07-23': 0.1, '2022-07-24': -0.03, '2022-07-25': 0.01, '2022-07-26': 0.03, '2022-07-27': 0.08, '2022-07-28': 0.11, '2022-07-29': 0.03, '2022-07-30': 0.1, '2022-07-31': 0.01, '2022-08-01': -0.03, '2022-08-02': 0.06, '2022-08-03': -0.02, '2022-08-04': 0.1, '2022-08-05': 0.04, '2022-08-06': 0.12, '2022-08-07': 0.03, '2022-08-08': 0.07, '2022-08-09': 0.01}, 2, 0.0, []], 0.053001], ['normal control 3', [[2026, 2, 24], [2026, 3, 11], {'2026-02-04': 4.24, '2026-02-05': 4.26, '2026-02-06': 4.37, '2026-02-07': 4.32, '2026-02-08': 4.22, '2026-02-09': 4.29, '2026-02-10': 4.35, '2026-02-11': 4.25, '2026-02-12': 4.23, '2026-02-13': 4.22, '2026-02-14': 4.26, '2026-02-15': 4.28, '2026-02-16': 4.23, '2026-02-17': 4.31, '2026-02-18': 4.23, '2026-02-19': 4.36, '2026-02-20': 4.24, '2026-02-21': 4.27, '2026-02-22': 4.28, '2026-02-23': 4.24, '2026-02-24': 4.24, '2026-02-25': 4.36, '2026-02-26': 4.3, '2026-02-27': 4.27, '2026-02-28': 4.37, '2026-03-01': 4.31, '2026-03-02': 4.3, '2026-03-03': 4.24, '2026-03-04': 4.27, '2026-03-05': 4.34, '2026-03-06': 4.32, '2026-03-07': 4.24, '2026-03-08': 4.24, '2026-03-09': 4.35, '2026-03-10': 4.26, '2026-03-11': 4.35}, 0, 0.0, []], 4.298717], ['normal control 4', [[2027, 5, 4], [2027, 6, 4], {'2027-04-14': 5.34, '2027-04-15': 5.38, '2027-04-16': 5.29, '2027-04-17': 5.27, '2027-04-18': 5.24, '2027-04-19': 5.23, '2027-04-20': 5.32, '2027-04-21': 5.37, '2027-04-22': 5.25, '2027-04-23': 5.26, '2027-04-24': 5.32, '2027-04-25': 5.28, '2027-04-26': 5.29, '2027-04-27': 5.3, '2027-04-28': 5.26, '2027-04-29': 5.23, '2027-04-30': 5.37, '2027-05-01': 5.38, '2027-05-02': 5.25, '2027-05-03': 5.25, '2027-05-04': 5.32, '2027-05-05': 5.27, '2027-05-06': 5.38, '2027-05-07': 5.29, '2027-05-08': 5.38, '2027-05-09': 5.38, '2027-05-10': 5.3, '2027-05-11': 5.23, '2027-05-12': 5.25, '2027-05-13': 5.25, '2027-05-14': 5.23, '2027-05-15': 5.24, '2027-05-16': 5.35, '2027-05-17': 5.32, '2027-05-18': 5.33, '2027-05-19': 5.3, '2027-05-20': 5.33, '2027-05-21': 5.26, '2027-05-22': 5.24, '2027-05-23': 5.35, '2027-05-24': 5.24, '2027-05-25': 5.26, '2027-05-26': 5.24, '2027-05-27': 5.38, '2027-05-28': 5.34, '2027-05-29': 5.33, '2027-05-30': 5.23, '2027-05-31': 5.38, '2027-06-01': 5.31, '2027-06-02': 5.29, '2027-06-03': 5.3, '2027-06-04': 5.27}, 2, 0.0, [[2027, 5, 24], [2027, 5, 11]]], 5.306784]], [['regression spread placement 1', [[2026, 1, 12], [2026, 1, 22], {'2025-12-23': -0.02, '2025-12-24': 0.07, '2025-12-25': -0.03, '2025-12-26': 0.01, '2025-12-27': 0.08, '2025-12-28': -0.03, '2025-12-29': 0.04, '2025-12-30': 0.1, '2025-12-31': 0.0, '2026-01-01': 0.08, '2026-01-02': 0.02, '2026-01-03': 0.04, '2026-01-04': -0.01, '2026-01-05': -0.03, '2026-01-06': 0.0, '2026-01-07': -0.02, '2026-01-08': 0.03, '2026-01-09': 0.03, '2026-01-10': 0.13, '2026-01-11': 0.11, '2026-01-12': 0.13, '2026-01-13': 0.11, '2026-01-14': 0.01, '2026-01-15': 0.02, '2026-01-16': -0.02, '2026-01-17': 0.09, '2026-01-18': -0.01, '2026-01-19': 0.13, '2026-01-20': -0.01, '2026-01-21': 0.0, '2026-01-22': -0.02}, 5, 0.25, []], 0.282], ['regression spread placement 2', [[2026, 8, 31], [2026, 9, 17], {'2026-08-11': 0.03, '2026-08-12': 0.05, '2026-08-13': -0.03, '2026-08-14': -0.01, '2026-08-15': 0.07, '2026-08-16': -0.01, '2026-08-17': 0.0, '2026-08-18': 0.09, '2026-08-19': 0.0, '2026-08-20': -0.02, '2026-08-21': 0.11, '2026-08-22': 0.03, '2026-08-23': 0.03, '2026-08-24': 0.1, '2026-08-25': -0.03, '2026-08-26': 0.04, '2026-08-27': 0.01, '2026-08-28': 0.0, '2026-08-29': 0.06, '2026-08-30': 0.11, '2026-08-31': 0.03, '2026-09-01': -0.03, '2026-09-02': 0.13, '2026-09-03': 0.12, '2026-09-04': 0.11, '2026-09-05': 0.12, '2026-09-06': 0.03, '2026-09-07': 0.13, '2026-09-08': 0.11, '2026-09-09': 0.08, '2026-09-10': 0.09, '2026-09-11': 0.0, '2026-09-12': 0.01, '2026-09-13': 0.06, '2026-09-14': 0.03, '2026-09-15': 0.03, '2026-09-16': 0.07, '2026-09-17': 0.06}, 2, 0.1, []], 0.172354], ['partial repair probe 1', [[2023, 6, 8], [2023, 6, 12], {'2023-05-19': 5.31, '2023-05-20': 5.28, '2023-05-21': 5.3, '2023-05-22': 5.29, '2023-05-23': 5.34, '2023-05-24': 5.39, '2023-05-25': 5.23, '2023-05-26': 5.26, '2023-05-27': 5.3, '2023-05-28': 5.25, '2023-05-29': 5.29, '2023-05-30': 5.3, '2023-05-31': 5.23, '2023-06-01': 5.34, '2023-06-02': 5.23, '2023-06-03': 5.35, '2023-06-04': 5.33, '2023-06-05': 5.3, '2023-06-06': 5.37, '2023-06-07': 5.24, '2023-06-08': 5.28, '2023-06-09': 5.37, '2023-06-10': 5.27, '2023-06-11': 5.38, '2023-06-12': 5.29}, 2, 0.25, [[2023, 6, 9]]], 5.62], ['partial repair probe 2', [[2022, 6, 29], [2022, 7, 1], {'2022-06-09': 1.61, '2022-06-10': 1.51, '2022-06-11': 1.52, '2022-06-12': 1.58, '2022-06-13': 1.59, '2022-06-14': 1.62, '2022-06-15': 1.54, '2022-06-16': 1.58, '2022-06-17': 1.57, '2022-06-18': 1.5, '2022-06-19': 1.61, '2022-06-20': 1.63, '2022-06-21': 1.48, '2022-06-22': 1.58, '2022-06-23': 1.56, '2022-06-24': 1.47, '2022-06-25': 1.49, '2022-06-26': 1.5, '2022-06-27': 1.62, '2022-06-28': 1.53, '2022-06-29': 1.62, '2022-06-30': 1.57, '2022-07-01': 1.55}, 2, 0.1, [[2022, 6, 30], [2022, 6, 30], [2022, 6, 30]]], 1.72], ['normal control 1', [[2029, 1, 1], [2029, 1, 8], {'2028-12-12': 0.07, '2028-12-13': 0.02, '2028-12-14': 0.03, '2028-12-15': 0.1, '2028-12-16': 0.02, '2028-12-17': 0.0, '2028-12-18': 0.03, '2028-12-19': -0.03, '2028-12-20': 0.11, '2028-12-21': 0.11, '2028-12-22': 0.09, '2028-12-23': 0.02, '2028-12-24': 0.0, '2028-12-25': 0.04, '2028-12-26': 0.03, '2028-12-27': -0.02, '2028-12-28': 0.09, '2028-12-29': -0.01, '2028-12-30': -0.01, '2028-12-31': 0.06, '2029-01-01': -0.01, '2029-01-02': 0.02, '2029-01-03': 0.06, '2029-01-04': 0.01, '2029-01-05': 0.08, '2029-01-06': 0.13, '2029-01-07': 0.05, '2029-01-08': 0.11}, 5, 0.0, []], 0.015714], ['normal control 2', [[2023, 7, 7], [2023, 8, 15], {'2023-06-17': -0.03, '2023-06-18': -0.03, '2023-06-19': 0.13, '2023-06-20': 0.03, '2023-06-21': 0.06, '2023-06-22': 0.06, '2023-06-23': -0.01, '2023-06-24': 0.07, '2023-06-25': 0.02, '2023-06-26': 0.11, '2023-06-27': 0.05, '2023-06-28': -0.02, '2023-06-29': 0.08, '2023-06-30': 0.0, '2023-07-01': -0.03, '2023-07-02': 0.03, '2023-07-03': 0.08, '2023-07-04': 0.04, '2023-07-05': 0.09, '2023-07-06': 0.02, '2023-07-07': 0.04, '2023-07-08': 0.02, '2023-07-09': 0.12, '2023-07-10': 0.13, '2023-07-11': -0.01, '2023-07-12': 0.11, '2023-07-13': 0.04, '2023-07-14': 0.04, '2023-07-15': 0.07, '2023-07-16': -0.01, '2023-07-17': 0.07, '2023-07-18': 0.09, '2023-07-19': -0.03, '2023-07-20': 0.05, '2023-07-21': 0.01, '2023-07-22': 0.02, '2023-07-23': -0.03, '2023-07-24': 0.09, '2023-07-25': 0.09, '2023-07-26': 0.07, '2023-07-27': 0.1, '2023-07-28': 0.06, '2023-07-29': 0.01, '2023-07-30': 0.03, '2023-07-31': -0.02, '2023-08-01': 0.0, '2023-08-02': 0.0, '2023-08-03': 0.11, '2023-08-04': -0.03, '2023-08-05': 0.13, '2023-08-06': 0.06, '2023-08-07': 0.1, '2023-08-08': 0.09, '2023-08-09': 0.06, '2023-08-10': 0.02, '2023-08-11': 0.0, '2023-08-12': 0.04, '2023-08-13': 0.07, '2023-08-14': 0.11, '2023-08-15': -0.01}, 0, 0.0, [[2023, 7, 26], [2023, 8, 11]]], 0.043847], ['normal control 3', [[2027, 11, 5], [2027, 12, 6], {'2027-10-16': 4.25, '2027-10-17': 4.23, '2027-10-18': 4.38, '2027-10-19': 4.23, '2027-10-20': 4.26, '2027-10-21': 4.37, '2027-10-22': 4.28, '2027-10-23': 4.25, '2027-10-24': 4.34, '2027-10-25': 4.34, '2027-10-26': 4.33, '2027-10-27': 4.24, '2027-10-28': 4.38, '2027-10-29': 4.38, '2027-10-30': 4.3, '2027-10-31': 4.37, '2027-11-01': 4.35, '2027-11-02': 4.26, '2027-11-03': 4.27, '2027-11-04': 4.32, '2027-11-05': 4.31, '2027-11-06': 4.29, '2027-11-07': 4.29, '2027-11-08': 4.25, '2027-11-09': 4.38, '2027-11-10': 4.33, '2027-11-11': 4.22, '2027-11-12': 4.29, '2027-11-13': 4.23, '2027-11-14': 4.33, '2027-11-15': 4.26, '2027-11-16': 4.29, '2027-11-17': 4.24, '2027-11-18': 4.33, '2027-11-19': 4.32, '2027-11-20': 4.31, '2027-11-21': 4.27, '2027-11-22': 4.3, '2027-11-23': 4.26, '2027-11-24': 4.25, '2027-11-25': 4.35, '2027-11-26': 4.35, '2027-11-27': 4.34, '2027-11-28': 4.38, '2027-11-29': 4.36, '2027-11-30': 4.26, '2027-12-01': 4.36, '2027-12-02': 4.24, '2027-12-03': 4.3, '2027-12-04': 4.35, '2027-12-05': 4.23, '2027-12-06': 4.22}, 0, 0.0, [[2027, 12, 3], [2027, 12, 1]]], 4.301248], ['normal control 4', [[2022, 2, 2], [2022, 2, 3], {'2022-01-13': 4.36, '2022-01-14': 4.36, '2022-01-15': 4.22, '2022-01-16': 4.36, '2022-01-17': 4.23, '2022-01-18': 4.35, '2022-01-19': 4.22, '2022-01-20': 4.38, '2022-01-21': 4.27, '2022-01-22': 4.25, '2022-01-23': 4.38, '2022-01-24': 4.26, '2022-01-25': 4.22, '2022-01-26': 4.33, '2022-01-27': 4.34, '2022-01-28': 4.35, '2022-01-29': 4.36, '2022-01-30': 4.24, '2022-01-31': 4.33, '2022-02-01': 4.29, '2022-02-02': 4.27, '2022-02-03': 4.22}, 2, 0.0, []], 4.33]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression spread placement 10.103760.327371Failed
regression spread placement 24.3306124.55839Failed
partial repair probe 14.3602784.46Failed
partial repair probe 24.3108334.41Failed
normal control 10.055430.05543Passed
normal control 25.3198245.319824Passed
normal control 34.2336664.233666Passed
normal control 44.364.36Passed

SHA-256 / 677657e4b1afa0580f2dbf8d241e54f5d199e37dfd5933cc8ac4d5be5d939187

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(start, end, rates, lookback, spread, holidays):
    S = datetime.date(*start)
    E = datetime.date(*end)
    H = {datetime.date(*h) for h in holidays}
    def biz(x):
        return x.weekday() < 5 and x not in H
    def back(x, k):
        while k > 0:
            x -= datetime.timedelta(days=1)
            if biz(x):
                k -= 1
        return x
    days = []
    x = S
    while x < E:
        if biz(x):
            days.append(x)
        x += datetime.timedelta(days=1)
    prod = 1.0
    for i, d in enumerate(days):
        nxt = days[i + 1] if i + 1 < len(days) else E
        n = (nxt - d).days
        obs = back(d, lookback)
        prod *= 1 + rates[obs.isoformat()] / 100 * n / 360
    total = (E - S).days
    return round((prod - 1) * 360 / total * 100 + spread, 6)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression spread placement 1', [[2028, 5, 16], [2028, 6, 23], {'2028-04-26': 0.03, '2028-04-27': 0.07, '2028-04-28': -0.01, '2028-04-29': -0.03, '2028-04-30': 0.08, '2028-05-01': 0.11, '2028-05-02': 0.01, '2028-05-03': 0.05, '2028-05-04': 0.11, '2028-05-05': 0.08, '2028-05-06': 0.13, '2028-05-07': 0.12, '2028-05-08': 0.05, '2028-05-09': 0.04, '2028-05-10': 0.08, '2028-05-11': 0.11, '2028-05-12': 0.1, '2028-05-13': 0.1, '2028-05-14': -0.02, '2028-05-15': 0.0, '2028-05-16': 0.0, '2028-05-17': 0.05, '2028-05-18': 0.08, '2028-05-19': -0.01, '2028-05-20': 0.0, '2028-05-21': -0.01, '2028-05-22': 0.07, '2028-05-23': 0.07, '2028-05-24': 0.12, '2028-05-25': 0.12, '2028-05-26': 0.09, '2028-05-27': -0.02, '2028-05-28': 0.07, '2028-05-29': 0.06, '2028-05-30': 0.1, '2028-05-31': 0.13, '2028-06-01': 0.13, '2028-06-02': -0.03, '2028-06-03': 0.08, '2028-06-04': 0.13, '2028-06-05': -0.01, '2028-06-06': 0.04, '2028-06-07': 0.1, '2028-06-08': 0.08, '2028-06-09': 0.11, '2028-06-10': 0.04, '2028-06-11': 0.0, '2028-06-12': 0.13, '2028-06-13': -0.03, '2028-06-14': 0.07, '2028-06-15': 0.07, '2028-06-16': 0.04, '2028-06-17': 0.0, '2028-06-18': 0.01, '2028-06-19': 0.13, '2028-06-20': 0.02, '2028-06-21': 0.0, '2028-06-22': 0.05, '2028-06-23': 0.1}, 5, 0.25, [[2028, 6, 8], [2028, 6, 2]]], 0.327371], ['regression spread placement 2', [[2026, 2, 9], [2026, 3, 13], {'2026-01-20': 4.29, '2026-01-21': 4.32, '2026-01-22': 4.28, '2026-01-23': 4.23, '2026-01-24': 4.37, '2026-01-25': 4.37, '2026-01-26': 4.31, '2026-01-27': 4.27, '2026-01-28': 4.38, '2026-01-29': 4.36, '2026-01-30': 4.22, '2026-01-31': 4.38, '2026-02-01': 4.25, '2026-02-02': 4.26, '2026-02-03': 4.38, '2026-02-04': 4.32, '2026-02-05': 4.36, '2026-02-06': 4.28, '2026-02-07': 4.31, '2026-02-08': 4.22, '2026-02-09': 4.35, '2026-02-10': 4.36, '2026-02-11': 4.32, '2026-02-12': 4.3, '2026-02-13': 4.36, '2026-02-14': 4.35, '2026-02-15': 4.22, '2026-02-16': 4.36, '2026-02-17': 4.37, '2026-02-18': 4.29, '2026-02-19': 4.23, '2026-02-20': 4.29, '2026-02-21': 4.25, '2026-02-22': 4.22, '2026-02-23': 4.23, '2026-02-24': 4.32, '2026-02-25': 4.3, '2026-02-26': 4.36, '2026-02-27': 4.24, '2026-02-28': 4.33, '2026-03-01': 4.23, '2026-03-02': 4.28, '2026-03-03': 4.27, '2026-03-04': 4.25, '2026-03-05': 4.36, '2026-03-06': 4.26, '2026-03-07': 4.28, '2026-03-08': 4.28, '2026-03-09': 4.28, '2026-03-10': 4.22, '2026-03-11': 4.35, '2026-03-12': 4.31, '2026-03-13': 4.29}, 0, 0.25, [[2026, 2, 19], [2026, 2, 19]]], 4.55839], ['partial repair probe 1', [[2023, 7, 4], [2023, 7, 5], {'2023-06-14': 4.22, '2023-06-15': 4.28, '2023-06-16': 4.22, '2023-06-17': 4.24, '2023-06-18': 4.37, '2023-06-19': 4.25, '2023-06-20': 4.27, '2023-06-21': 4.23, '2023-06-22': 4.37, '2023-06-23': 4.36, '2023-06-24': 4.31, '2023-06-25': 4.31, '2023-06-26': 4.27, '2023-06-27': 4.33, '2023-06-28': 4.36, '2023-06-29': 4.33, '2023-06-30': 4.3, '2023-07-01': 4.27, '2023-07-02': 4.22, '2023-07-03': 4.3, '2023-07-04': 4.36, '2023-07-05': 4.31}, 0, 0.1, []], 4.46], ['partial repair probe 2', [[2026, 5, 15], [2026, 5, 18], {'2026-04-25': 4.25, '2026-04-26': 4.32, '2026-04-27': 4.34, '2026-04-28': 4.26, '2026-04-29': 4.36, '2026-04-30': 4.23, '2026-05-01': 4.34, '2026-05-02': 4.31, '2026-05-03': 4.23, '2026-05-04': 4.29, '2026-05-05': 4.22, '2026-05-06': 4.36, '2026-05-07': 4.33, '2026-05-08': 4.31, '2026-05-09': 4.25, '2026-05-10': 4.26, '2026-05-11': 4.3, '2026-05-12': 4.24, '2026-05-13': 4.38, '2026-05-14': 4.34, '2026-05-15': 4.25, '2026-05-16': 4.25, '2026-05-17': 4.3, '2026-05-18': 4.29}, 5, 0.1, []], 4.41], ['normal control 1', [[2026, 11, 9], [2026, 12, 14], {'2026-10-20': 0.12, '2026-10-21': 0.0, '2026-10-22': 0.04, '2026-10-23': 0.06, '2026-10-24': 0.01, '2026-10-25': 0.04, '2026-10-26': 0.02, '2026-10-27': 0.05, '2026-10-28': 0.02, '2026-10-29': 0.09, '2026-10-30': 0.04, '2026-10-31': 0.0, '2026-11-01': 0.11, '2026-11-02': 0.06, '2026-11-03': 0.13, '2026-11-04': 0.1, '2026-11-05': 0.02, '2026-11-06': 0.08, '2026-11-07': -0.01, '2026-11-08': 0.0, '2026-11-09': 0.11, '2026-11-10': 0.06, '2026-11-11': 0.09, '2026-11-12': 0.09, '2026-11-13': 0.12, '2026-11-14': 0.02, '2026-11-15': 0.08, '2026-11-16': 0.12, '2026-11-17': 0.11, '2026-11-18': 0.03, '2026-11-19': 0.03, '2026-11-20': 0.05, '2026-11-21': 0.04, '2026-11-22': 0.05, '2026-11-23': 0.05, '2026-11-24': 0.01, '2026-11-25': 0.09, '2026-11-26': 0.06, '2026-11-27': 0.05, '2026-11-28': 0.12, '2026-11-29': 0.08, '2026-11-30': 0.02, '2026-12-01': -0.02, '2026-12-02': 0.08, '2026-12-03': 0.12, '2026-12-04': -0.03, '2026-12-05': -0.01, '2026-12-06': 0.01, '2026-12-07': 0.01, '2026-12-08': 0.0, '2026-12-09': 0.09, '2026-12-10': 0.01, '2026-12-11': 0.05, '2026-12-12': 0.03, '2026-12-13': 0.05, '2026-12-14': 0.01}, 2, 0.0, [[2026, 11, 23], [2026, 11, 12], [2026, 11, 27]]], 0.05543], ['normal control 2', [[2024, 2, 28], [2024, 3, 25], {'2024-02-08': 5.35, '2024-02-09': 5.25, '2024-02-10': 5.33, '2024-02-11': 5.3, '2024-02-12': 5.27, '2024-02-13': 5.35, '2024-02-14': 5.23, '2024-02-15': 5.29, '2024-02-16': 5.28, '2024-02-17': 5.38, '2024-02-18': 5.25, '2024-02-19': 5.35, '2024-02-20': 5.26, '2024-02-21': 5.29, '2024-02-22': 5.23, '2024-02-23': 5.25, '2024-02-24': 5.26, '2024-02-25': 5.24, '2024-02-26': 5.32, '2024-02-27': 5.24, '2024-02-28': 5.32, '2024-02-29': 5.29, '2024-03-01': 5.38, '2024-03-02': 5.26, '2024-03-03': 5.25, '2024-03-04': 5.28, '2024-03-05': 5.31, '2024-03-06': 5.24, '2024-03-07': 5.3, '2024-03-08': 5.38, '2024-03-09': 5.29, '2024-03-10': 5.38, '2024-03-11': 5.29, '2024-03-12': 5.24, '2024-03-13': 5.34, '2024-03-14': 5.36, '2024-03-15': 5.39, '2024-03-16': 5.29, '2024-03-17': 5.27, '2024-03-18': 5.28, '2024-03-19': 5.23, '2024-03-20': 5.36, '2024-03-21': 5.27, '2024-03-22': 5.29, '2024-03-23': 5.28, '2024-03-24': 5.34, '2024-03-25': 5.39}, 2, 0.0, []], 5.319824], ['normal control 3', [[2028, 5, 1], [2028, 5, 4], {'2028-04-11': 4.29, '2028-04-12': 4.37, '2028-04-13': 4.37, '2028-04-14': 4.34, '2028-04-15': 4.25, '2028-04-16': 4.31, '2028-04-17': 4.3, '2028-04-18': 4.27, '2028-04-19': 4.35, '2028-04-20': 4.28, '2028-04-21': 4.28, '2028-04-22': 4.26, '2028-04-23': 4.36, '2028-04-24': 4.31, '2028-04-25': 4.34, '2028-04-26': 4.25, '2028-04-27': 4.31, '2028-04-28': 4.22, '2028-04-29': 4.33, '2028-04-30': 4.36, '2028-05-01': 4.26, '2028-05-02': 4.22, '2028-05-03': 4.28, '2028-05-04': 4.24}, 0, 0.0, [[2028, 5, 3], [2028, 5, 3]]], 4.233666], ['normal control 4', [[2023, 6, 26], [2023, 6, 27], {'2023-06-06': 4.38, '2023-06-07': 4.28, '2023-06-08': 4.37, '2023-06-09': 4.34, '2023-06-10': 4.31, '2023-06-11': 4.24, '2023-06-12': 4.23, '2023-06-13': 4.22, '2023-06-14': 4.32, '2023-06-15': 4.34, '2023-06-16': 4.22, '2023-06-17': 4.23, '2023-06-18': 4.28, '2023-06-19': 4.31, '2023-06-20': 4.25, '2023-06-21': 4.34, '2023-06-22': 4.37, '2023-06-23': 4.25, '2023-06-24': 4.34, '2023-06-25': 4.3, '2023-06-26': 4.36, '2023-06-27': 4.26}, 0, 0.0, []], 4.36]], [['regression spread placement 1', [[2023, 2, 28], [2023, 3, 14], {'2023-02-08': 0.12, '2023-02-09': -0.02, '2023-02-10': -0.02, '2023-02-11': 0.06, '2023-02-12': 0.09, '2023-02-13': 0.01, '2023-02-14': 0.13, '2023-02-15': 0.13, '2023-02-16': -0.02, '2023-02-17': 0.04, '2023-02-18': 0.08, '2023-02-19': -0.03, '2023-02-20': 0.12, '2023-02-21': 0.04, '2023-02-22': 0.05, '2023-02-23': 0.04, '2023-02-24': 0.1, '2023-02-25': 0.0, '2023-02-26': -0.03, '2023-02-27': 0.12, '2023-02-28': 0.0, '2023-03-01': 0.08, '2023-03-02': 0.05, '2023-03-03': 0.11, '2023-03-04': 0.09, '2023-03-05': 0.05, '2023-03-06': 0.0, '2023-03-07': -0.03, '2023-03-08': 0.05, '2023-03-09': 0.06, '2023-03-10': 0.13, '2023-03-11': 0.07, '2023-03-12': 0.12, '2023-03-13': -0.01, '2023-03-14': 0.11}, 0, 0.1, [[2023, 3, 3]]], 0.152857], ['regression spread placement 2', [[2023, 8, 29], [2023, 10, 3], {'2023-08-09': 4.31, '2023-08-10': 4.24, '2023-08-11': 4.29, '2023-08-12': 4.26, '2023-08-13': 4.29, '2023-08-14': 4.23, '2023-08-15': 4.36, '2023-08-16': 4.23, '2023-08-17': 4.33, '2023-08-18': 4.32, '2023-08-19': 4.29, '2023-08-20': 4.22, '2023-08-21': 4.26, '2023-08-22': 4.26, '2023-08-23': 4.27, '2023-08-24': 4.31, '2023-08-25': 4.3, '2023-08-26': 4.25, '2023-08-27': 4.36, '2023-08-28': 4.31, '2023-08-29': 4.29, '2023-08-30': 4.23, '2023-08-31': 4.35, '2023-09-01': 4.33, '2023-09-02': 4.36, '2023-09-03': 4.31, '2023-09-04': 4.23, '2023-09-05': 4.25, '2023-09-06': 4.38, '2023-09-07': 4.32, '2023-09-08': 4.32, '2023-09-09': 4.25, '2023-09-10': 4.25, '2023-09-11': 4.31, '2023-09-12': 4.37, '2023-09-13': 4.28, '2023-09-14': 4.31, '2023-09-15': 4.31, '2023-09-16': 4.25, '2023-09-17': 4.3, '2023-09-18': 4.29, '2023-09-19': 4.24, '2023-09-20': 4.27, '2023-09-21': 4.31, '2023-09-22': 4.38, '2023-09-23': 4.33, '2023-09-24': 4.22, '2023-09-25': 4.37, '2023-09-26': 4.38, '2023-09-27': 4.28, '2023-09-28': 4.33, '2023-09-29': 4.38, '2023-09-30': 4.22, '2023-10-01': 4.22, '2023-10-02': 4.28, '2023-10-03': 4.33}, 2, 0.1, []], 4.411966], ['partial repair probe 1', [[2028, 9, 21], [2028, 9, 22], {'2028-09-01': 0.1, '2028-09-02': -0.03, '2028-09-03': 0.06, '2028-09-04': 0.11, '2028-09-05': 0.11, '2028-09-06': 0.01, '2028-09-07': 0.06, '2028-09-08': -0.02, '2028-09-09': 0.01, '2028-09-10': -0.01, '2028-09-11': 0.04, '2028-09-12': 0.03, '2028-09-13': 0.11, '2028-09-14': -0.02, '2028-09-15': 0.13, '2028-09-16': -0.01, '2028-09-17': 0.06, '2028-09-18': -0.01, '2028-09-19': 0.02, '2028-09-20': 0.05, '2028-09-21': -0.01, '2028-09-22': 0.02}, 5, 0.1, []], 0.08], ['partial repair probe 2', [[2025, 2, 28], [2025, 3, 3], {'2025-02-08': 5.32, '2025-02-09': 5.27, '2025-02-10': 5.33, '2025-02-11': 5.28, '2025-02-12': 5.33, '2025-02-13': 5.28, '2025-02-14': 5.33, '2025-02-15': 5.36, '2025-02-16': 5.26, '2025-02-17': 5.26, '2025-02-18': 5.29, '2025-02-19': 5.33, '2025-02-20': 5.25, '2025-02-21': 5.35, '2025-02-22': 5.34, '2025-02-23': 5.33, '2025-02-24': 5.26, '2025-02-25': 5.27, '2025-02-26': 5.3, '2025-02-27': 5.23, '2025-02-28': 5.31, '2025-03-01': 5.27, '2025-03-02': 5.28, '2025-03-03': 5.3}, 0, 0.1, []], 5.41], ['normal control 1', [[2027, 6, 30], [2027, 7, 19], {'2027-06-10': 4.28, '2027-06-11': 4.31, '2027-06-12': 4.28, '2027-06-13': 4.31, '2027-06-14': 4.38, '2027-06-15': 4.34, '2027-06-16': 4.22, '2027-06-17': 4.27, '2027-06-18': 4.29, '2027-06-19': 4.37, '2027-06-20': 4.35, '2027-06-21': 4.32, '2027-06-22': 4.29, '2027-06-23': 4.24, '2027-06-24': 4.32, '2027-06-25': 4.3, '2027-06-26': 4.27, '2027-06-27': 4.25, '2027-06-28': 4.38, '2027-06-29': 4.34, '2027-06-30': 4.3, '2027-07-01': 4.22, '2027-07-02': 4.3, '2027-07-03': 4.3, '2027-07-04': 4.36, '2027-07-05': 4.22, '2027-07-06': 4.26, '2027-07-07': 4.24, '2027-07-08': 4.31, '2027-07-09': 4.29, '2027-07-10': 4.28, '2027-07-11': 4.35, '2027-07-12': 4.35, '2027-07-13': 4.22, '2027-07-14': 4.32, '2027-07-15': 4.3, '2027-07-16': 4.32, '2027-07-17': 4.22, '2027-07-18': 4.29, '2027-07-19': 4.35}, 2, 0.0, [[2027, 7, 7]]], 4.297499], ['normal control 2', [[2023, 6, 30], [2023, 7, 3], {'2023-06-10': 4.38, '2023-06-11': 4.28, '2023-06-12': 4.29, '2023-06-13': 4.23, '2023-06-14': 4.27, '2023-06-15': 4.27, '2023-06-16': 4.31, '2023-06-17': 4.27, '2023-06-18': 4.23, '2023-06-19': 4.27, '2023-06-20': 4.38, '2023-06-21': 4.38, '2023-06-22': 4.24, '2023-06-23': 4.3, '2023-06-24': 4.26, '2023-06-25': 4.3, '2023-06-26': 4.25, '2023-06-27': 4.26, '2023-06-28': 4.27, '2023-06-29': 4.38, '2023-06-30': 4.35, '2023-07-01': 4.25, '2023-07-02': 4.34, '2023-07-03': 4.29}, 0, 0.0, []], 4.35], ['normal control 3', [[2022, 3, 16], [2022, 4, 20], {'2022-02-24': 4.33, '2022-02-25': 4.38, '2022-02-26': 4.32, '2022-02-27': 4.3, '2022-02-28': 4.23, '2022-03-01': 4.36, '2022-03-02': 4.31, '2022-03-03': 4.23, '2022-03-04': 4.26, '2022-03-05': 4.37, '2022-03-06': 4.33, '2022-03-07': 4.25, '2022-03-08': 4.26, '2022-03-09': 4.37, '2022-03-10': 4.37, '2022-03-11': 4.31, '2022-03-12': 4.38, '2022-03-13': 4.27, '2022-03-14': 4.29, '2022-03-15': 4.37, '2022-03-16': 4.24, '2022-03-17': 4.36, '2022-03-18': 4.37, '2022-03-19': 4.26, '2022-03-20': 4.27, '2022-03-21': 4.32, '2022-03-22': 4.33, '2022-03-23': 4.23, '2022-03-24': 4.25, '2022-03-25': 4.24, '2022-03-26': 4.28, '2022-03-27': 4.29, '2022-03-28': 4.25, '2022-03-29': 4.3, '2022-03-30': 4.3, '2022-03-31': 4.24, '2022-04-01': 4.29, '2022-04-02': 4.31, '2022-04-03': 4.37, '2022-04-04': 4.23, '2022-04-05': 4.38, '2022-04-06': 4.22, '2022-04-07': 4.29, '2022-04-08': 4.26, '2022-04-09': 4.34, '2022-04-10': 4.24, '2022-04-11': 4.27, '2022-04-12': 4.26, '2022-04-13': 4.38, '2022-04-14': 4.33, '2022-04-15': 4.26, '2022-04-16': 4.25, '2022-04-17': 4.24, '2022-04-18': 4.29, '2022-04-19': 4.24, '2022-04-20': 4.32}, 0, 0.0, [[2022, 3, 29], [2022, 3, 29]]], 4.29187], ['normal control 4', [[2028, 6, 26], [2028, 7, 26], {'2028-06-06': 4.26, '2028-06-07': 4.3, '2028-06-08': 4.23, '2028-06-09': 4.31, '2028-06-10': 4.27, '2028-06-11': 4.25, '2028-06-12': 4.36, '2028-06-13': 4.3, '2028-06-14': 4.37, '2028-06-15': 4.3, '2028-06-16': 4.37, '2028-06-17': 4.29, '2028-06-18': 4.29, '2028-06-19': 4.31, '2028-06-20': 4.23, '2028-06-21': 4.33, '2028-06-22': 4.23, '2028-06-23': 4.38, '2028-06-24': 4.27, '2028-06-25': 4.38, '2028-06-26': 4.27, '2028-06-27': 4.29, '2028-06-28': 4.34, '2028-06-29': 4.28, '2028-06-30': 4.35, '2028-07-01': 4.36, '2028-07-02': 4.27, '2028-07-03': 4.26, '2028-07-04': 4.26, '2028-07-05': 4.38, '2028-07-06': 4.27, '2028-07-07': 4.36, '2028-07-08': 4.35, '2028-07-09': 4.29, '2028-07-10': 4.3, '2028-07-11': 4.23, '2028-07-12': 4.35, '2028-07-13': 4.29, '2028-07-14': 4.27, '2028-07-15': 4.26, '2028-07-16': 4.24, '2028-07-17': 4.31, '2028-07-18': 4.38, '2028-07-19': 4.28, '2028-07-20': 4.38, '2028-07-21': 4.31, '2028-07-22': 4.38, '2028-07-23': 4.27, '2028-07-24': 4.32, '2028-07-25': 4.31, '2028-07-26': 4.28}, 5, 0.0, []], 4.320291]], [['regression spread placement 1', [[2021, 3, 2], [2021, 4, 2], {'2021-02-10': 0.11, '2021-02-11': 0.01, '2021-02-12': 0.09, '2021-02-13': -0.02, '2021-02-14': 0.07, '2021-02-15': 0.02, '2021-02-16': 0.05, '2021-02-17': -0.03, '2021-02-18': 0.06, '2021-02-19': 0.07, '2021-02-20': 0.03, '2021-02-21': 0.0, '2021-02-22': 0.02, '2021-02-23': 0.06, '2021-02-24': 0.0, '2021-02-25': 0.13, '2021-02-26': 0.01, '2021-02-27': 0.0, '2021-02-28': 0.11, '2021-03-01': 0.13, '2021-03-02': 0.01, '2021-03-03': 0.11, '2021-03-04': 0.12, '2021-03-05': 0.03, '2021-03-06': 0.05, '2021-03-07': 0.13, '2021-03-08': 0.12, '2021-03-09': 0.1, '2021-03-10': -0.02, '2021-03-11': 0.05, '2021-03-12': 0.13, '2021-03-13': 0.0, '2021-03-14': 0.08, '2021-03-15': 0.11, '2021-03-16': 0.03, '2021-03-17': -0.01, '2021-03-18': -0.01, '2021-03-19': 0.02, '2021-03-20': 0.07, '2021-03-21': 0.02, '2021-03-22': -0.03, '2021-03-23': 0.1, '2021-03-24': 0.13, '2021-03-25': 0.0, '2021-03-26': 0.07, '2021-03-27': 0.13, '2021-03-28': -0.01, '2021-03-29': -0.03, '2021-03-30': 0.05, '2021-03-31': 0.05, '2021-04-01': 0.09, '2021-04-02': 0.0}, 5, 0.1, [[2021, 3, 24], [2021, 3, 25]]], 0.150646], ['regression spread placement 2', [[2021, 5, 21], [2021, 6, 28], {'2021-05-01': 1.62, '2021-05-02': 1.6, '2021-05-03': 1.53, '2021-05-04': 1.55, '2021-05-05': 1.57, '2021-05-06': 1.61, '2021-05-07': 1.6, '2021-05-08': 1.6, '2021-05-09': 1.61, '2021-05-10': 1.61, '2021-05-11': 1.48, '2021-05-12': 1.59, '2021-05-13': 1.48, '2021-05-14': 1.63, '2021-05-15': 1.48, '2021-05-16': 1.56, '2021-05-17': 1.54, '2021-05-18': 1.56, '2021-05-19': 1.58, '2021-05-20': 1.63, '2021-05-21': 1.62, '2021-05-22': 1.5, '2021-05-23': 1.61, '2021-05-24': 1.49, '2021-05-25': 1.48, '2021-05-26': 1.57, '2021-05-27': 1.58, '2021-05-28': 1.58, '2021-05-29': 1.53, '2021-05-30': 1.47, '2021-05-31': 1.53, '2021-06-01': 1.62, '2021-06-02': 1.63, '2021-06-03': 1.53, '2021-06-04': 1.52, '2021-06-05': 1.63, '2021-06-06': 1.6, '2021-06-07': 1.55, '2021-06-08': 1.52, '2021-06-09': 1.63, '2021-06-10': 1.58, '2021-06-11': 1.59, '2021-06-12': 1.52, '2021-06-13': 1.47, '2021-06-14': 1.62, '2021-06-15': 1.55, '2021-06-16': 1.51, '2021-06-17': 1.54, '2021-06-18': 1.56, '2021-06-19': 1.57, '2021-06-20': 1.59, '2021-06-21': 1.57, '2021-06-22': 1.59, '2021-06-23': 1.55, '2021-06-24': 1.51, '2021-06-25': 1.63, '2021-06-26': 1.56, '2021-06-27': 1.49, '2021-06-28': 1.49}, 0, 0.1, []], 1.670971], ['partial repair probe 1', [[2022, 3, 1], [2022, 3, 3], {'2022-02-09': 1.55, '2022-02-10': 1.56, '2022-02-11': 1.55, '2022-02-12': 1.47, '2022-02-13': 1.61, '2022-02-14': 1.57, '2022-02-15': 1.63, '2022-02-16': 1.5, '2022-02-17': 1.48, '2022-02-18': 1.62, '2022-02-19': 1.47, '2022-02-20': 1.63, '2022-02-21': 1.48, '2022-02-22': 1.47, '2022-02-23': 1.59, '2022-02-24': 1.62, '2022-02-25': 1.56, '2022-02-26': 1.59, '2022-02-27': 1.5, '2022-02-28': 1.55, '2022-03-01': 1.56, '2022-03-02': 1.53, '2022-03-03': 1.6}, 2, 0.25, [[2022, 3, 2], [2022, 3, 2]]], 1.81], ['partial repair probe 2', [[2024, 7, 2], [2024, 7, 4], {'2024-06-12': 1.61, '2024-06-13': 1.48, '2024-06-14': 1.5, '2024-06-15': 1.61, '2024-06-16': 1.6, '2024-06-17': 1.47, '2024-06-18': 1.6, '2024-06-19': 1.58, '2024-06-20': 1.6, '2024-06-21': 1.56, '2024-06-22': 1.54, '2024-06-23': 1.63, '2024-06-24': 1.53, '2024-06-25': 1.57, '2024-06-26': 1.55, '2024-06-27': 1.52, '2024-06-28': 1.58, '2024-06-29': 1.54, '2024-06-30': 1.53, '2024-07-01': 1.52, '2024-07-02': 1.63, '2024-07-03': 1.59, '2024-07-04': 1.61}, 5, 0.25, [[2024, 7, 3], [2024, 7, 3], [2024, 7, 3]]], 1.82], ['normal control 1', [[2024, 7, 9], [2024, 7, 10], {'2024-06-19': 0.04, '2024-06-20': 0.12, '2024-06-21': 0.04, '2024-06-22': 0.12, '2024-06-23': -0.01, '2024-06-24': 0.13, '2024-06-25': 0.11, '2024-06-26': 0.08, '2024-06-27': -0.03, '2024-06-28': -0.02, '2024-06-29': 0.12, '2024-06-30': 0.0, '2024-07-01': 0.1, '2024-07-02': 0.06, '2024-07-03': 0.02, '2024-07-04': 0.05, '2024-07-05': 0.01, '2024-07-06': 0.07, '2024-07-07': -0.01, '2024-07-08': 0.12, '2024-07-09': 0.01, '2024-07-10': 0.07}, 2, 0.0, []], 0.01], ['normal control 2', [[2028, 5, 1], [2028, 6, 1], {'2028-04-11': 1.58, '2028-04-12': 1.52, '2028-04-13': 1.6, '2028-04-14': 1.55, '2028-04-15': 1.49, '2028-04-16': 1.5, '2028-04-17': 1.58, '2028-04-18': 1.48, '2028-04-19': 1.63, '2028-04-20': 1.57, '2028-04-21': 1.47, '2028-04-22': 1.57, '2028-04-23': 1.52, '2028-04-24': 1.49, '2028-04-25': 1.51, '2028-04-26': 1.6, '2028-04-27': 1.61, '2028-04-28': 1.56, '2028-04-29': 1.57, '2028-04-30': 1.6, '2028-05-01': 1.48, '2028-05-02': 1.6, '2028-05-03': 1.63, '2028-05-04': 1.55, '2028-05-05': 1.56, '2028-05-06': 1.61, '2028-05-07': 1.49, '2028-05-08': 1.53, '2028-05-09': 1.5, '2028-05-10': 1.63, '2028-05-11': 1.57, '2028-05-12': 1.52, '2028-05-13': 1.57, '2028-05-14': 1.55, '2028-05-15': 1.49, '2028-05-16': 1.48, '2028-05-17': 1.63, '2028-05-18': 1.48, '2028-05-19': 1.54, '2028-05-20': 1.53, '2028-05-21': 1.56, '2028-05-22': 1.62, '2028-05-23': 1.62, '2028-05-24': 1.55, '2028-05-25': 1.53, '2028-05-26': 1.53, '2028-05-27': 1.52, '2028-05-28': 1.6, '2028-05-29': 1.53, '2028-05-30': 1.6, '2028-05-31': 1.55, '2028-06-01': 1.6}, 5, 0.0, [[2028, 5, 8]]], 1.55323], ['normal control 3', [[2024, 9, 2], [2024, 10, 8], {'2024-08-13': 0.09, '2024-08-14': 0.04, '2024-08-15': -0.03, '2024-08-16': 0.05, '2024-08-17': 0.13, '2024-08-18': -0.03, '2024-08-19': -0.03, '2024-08-20': -0.02, '2024-08-21': 0.03, '2024-08-22': -0.02, '2024-08-23': 0.12, '2024-08-24': 0.01, '2024-08-25': -0.01, '2024-08-26': 0.08, '2024-08-27': 0.12, '2024-08-28': 0.09, '2024-08-29': -0.03, '2024-08-30': 0.07, '2024-08-31': 0.03, '2024-09-01': 0.07, '2024-09-02': 0.07, '2024-09-03': 0.01, '2024-09-04': -0.01, '2024-09-05': 0.04, '2024-09-06': -0.01, '2024-09-07': 0.08, '2024-09-08': 0.06, '2024-09-09': 0.06, '2024-09-10': -0.02, '2024-09-11': 0.09, '2024-09-12': 0.06, '2024-09-13': 0.13, '2024-09-14': 0.08, '2024-09-15': 0.07, '2024-09-16': -0.03, '2024-09-17': 0.11, '2024-09-18': 0.07, '2024-09-19': 0.09, '2024-09-20': 0.02, '2024-09-21': 0.13, '2024-09-22': 0.02, '2024-09-23': 0.07, '2024-09-24': 0.0, '2024-09-25': -0.01, '2024-09-26': 0.06, '2024-09-27': 0.1, '2024-09-28': 0.09, '2024-09-29': -0.01, '2024-09-30': 0.06, '2024-10-01': 0.04, '2024-10-02': -0.01, '2024-10-03': 0.1, '2024-10-04': -0.02, '2024-10-05': 0.0, '2024-10-06': 0.11, '2024-10-07': -0.03, '2024-10-08': 0.08}, 2, 0.0, []], 0.038612], ['normal control 4', [[2025, 9, 1], [2025, 10, 2], {'2025-08-12': -0.02, '2025-08-13': 0.06, '2025-08-14': 0.13, '2025-08-15': 0.1, '2025-08-16': 0.0, '2025-08-17': 0.06, '2025-08-18': 0.07, '2025-08-19': 0.08, '2025-08-20': 0.01, '2025-08-21': 0.0, '2025-08-22': 0.03, '2025-08-23': 0.0, '2025-08-24': 0.11, '2025-08-25': 0.03, '2025-08-26': 0.11, '2025-08-27': 0.05, '2025-08-28': -0.02, '2025-08-29': 0.07, '2025-08-30': 0.1, '2025-08-31': -0.02, '2025-09-01': -0.02, '2025-09-02': 0.02, '2025-09-03': 0.05, '2025-09-04': -0.03, '2025-09-05': 0.06, '2025-09-06': 0.02, '2025-09-07': 0.09, '2025-09-08': 0.06, '2025-09-09': 0.05, '2025-09-10': 0.04, '2025-09-11': 0.06, '2025-09-12': 0.07, '2025-09-13': 0.04, '2025-09-14': -0.03, '2025-09-15': 0.09, '2025-09-16': 0.08, '2025-09-17': 0.09, '2025-09-18': 0.1, '2025-09-19': 0.04, '2025-09-20': 0.0, '2025-09-21': 0.01, '2025-09-22': 0.02, '2025-09-23': 0.05, '2025-09-24': -0.02, '2025-09-25': -0.02, '2025-09-26': -0.03, '2025-09-27': 0.02, '2025-09-28': 0.09, '2025-09-29': 0.07, '2025-09-30': 0.06, '2025-10-01': 0.03, '2025-10-02': 0.0}, 2, 0.0, []], 0.03871]], [['regression spread placement 1', [[2025, 12, 1], [2025, 12, 8], {'2025-11-11': 5.31, '2025-11-12': 5.26, '2025-11-13': 5.25, '2025-11-14': 5.26, '2025-11-15': 5.24, '2025-11-16': 5.31, '2025-11-17': 5.33, '2025-11-18': 5.32, '2025-11-19': 5.31, '2025-11-20': 5.36, '2025-11-21': 5.29, '2025-11-22': 5.39, '2025-11-23': 5.32, '2025-11-24': 5.34, '2025-11-25': 5.35, '2025-11-26': 5.27, '2025-11-27': 5.26, '2025-11-28': 5.25, '2025-11-29': 5.24, '2025-11-30': 5.27, '2025-12-01': 5.34, '2025-12-02': 5.27, '2025-12-03': 5.35, '2025-12-04': 5.38, '2025-12-05': 5.31, '2025-12-06': 5.33, '2025-12-07': 5.37, '2025-12-08': 5.31}, 2, 0.1, [[2025, 12, 4], [2025, 12, 3]]], 5.391665], ['regression spread placement 2', [[2027, 12, 9], [2027, 12, 21], {'2027-11-19': 4.35, '2027-11-20': 4.34, '2027-11-21': 4.29, '2027-11-22': 4.24, '2027-11-23': 4.32, '2027-11-24': 4.32, '2027-11-25': 4.28, '2027-11-26': 4.34, '2027-11-27': 4.28, '2027-11-28': 4.22, '2027-11-29': 4.27, '2027-11-30': 4.27, '2027-12-01': 4.25, '2027-12-02': 4.37, '2027-12-03': 4.23, '2027-12-04': 4.32, '2027-12-05': 4.35, '2027-12-06': 4.26, '2027-12-07': 4.22, '2027-12-08': 4.35, '2027-12-09': 4.28, '2027-12-10': 4.26, '2027-12-11': 4.29, '2027-12-12': 4.3, '2027-12-13': 4.38, '2027-12-14': 4.32, '2027-12-15': 4.26, '2027-12-16': 4.28, '2027-12-17': 4.28, '2027-12-18': 4.3, '2027-12-19': 4.3, '2027-12-20': 4.38, '2027-12-21': 4.29}, 5, 0.25, [[2027, 12, 15]]], 4.51999], ['partial repair probe 1', [[2022, 12, 13], [2022, 12, 15], {'2022-11-23': 4.3, '2022-11-24': 4.36, '2022-11-25': 4.34, '2022-11-26': 4.25, '2022-11-27': 4.26, '2022-11-28': 4.32, '2022-11-29': 4.22, '2022-11-30': 4.24, '2022-12-01': 4.31, '2022-12-02': 4.38, '2022-12-03': 4.27, '2022-12-04': 4.38, '2022-12-05': 4.27, '2022-12-06': 4.29, '2022-12-07': 4.23, '2022-12-08': 4.23, '2022-12-09': 4.22, '2022-12-10': 4.35, '2022-12-11': 4.38, '2022-12-12': 4.27, '2022-12-13': 4.28, '2022-12-14': 4.26, '2022-12-15': 4.28}, 2, 0.25, [[2022, 12, 14], [2022, 12, 14], [2022, 12, 14]]], 4.47], ['partial repair probe 2', [[2023, 3, 22], [2023, 3, 24], {'2023-03-02': 0.13, '2023-03-03': 0.12, '2023-03-04': -0.03, '2023-03-05': 0.12, '2023-03-06': 0.02, '2023-03-07': 0.13, '2023-03-08': 0.0, '2023-03-09': 0.02, '2023-03-10': 0.09, '2023-03-11': 0.07, '2023-03-12': 0.0, '2023-03-13': 0.09, '2023-03-14': -0.03, '2023-03-15': 0.08, '2023-03-16': 0.05, '2023-03-17': 0.09, '2023-03-18': 0.13, '2023-03-19': 0.09, '2023-03-20': 0.02, '2023-03-21': 0.12, '2023-03-22': 0.0, '2023-03-23': 0.05, '2023-03-24': -0.02}, 0, 0.1, [[2023, 3, 23], [2023, 3, 23], [2023, 3, 23]]], 0.1], ['normal control 1', [[2024, 4, 29], [2024, 6, 3], {'2024-04-09': 0.03, '2024-04-10': 0.1, '2024-04-11': 0.08, '2024-04-12': 0.06, '2024-04-13': -0.03, '2024-04-14': 0.12, '2024-04-15': 0.03, '2024-04-16': 0.13, '2024-04-17': 0.12, '2024-04-18': -0.02, '2024-04-19': 0.03, '2024-04-20': 0.08, '2024-04-21': 0.12, '2024-04-22': 0.05, '2024-04-23': 0.06, '2024-04-24': 0.02, '2024-04-25': 0.08, '2024-04-26': 0.1, '2024-04-27': 0.07, '2024-04-28': 0.08, '2024-04-29': 0.09, '2024-04-30': 0.03, '2024-05-01': 0.0, '2024-05-02': -0.02, '2024-05-03': 0.13, '2024-05-04': -0.03, '2024-05-05': 0.09, '2024-05-06': 0.0, '2024-05-07': 0.05, '2024-05-08': 0.05, '2024-05-09': 0.08, '2024-05-10': 0.04, '2024-05-11': 0.08, '2024-05-12': 0.09, '2024-05-13': 0.13, '2024-05-14': 0.09, '2024-05-15': 0.05, '2024-05-16': 0.11, '2024-05-17': 0.04, '2024-05-18': 0.08, '2024-05-19': 0.01, '2024-05-20': -0.01, '2024-05-21': 0.1, '2024-05-22': 0.12, '2024-05-23': 0.03, '2024-05-24': 0.03, '2024-05-25': 0.02, '2024-05-26': 0.03, '2024-05-27': 0.05, '2024-05-28': 0.12, '2024-05-29': 0.08, '2024-05-30': 0.12, '2024-05-31': 0.02, '2024-06-01': -0.03, '2024-06-02': 0.07, '2024-06-03': 0.09}, 2, 0.0, []], 0.062002], ['normal control 2', [[2022, 6, 30], [2022, 8, 9], {'2022-06-10': -0.01, '2022-06-11': 0.04, '2022-06-12': 0.03, '2022-06-13': 0.07, '2022-06-14': -0.02, '2022-06-15': 0.13, '2022-06-16': 0.11, '2022-06-17': 0.0, '2022-06-18': 0.09, '2022-06-19': 0.09, '2022-06-20': -0.03, '2022-06-21': 0.0, '2022-06-22': -0.03, '2022-06-23': 0.08, '2022-06-24': 0.04, '2022-06-25': 0.08, '2022-06-26': 0.01, '2022-06-27': 0.07, '2022-06-28': -0.02, '2022-06-29': 0.08, '2022-06-30': -0.01, '2022-07-01': -0.03, '2022-07-02': 0.0, '2022-07-03': 0.05, '2022-07-04': 0.0, '2022-07-05': 0.09, '2022-07-06': 0.1, '2022-07-07': -0.03, '2022-07-08': 0.0, '2022-07-09': -0.02, '2022-07-10': 0.1, '2022-07-11': 0.07, '2022-07-12': 0.09, '2022-07-13': 0.11, '2022-07-14': 0.12, '2022-07-15': -0.01, '2022-07-16': -0.01, '2022-07-17': 0.08, '2022-07-18': -0.01, '2022-07-19': 0.05, '2022-07-20': 0.11, '2022-07-21': 0.01, '2022-07-22': 0.11, '2022-07-23': 0.1, '2022-07-24': -0.03, '2022-07-25': 0.01, '2022-07-26': 0.03, '2022-07-27': 0.08, '2022-07-28': 0.11, '2022-07-29': 0.03, '2022-07-30': 0.1, '2022-07-31': 0.01, '2022-08-01': -0.03, '2022-08-02': 0.06, '2022-08-03': -0.02, '2022-08-04': 0.1, '2022-08-05': 0.04, '2022-08-06': 0.12, '2022-08-07': 0.03, '2022-08-08': 0.07, '2022-08-09': 0.01}, 2, 0.0, []], 0.053001], ['normal control 3', [[2026, 2, 24], [2026, 3, 11], {'2026-02-04': 4.24, '2026-02-05': 4.26, '2026-02-06': 4.37, '2026-02-07': 4.32, '2026-02-08': 4.22, '2026-02-09': 4.29, '2026-02-10': 4.35, '2026-02-11': 4.25, '2026-02-12': 4.23, '2026-02-13': 4.22, '2026-02-14': 4.26, '2026-02-15': 4.28, '2026-02-16': 4.23, '2026-02-17': 4.31, '2026-02-18': 4.23, '2026-02-19': 4.36, '2026-02-20': 4.24, '2026-02-21': 4.27, '2026-02-22': 4.28, '2026-02-23': 4.24, '2026-02-24': 4.24, '2026-02-25': 4.36, '2026-02-26': 4.3, '2026-02-27': 4.27, '2026-02-28': 4.37, '2026-03-01': 4.31, '2026-03-02': 4.3, '2026-03-03': 4.24, '2026-03-04': 4.27, '2026-03-05': 4.34, '2026-03-06': 4.32, '2026-03-07': 4.24, '2026-03-08': 4.24, '2026-03-09': 4.35, '2026-03-10': 4.26, '2026-03-11': 4.35}, 0, 0.0, []], 4.298717], ['normal control 4', [[2027, 5, 4], [2027, 6, 4], {'2027-04-14': 5.34, '2027-04-15': 5.38, '2027-04-16': 5.29, '2027-04-17': 5.27, '2027-04-18': 5.24, '2027-04-19': 5.23, '2027-04-20': 5.32, '2027-04-21': 5.37, '2027-04-22': 5.25, '2027-04-23': 5.26, '2027-04-24': 5.32, '2027-04-25': 5.28, '2027-04-26': 5.29, '2027-04-27': 5.3, '2027-04-28': 5.26, '2027-04-29': 5.23, '2027-04-30': 5.37, '2027-05-01': 5.38, '2027-05-02': 5.25, '2027-05-03': 5.25, '2027-05-04': 5.32, '2027-05-05': 5.27, '2027-05-06': 5.38, '2027-05-07': 5.29, '2027-05-08': 5.38, '2027-05-09': 5.38, '2027-05-10': 5.3, '2027-05-11': 5.23, '2027-05-12': 5.25, '2027-05-13': 5.25, '2027-05-14': 5.23, '2027-05-15': 5.24, '2027-05-16': 5.35, '2027-05-17': 5.32, '2027-05-18': 5.33, '2027-05-19': 5.3, '2027-05-20': 5.33, '2027-05-21': 5.26, '2027-05-22': 5.24, '2027-05-23': 5.35, '2027-05-24': 5.24, '2027-05-25': 5.26, '2027-05-26': 5.24, '2027-05-27': 5.38, '2027-05-28': 5.34, '2027-05-29': 5.33, '2027-05-30': 5.23, '2027-05-31': 5.38, '2027-06-01': 5.31, '2027-06-02': 5.29, '2027-06-03': 5.3, '2027-06-04': 5.27}, 2, 0.0, [[2027, 5, 24], [2027, 5, 11]]], 5.306784]], [['regression spread placement 1', [[2026, 1, 12], [2026, 1, 22], {'2025-12-23': -0.02, '2025-12-24': 0.07, '2025-12-25': -0.03, '2025-12-26': 0.01, '2025-12-27': 0.08, '2025-12-28': -0.03, '2025-12-29': 0.04, '2025-12-30': 0.1, '2025-12-31': 0.0, '2026-01-01': 0.08, '2026-01-02': 0.02, '2026-01-03': 0.04, '2026-01-04': -0.01, '2026-01-05': -0.03, '2026-01-06': 0.0, '2026-01-07': -0.02, '2026-01-08': 0.03, '2026-01-09': 0.03, '2026-01-10': 0.13, '2026-01-11': 0.11, '2026-01-12': 0.13, '2026-01-13': 0.11, '2026-01-14': 0.01, '2026-01-15': 0.02, '2026-01-16': -0.02, '2026-01-17': 0.09, '2026-01-18': -0.01, '2026-01-19': 0.13, '2026-01-20': -0.01, '2026-01-21': 0.0, '2026-01-22': -0.02}, 5, 0.25, []], 0.282], ['regression spread placement 2', [[2026, 8, 31], [2026, 9, 17], {'2026-08-11': 0.03, '2026-08-12': 0.05, '2026-08-13': -0.03, '2026-08-14': -0.01, '2026-08-15': 0.07, '2026-08-16': -0.01, '2026-08-17': 0.0, '2026-08-18': 0.09, '2026-08-19': 0.0, '2026-08-20': -0.02, '2026-08-21': 0.11, '2026-08-22': 0.03, '2026-08-23': 0.03, '2026-08-24': 0.1, '2026-08-25': -0.03, '2026-08-26': 0.04, '2026-08-27': 0.01, '2026-08-28': 0.0, '2026-08-29': 0.06, '2026-08-30': 0.11, '2026-08-31': 0.03, '2026-09-01': -0.03, '2026-09-02': 0.13, '2026-09-03': 0.12, '2026-09-04': 0.11, '2026-09-05': 0.12, '2026-09-06': 0.03, '2026-09-07': 0.13, '2026-09-08': 0.11, '2026-09-09': 0.08, '2026-09-10': 0.09, '2026-09-11': 0.0, '2026-09-12': 0.01, '2026-09-13': 0.06, '2026-09-14': 0.03, '2026-09-15': 0.03, '2026-09-16': 0.07, '2026-09-17': 0.06}, 2, 0.1, []], 0.172354], ['partial repair probe 1', [[2023, 6, 8], [2023, 6, 12], {'2023-05-19': 5.31, '2023-05-20': 5.28, '2023-05-21': 5.3, '2023-05-22': 5.29, '2023-05-23': 5.34, '2023-05-24': 5.39, '2023-05-25': 5.23, '2023-05-26': 5.26, '2023-05-27': 5.3, '2023-05-28': 5.25, '2023-05-29': 5.29, '2023-05-30': 5.3, '2023-05-31': 5.23, '2023-06-01': 5.34, '2023-06-02': 5.23, '2023-06-03': 5.35, '2023-06-04': 5.33, '2023-06-05': 5.3, '2023-06-06': 5.37, '2023-06-07': 5.24, '2023-06-08': 5.28, '2023-06-09': 5.37, '2023-06-10': 5.27, '2023-06-11': 5.38, '2023-06-12': 5.29}, 2, 0.25, [[2023, 6, 9]]], 5.62], ['partial repair probe 2', [[2022, 6, 29], [2022, 7, 1], {'2022-06-09': 1.61, '2022-06-10': 1.51, '2022-06-11': 1.52, '2022-06-12': 1.58, '2022-06-13': 1.59, '2022-06-14': 1.62, '2022-06-15': 1.54, '2022-06-16': 1.58, '2022-06-17': 1.57, '2022-06-18': 1.5, '2022-06-19': 1.61, '2022-06-20': 1.63, '2022-06-21': 1.48, '2022-06-22': 1.58, '2022-06-23': 1.56, '2022-06-24': 1.47, '2022-06-25': 1.49, '2022-06-26': 1.5, '2022-06-27': 1.62, '2022-06-28': 1.53, '2022-06-29': 1.62, '2022-06-30': 1.57, '2022-07-01': 1.55}, 2, 0.1, [[2022, 6, 30], [2022, 6, 30], [2022, 6, 30]]], 1.72], ['normal control 1', [[2029, 1, 1], [2029, 1, 8], {'2028-12-12': 0.07, '2028-12-13': 0.02, '2028-12-14': 0.03, '2028-12-15': 0.1, '2028-12-16': 0.02, '2028-12-17': 0.0, '2028-12-18': 0.03, '2028-12-19': -0.03, '2028-12-20': 0.11, '2028-12-21': 0.11, '2028-12-22': 0.09, '2028-12-23': 0.02, '2028-12-24': 0.0, '2028-12-25': 0.04, '2028-12-26': 0.03, '2028-12-27': -0.02, '2028-12-28': 0.09, '2028-12-29': -0.01, '2028-12-30': -0.01, '2028-12-31': 0.06, '2029-01-01': -0.01, '2029-01-02': 0.02, '2029-01-03': 0.06, '2029-01-04': 0.01, '2029-01-05': 0.08, '2029-01-06': 0.13, '2029-01-07': 0.05, '2029-01-08': 0.11}, 5, 0.0, []], 0.015714], ['normal control 2', [[2023, 7, 7], [2023, 8, 15], {'2023-06-17': -0.03, '2023-06-18': -0.03, '2023-06-19': 0.13, '2023-06-20': 0.03, '2023-06-21': 0.06, '2023-06-22': 0.06, '2023-06-23': -0.01, '2023-06-24': 0.07, '2023-06-25': 0.02, '2023-06-26': 0.11, '2023-06-27': 0.05, '2023-06-28': -0.02, '2023-06-29': 0.08, '2023-06-30': 0.0, '2023-07-01': -0.03, '2023-07-02': 0.03, '2023-07-03': 0.08, '2023-07-04': 0.04, '2023-07-05': 0.09, '2023-07-06': 0.02, '2023-07-07': 0.04, '2023-07-08': 0.02, '2023-07-09': 0.12, '2023-07-10': 0.13, '2023-07-11': -0.01, '2023-07-12': 0.11, '2023-07-13': 0.04, '2023-07-14': 0.04, '2023-07-15': 0.07, '2023-07-16': -0.01, '2023-07-17': 0.07, '2023-07-18': 0.09, '2023-07-19': -0.03, '2023-07-20': 0.05, '2023-07-21': 0.01, '2023-07-22': 0.02, '2023-07-23': -0.03, '2023-07-24': 0.09, '2023-07-25': 0.09, '2023-07-26': 0.07, '2023-07-27': 0.1, '2023-07-28': 0.06, '2023-07-29': 0.01, '2023-07-30': 0.03, '2023-07-31': -0.02, '2023-08-01': 0.0, '2023-08-02': 0.0, '2023-08-03': 0.11, '2023-08-04': -0.03, '2023-08-05': 0.13, '2023-08-06': 0.06, '2023-08-07': 0.1, '2023-08-08': 0.09, '2023-08-09': 0.06, '2023-08-10': 0.02, '2023-08-11': 0.0, '2023-08-12': 0.04, '2023-08-13': 0.07, '2023-08-14': 0.11, '2023-08-15': -0.01}, 0, 0.0, [[2023, 7, 26], [2023, 8, 11]]], 0.043847], ['normal control 3', [[2027, 11, 5], [2027, 12, 6], {'2027-10-16': 4.25, '2027-10-17': 4.23, '2027-10-18': 4.38, '2027-10-19': 4.23, '2027-10-20': 4.26, '2027-10-21': 4.37, '2027-10-22': 4.28, '2027-10-23': 4.25, '2027-10-24': 4.34, '2027-10-25': 4.34, '2027-10-26': 4.33, '2027-10-27': 4.24, '2027-10-28': 4.38, '2027-10-29': 4.38, '2027-10-30': 4.3, '2027-10-31': 4.37, '2027-11-01': 4.35, '2027-11-02': 4.26, '2027-11-03': 4.27, '2027-11-04': 4.32, '2027-11-05': 4.31, '2027-11-06': 4.29, '2027-11-07': 4.29, '2027-11-08': 4.25, '2027-11-09': 4.38, '2027-11-10': 4.33, '2027-11-11': 4.22, '2027-11-12': 4.29, '2027-11-13': 4.23, '2027-11-14': 4.33, '2027-11-15': 4.26, '2027-11-16': 4.29, '2027-11-17': 4.24, '2027-11-18': 4.33, '2027-11-19': 4.32, '2027-11-20': 4.31, '2027-11-21': 4.27, '2027-11-22': 4.3, '2027-11-23': 4.26, '2027-11-24': 4.25, '2027-11-25': 4.35, '2027-11-26': 4.35, '2027-11-27': 4.34, '2027-11-28': 4.38, '2027-11-29': 4.36, '2027-11-30': 4.26, '2027-12-01': 4.36, '2027-12-02': 4.24, '2027-12-03': 4.3, '2027-12-04': 4.35, '2027-12-05': 4.23, '2027-12-06': 4.22}, 0, 0.0, [[2027, 12, 3], [2027, 12, 1]]], 4.301248], ['normal control 4', [[2022, 2, 2], [2022, 2, 3], {'2022-01-13': 4.36, '2022-01-14': 4.36, '2022-01-15': 4.22, '2022-01-16': 4.36, '2022-01-17': 4.23, '2022-01-18': 4.35, '2022-01-19': 4.22, '2022-01-20': 4.38, '2022-01-21': 4.27, '2022-01-22': 4.25, '2022-01-23': 4.38, '2022-01-24': 4.26, '2022-01-25': 4.22, '2022-01-26': 4.33, '2022-01-27': 4.34, '2022-01-28': 4.35, '2022-01-29': 4.36, '2022-01-30': 4.24, '2022-01-31': 4.33, '2022-02-01': 4.29, '2022-02-02': 4.27, '2022-02-03': 4.22}, 2, 0.0, []], 4.33]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression spread placement 10.3273710.327371Passed
regression spread placement 24.558394.55839Passed
partial repair probe 14.464.46Passed
partial repair probe 24.414.41Passed
normal control 10.055430.05543Passed
normal control 25.3198245.319824Passed
normal control 34.2336664.233666Passed
normal control 44.364.36Passed

SHA-256 / e2f56d1c96a38d37bac970f89d21d2ea13b0c432c4aa9a4854c5e291b9d11ea5

Verification & scope

A deterministic toy contract stated explicitly in the contract field; no claim of conformance to any published convention text. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:46:51.231134+00:00.

Case digest / 07bfc20e42128cfd88d34a0630853432d2f51ea67ce8696619f4656d7e0e988d