%run fetch_rates.py
Connecting to IB Gateway on 127.0.0.1:4002 (Paper Trading)...

Fetching FED (ZQ on CBOT)...
  ✓ ZQV6: 96.1150 (Implied: 3.885%)
  ✓ ZQX6: 96.0750 (Implied: 3.925%)
  ✓ ZQZ6: 95.9300 (Implied: 4.07%)
  ✓ ZQF7: 95.8600 (Implied: 4.14%)
  ✓ ZQG7: 95.7700 (Implied: 4.23%)
  ✓ ZQH7: 95.6900 (Implied: 4.31%)
  ✓ ZQJ7: 95.5900 (Implied: 4.41%)
  ✓ ZQK7: 95.5000 (Implied: 4.5%)

Fetching ECB (ST3 on EUREX)...
  ✓ FST3 20261216 M: 97.5400 (Implied: 2.46%)
  ✓ FST3 20270317 M: 97.3000 (Implied: 2.7%)
  ✓ FST3 20270616 M: 97.0450 (Implied: 2.955%)
  ✓ FST3 20270915 M: 96.8850 (Implied: 3.115%)
  ✓ FST3 20271215 M: 96.8125 (Implied: 3.1875%)

Fetching BOE (SONIA.N on ICEEU)...
  ✓ SO3U6: 96.1500 (Implied: 3.85%)
  ✓ SO3Z6: 95.7950 (Implied: 4.205%)
  ✓ SO3H7: 95.4500 (Implied: 4.55%)
  ✓ SO3M7: 95.2500 (Implied: 4.75%)
  ✓ SO3U7: 95.1550 (Implied: 4.845%)

Fetching BOJ (TONA on OSE.JPN)...
  ✓ 161090091: 98.7850 (Implied: 1.215%)
  ✓ 161120091: 98.5300 (Implied: 1.47%)
  ✓ 162030091: 98.2950 (Implied: 1.705%)
  ✓ 162060091: 98.1050 (Implied: 1.895%)
  ✓ 162090091: 97.9725 (Implied: 2.0275%)

Fetching RBA (IB on SNFE)...
  ✓ IBV6: 95.4050 (Implied: 4.595%)
  ✓ IBX6: 95.3400 (Implied: 4.66%)
  ✓ IBZ6: 95.2950 (Implied: 4.705%)
  ✓ IBF7: 95.2850 (Implied: 4.715%)
  ✓ IBG7: 95.2350 (Implied: 4.765%)
  ✓ IBH7: 95.2050 (Implied: 4.795%)
  ✓ IBJ7: 95.1800 (Implied: 4.82%)
  ✓ IBK7: 95.1400 (Implied: 4.86%)

Fetching BOC (CRA on CDE)...
  ✓ CRAU26: 97.6650 (Implied: 2.335%)
  ✓ CRAZ26: 97.3950 (Implied: 2.605%)
  ✓ CRAH27: 97.1150 (Implied: 2.885%)
  ✓ CRAM27: 96.9100 (Implied: 3.09%)
  ✓ CRAU27: 96.7500 (Implied: 3.25%)

Fetching SNB (SARON on EUREX)...
  ✓ FSR3 20261215 M: 100.0450 (Implied: -0.045%)
  ✓ FSR3 20270316 M: 99.9750 (Implied: 0.025%)
  ✓ FSR3 20270615 M: 99.8150 (Implied: 0.185%)
  ✓ FSR3 20270914 M: 99.6350 (Implied: 0.365%)
  ✓ FSR3 20271214 M: 99.4900 (Implied: 0.51%)

Disconnected from IB Gateway.

🎉 Successfully saved 41 contract quotes to data/raw_rates.csv
   central_bank contract_month     local_symbol        date  settle_price  \
0           FED         202610             ZQV6  2026-10-11       96.1150   
1           FED         202611             ZQX6  2026-10-11       96.0750   
2           FED         202612             ZQZ6  2026-10-11       95.9300   
3           FED         202701             ZQF7  2026-10-11       95.8600   
4           FED         202702             ZQG7  2026-10-11       95.7700   
5           FED         202703             ZQH7  2026-10-11       95.6900   
6           FED         202704             ZQJ7  2026-10-11       95.5900   
7           FED         202705             ZQK7  2026-10-11       95.5000   
8           ECB         202609  FST3 20261216 M  2026-10-11       97.5400   
9           ECB         202612  FST3 20270317 M  2026-10-11       97.3000   
10          ECB         202703  FST3 20270616 M  2026-10-11       97.0450   
11          ECB         202706  FST3 20270915 M  2026-10-11       96.8850   
12          ECB         202709  FST3 20271215 M  2026-10-11       96.8125   
13          BOE         202609            SO3U6  2026-10-11       96.1500   
14          BOE         202612            SO3Z6  2026-10-11       95.7950   
15          BOE         202703            SO3H7  2026-10-11       95.4500   
16          BOE         202706            SO3M7  2026-10-11       95.2500   
17          BOE         202709            SO3U7  2026-10-11       95.1550   
18          BOJ         202609        161090091  2026-10-11       98.7850   
19          BOJ         202612        161120091  2026-10-11       98.5300   
20          BOJ         202703        162030091  2026-10-11       98.2950   
21          BOJ         202706        162060091  2026-10-11       98.1050   
22          BOJ         202709        162090091  2026-10-11       97.9725   
23          RBA         202610             IBV6  2026-10-11       95.4050   
24          RBA         202611             IBX6  2026-10-11       95.3400   
25          RBA         202612             IBZ6  2026-10-11       95.2950   
26          RBA         202701             IBF7  2026-10-11       95.2850   
27          RBA         202702             IBG7  2026-10-11       95.2350   
28          RBA         202703             IBH7  2026-10-11       95.2050   
29          RBA         202704             IBJ7  2026-10-11       95.1800   
30          RBA         202705             IBK7  2026-10-11       95.1400   
31          BOC         202609           CRAU26  2026-10-11       97.6650   
32          BOC         202612           CRAZ26  2026-10-11       97.3950   
33          BOC         202703           CRAH27  2026-10-11       97.1150   
34          BOC         202706           CRAM27  2026-10-11       96.9100   
35          BOC         202709           CRAU27  2026-10-11       96.7500   
36          SNB         202609  FSR3 20261215 M  2026-10-11      100.0450   
37          SNB         202612  FSR3 20270316 M  2026-10-11       99.9750   
38          SNB         202703  FSR3 20270615 M  2026-10-11       99.8150   
39          SNB         202706  FSR3 20270914 M  2026-10-11       99.6350   
40          SNB         202709  FSR3 20271214 M  2026-10-11       99.4900   

    implied_rate  
0         3.8850  
1         3.9250  
2         4.0700  
3         4.1400  
4         4.2300  
5         4.3100  
6         4.4100  
7         4.5000  
8         2.4600  
9         2.7000  
10        2.9550  
11        3.1150  
12        3.1875  
13        3.8500  
14        4.2050  
15        4.5500  
16        4.7500  
17        4.8450  
18        1.2150  
19        1.4700  
20        1.7050  
21        1.8950  
22        2.0275  
23        4.5950  
24        4.6600  
25        4.7050  
26        4.7150  
27        4.7650  
28        4.7950  
29        4.8200  
30        4.8600  
31        2.3350  
32        2.6050  
33        2.8850  
34        3.0900  
35        3.2500  
36       -0.0450  
37        0.0250  
38        0.1850  
39        0.3650  
40        0.5100  
%run snb_rate_engine.py
Loaded 5 SNB futures quotes from data/raw_rates.csv (As-of Date: 2026-10-11)
✓ Saved SNB implied curve to data/snb_implied_curve.csv
✓ Saved SNB probability distribution to data/snb_probabilities.csv

--- IMPLIED SNB POLICY RATE SCHEDULE ---
                meeting_name meeting_date  implied_rate
SNB Assessment: Dec 10, 2026   2026-12-10         0.065
SNB Assessment: Mar 18, 2027   2027-03-18         0.229
SNB Assessment: Jun 17, 2027   2027-06-17         0.409
SNB Assessment: Sep 23, 2027   2027-09-23         0.565

--- TARGET PROBABILITY MATRIX (%) ---
meeting_name  SNB Assessment: Dec 10, 2026  SNB Assessment: Jun 17, 2027  \
target_rate                                                                
0.00%                                 74.0                          7.13   
0.25%                                 26.0                         34.42   
0.50%                                  0.0                         46.17   
0.75%                                  0.0                         12.28   
1.00%                                  0.0                          0.00   

meeting_name  SNB Assessment: Mar 18, 2027  SNB Assessment: Sep 23, 2027  
target_rate                                                               
0.00%                                25.46                          2.68  
0.25%                                57.49                         17.39  
0.50%                                17.06                         38.84  
0.75%                                 0.00                         33.43  
1.00%                                 0.00                          7.66