# KISS 2.1 confirmation-policy validation

> Historical note: KISS 2.3 keeps the two-close reduction and five-close increase thresholds but tracks them independently for each sleeve. This document records the portfolio-target implementation used by KISS 2.1 and 2.2.

## Decision

Promote the asymmetric confirmation policy as `kiss-2.1.0`:

- reduce total portfolio risk after a target persists for two closes;
- add total portfolio risk after a target persists for five closes;
- require five closes for rotations whose total risk is unchanged;
- implement every confirmed target on the next trading session.

The policy applies to the canonical current allocation, daily notifications, and both Portfolio Performance simulations. The raw signal target remains available separately, including pending confirmation progress.

## Why this rule

The goal was lower turnover without giving up the model's defensive response. The five-close risk-addition gate sits inside a stable neighborhood: 2-out/4-in, 2-out/5-in, and 2-out/6-in all reduced events and retained similar drawdown behavior. Although six closes produced the highest full-period CAGR in this sample, five was selected because it was the requested candidate, materially reduced turnover, and avoided choosing the single best historical result.

All figures below are retrospective current-input reconstructions, not published-live signals or audited performance. The comparison runs from January 2, 2018 through December 31, 2025, with inputs fetched from January 2013 for warmup. It uses adjusted-total-return ETFs, DGS3MO cash accrual, 5 basis points of transaction cost, 5 basis points of slippage, and next-session execution.

## 60/30/10 results

| Window | Rule | Rebalances | CAGR | Maximum drawdown |
| --- | --- | ---: | ---: | ---: |
| 2018–2025 | 2-out/2-in | 262 | 11.60% | -10.39% |
| 2018–2025 | 2-out/5-in | 149 | 12.54% | -9.22% |
| 2018–2019 | 2-out/2-in | 73 | 1.96% | -10.37% |
| 2018–2019 | 2-out/5-in | 41 | 3.46% | -7.96% |
| 2020–2021 | 2-out/2-in | 68 | 17.36% | -8.49% |
| 2020–2021 | 2-out/5-in | 41 | 20.11% | -8.01% |
| 2022 | 2-out/2-in | 28 | -3.71% | -4.47% |
| 2022 | 2-out/5-in | 12 | -0.93% | -2.66% |
| 2023–2025 | 2-out/2-in | 96 | 20.54% | -6.73% |
| 2023–2025 | 2-out/5-in | 57 | 19.10% | -6.65% |
| Official 2020–2025 sample | 2-out/2-in | 190 | 14.96% | -10.39% |
| Official 2020–2025 sample | 2-out/5-in | 108 | 15.69% | -9.22% |

Across 2018–2025, events fell 43%, turnover fell from 55.91 to 34.10 portfolio turns, and Sortino rose from 1.87 to 2.17. The post-2022 window is an important counterexample: confirmation reduced events and slightly improved drawdown, but CAGR was 1.44 percentage points lower. The rule is therefore a turnover and whipsaw policy, not a claim of universal return improvement.

## Portfolio-variant check

| Portfolio | Rule | Rebalances | Turnover | CAGR | Maximum drawdown | Sortino |
| --- | --- | ---: | ---: | ---: | ---: | ---: |
| 60/30/10 | 2-out/2-in | 262 | 55.91 | 11.60% | -10.39% | 1.87 |
| 60/30/10 | 2-out/5-in | 149 | 34.10 | 12.54% | -9.22% | 2.17 |
| 40/30/30 | 2-out/2-in | 262 | 53.49 | 16.48% | -21.52% | 1.70 |
| 40/30/30 | 2-out/5-in | 149 | 32.90 | 16.15% | -19.52% | 1.76 |

The 40/30/30 check gives the clearest tradeoff. It preserves the 43% event reduction and improves drawdown by about 2 percentage points, while CAGR declines by 0.33 percentage points. That is consistent with the stated preference for less rebalancing even without a large CAGR improvement.

## Reproduction

```sh
MACRO_FRED_ALLOW_CSV_FALLBACK=1 npm run analyze:kiss-2018
```

The command fetches the public inputs, rebuilds the diagnostic 2018–2025 history from a 2013 warmup, and prints full-precision sensitivity, validation-window, portfolio-variant, and gold-provenance results as JSON.

## Limitations

- Results are sensitive to the public proxies and current transformations and include hindsight in choosing a confirmation policy.
- Five-close confirmation can enter a rapid recovery later than the raw signal.
- The diagnostic range starts in 2018, while the promoted production history starts on the first trading day of 2020.
- The comparison cannot reproduce 42 Macro's proprietary inputs or exact trading implementation.
