# 第4号：金融データの最終監査

監査日：2026年11月6日（JST）。対象はPR #3の固定入力と計算。main・Pages設定・公開内容は変更していません。

## 判定

元の計算結果に重大な不整合はありません。取得時の圧縮原応答4件をSHA-256で検証し、CSVの16,205個の値が元の終値・調整後終値・為替と一致しました。独立した50桁精度のDecimal計算でも、USD/JPYの累積倍率・CAGR・最大DD・高値/底値/回復日が整合しました。

ただし、再取得時のadjusted closeの微差と、別の分配金再投資仮定との差を確認したため、本文と再現手順へ追記しています。元の固定データ・基準方式・主結果は置き換えていません。

## 取得記録

| 系列 | 最初の取得時刻（JST） | 件数 | 出典 |
|---|---|---:|---|
| BTC-USD | 2026-11-06T23:05:51.603568+09:00 | 3652 | [取得URL](https://query1.finance.yahoo.com/v8/finance/chart/BTC-USD?period1=1477872000&period2=1793404800&interval=1d&events=div%2Csplits) |
| SPY | 2026-11-06T23:05:51.557937+09:00 | 2514 | [取得URL](https://query1.finance.yahoo.com/v8/finance/chart/SPY?period1=1477872000&period2=1793404800&interval=1d&events=div%2Csplits) |
| ACWI | 2026-11-06T23:05:51.343839+09:00 | 2514 | [取得URL](https://query1.finance.yahoo.com/v8/finance/chart/ACWI?period1=1477872000&period2=1793404800&interval=1d&events=div%2Csplits) |
| FED_JPY | 2026-11-06T23:07:03.354531+09:00 | 2497 | [取得URL](https://www.federalreserve.gov/releases/h10/hist/dat00_ja.htm) |

原応答はraw/のgzipファイルに保存。解凍したバイト列のハッシュをsources.jsonと照合できます。外部の取得失敗を値で埋めていません。FRED CSVの404は既存の取得記録に残し、成功したFederal Reserve H.10の表を使っています。

## 比較基準と資産額/CAGRの整合

期間は2016-10-31〜2026-10-30、3651暦日、全資産共通の2486観測日です。欠測の補完なし。主比較は同じ日のUSD系列とUSD/JPYを使いますが、BTC・ETF・為替の評価時刻は一致しません。

`F = 1,000,000 × (USD_end / USD_start) × (FX_end / FX_start)`

`CAGR = (F / 1,000,000)^(365.2425 / 3651) - 1`

`F = 1,000,000 × (1 + CAGR)^(3651 / 365.2425)` への逆算も50桁で確認しました。表のCAGRは表示上丸めるため、表示値だけを使った逆算では円単位まで一致しないことがあります。

| 対象 | USD累積倍率 | USD CAGR | JPY期末額 | JPY CAGR |
|---|---:|---:|---:|---:|
| BTC | 110.130237163 | 60.055408399% | 165,053,854.059507円 | 66.666809495% |
| SPY | 4.163362778 | 15.336987190% | 6,239,694.837771円 | 20.101206601% |
| ACWI | 3.239468586 | 12.477926403% | 4,855,040.622063円 | 17.124046726% |

株式側の入力はSPY/ACWIの分配金等調整後市場価格。指数そのもの、NAV、国内投資信託、投資家の税引後収益ではありません。運用費用をもう一度引かず、売買費用・為替スプレッド・投資家税も加えていません。

## 分配金と株式分割

| 対象 | 分配金イベント | 株式分割イベント | 日次調整係数の最大相対差 |
|---|---:|---:|---:|
| SPY | 40 | 0 | 0.000057452% |
| ACWI | 22 | 0 | 0.000048323% |

権利落ち日の分配金と前日終値から調整係数を遡って再構成し、各日を提供値と照合しました。株式分割を単に見落として放置したのではなく、原応答上のイベントが0件であることを確認しました。他の銘柄で分割が存在する場合、この取得・監査コードは未対応として失敗し、未検証の数値を通しません。

別の感応度確認として、配信された現金分配を権利落ち日終値で税引前再投資する仮定を置きました。調整後終値方式の期末倍率はこの方式に比べSPYで約0.0671%、ACWIで約0.0399%低い結果です。どちらも実際の支払日・源泉税・端数口数を再現するものではなく、本文の基準方式は変更しません。

## 最大ドローダウンと回復

`DD(t) = value(t) / max(value(s): s <= t) - 1` の最小値。JPYでは各日のUSD系列とその日の為替を掛けてから計算しています。米ドルのDDへ期末の為替を後付けしたものではありません。

| 対象 | USD最大DD | JPY最大DD | JPY高値日 | JPY底値日 | JPY回復日 | 高値→回復 |
|---|---:|---:|---|---|---|---:|
| BTC | -83.036251% | -82.892874% | 2017-12-18 | 2018-12-14 | 2020-12-16 | 1094日 |
| SPY | -33.717264% | -33.741320% | 2020-02-20 | 2020-03-23 | 2020-09-01 | 194日 |
| ACWI | -33.525033% | -33.720945% | 2020-02-20 | 2020-03-16 | 2020-11-09 | 263日 |

独立計算は過去高値を求めて最大下落の底値を特定し、その高値に戻る最初の日を調べました。日中安値や期間外の危機は対象外です。BTCの全暦日USD最大DD -83.399009%と、共通日だけのUSD最大DD -83.036251%は区別します。

## 再取得との差

再取得の入力CSVと取得記録をaudit-refetch/へ別保存しました。元の固定CSVは上書きしていません。

| 系列 | 値が変わった観測数 | 最大相対差 |
|---|---:|---:|
| btc_usd | 0 | 0.000000000% |
| spy_close_usd | 0 | 0.000000000% |
| spy_adjusted_usd | 1844 | 0.000079659% |
| acwi_close_usd | 0 | 0.000000000% |
| acwi_adjusted_usd | 1527 | 0.000057480% |
| usd_jpy | 0 | 0.000000000% |

| 対象 | 再取得値による期末額 | 元の固定値との差 |
|---|---:|---:|
| BTC | 165,053,854.059507円 | +0.000000円 |
| SPY | 6,239,695.362297円 | +0.524526円 |
| ACWI | 4,855,042.544539円 | +1.922476円 |

元の原応答からの再現と、提供元が後から同じ値を返すことは別です。ETF調整後価格の微差の原因は確認できていません。原因を丸め処理などと推測していません。CAGR・DDの小数点以下2桁の表示と回復日は変わりません。

## 再現コマンド

```
python scripts/audit_long_term.py --check
python scripts/analyze_long_term.py --check
python -m unittest discover -s tests -v
```

監査コードは分析モジュールをimportせず、標準ライブラリだけで計算します。結果の全桁はaudit.json、原応答のハッシュと元の取得時刻はsources.json、再取得の日時はaudit-refetch/sources.jsonを参照してください。

これは提供元系列と計算処理の監査で、全日次値を別取引所・指数会社の原系列と独立照合したものではありません。実際の売買約定、税引後再投資、将来の収益や安全性の保証は検証対象に含みません。
