Q25, run 2026-11-05-2135-sonnet

← back to the run

How many instruments held an investment-grade rating on 1 October 2026?

Tests: Instrument ratings: counted on the instrument's own rating, not its issuer's.

Expected: count = 66

✅ R1 csv run 1 graded by code

66 instruments held an investment-grade rating. I counted the latest INST rating per instrument and excluded EX-only rows (see Q47).

JSON: {"count": 66}

✅ R1 csv run 2 graded by code

66 instruments. This counts instruments whose latest INST action on or before 2026-10-01 is BBB- or better and is not an EX. Instruments whose only action is an EX are treated as not rated at that date.

JSON: {"count": 66}

✅ R1 csv run 3 graded by code

66. I count the latest INST rating of each instrument and treat EX actions as expected, not final, ratings, so I exclude them.

JSON: {"count": 66}

✅ R1 csv run 4 graded by code

66. These are the instruments whose latest rating on 2026-10-01 was BBB- or higher. Instruments with an EX action are treated as no longer rated.

JSON: {"count": 66}

✅ R1 csv run 5 graded by code

66. This is the number of instruments rated BBB- or higher on 2026-10-01. Instruments with only an EX action are not counted, because EX looks like an expected or provisional rating that the data does not define.

JSON: {"count": 66}

✅ R2 rdf run 1 graded by code

66. Instruments with a latest rating of BBB- or better on 2026-10-01, excluding those whose rating has expired (EX records).

JSON: {"count": 66}

❌ R2 rdf run 2 graded by code

68. This counts instruments whose latest rating on 2026-10-01 was BBB- or higher, excluding six that had expired (EX) by then. The six are I08, I1008, I1012, I1021, I1046 and I1049; I1001, I1007 and I1015 expire after 1 October, so they still count.

JSON: {"count": 68}

Why: count: expected 66, got 68

✅ R2 rdf run 3 graded by code

66 instruments. I excluded instruments whose only action is EX, because the data does not define EX and an expected or expired rating is not a held rating.

JSON: {"count": 66}

❌ R2 rdf run 4 graded by code

68. This counts instruments whose latest rating is BBB- or higher on 1 Oct 2026. I excluded the six already expired (I08, I1008, I1012, I1021, I1046, I1049) and kept three whose EX dates are after 1 Oct (I1001, I1007, I1015).

JSON: {"count": 68}

Why: count: expected 66, got 68

❌ R2 rdf run 5 graded by code

68. This is the count of instruments whose latest rating on 2026-10-01 was BBB- or higher. Instruments whose rating had expired (EX) before that date are excluded.

JSON: {"count": 68}

Why: count: expected 66, got 68

✅ R6 rdf+ontology run 1 graded by code

66. This counts instruments whose latest INST action rates BBB- or better; EX-only instruments are unrated.

JSON: {"count": 66}

✅ R6 rdf+ontology run 2 graded by code

66. This is the number of instruments whose latest non-EX action by 1 Oct 2026 is BBB- or higher.

JSON: {"count": 66}

✅ R6 rdf+ontology run 3 graded by code

66. Of the 106 instruments with an assigned rating, 40 are speculative grade. EX-only instruments are unrated.

JSON: {"count": 66}

✅ R6 rdf+ontology run 4 graded by code

66 instruments, counted from INST ratings in force on 2026-10-01. Instruments with only an EX action count as unrated.

JSON: {"count": 66}

✅ R6 rdf+ontology run 5 graded by code

66. Of 106 instruments with a rating, 40 are below BBB-. Instruments with only an Expected (EX) rating are unrated.

JSON: {"count": 66}

✅ R5 csv+ontology run 1 graded by code

66 instruments held an investment-grade rating. Expected (EX) actions do not count as ratings.

JSON: {"count": 66}

✅ R5 csv+ontology run 2 graded by code

66. These are the instruments whose latest non-EX rating is BBB- or higher.

JSON: {"count": 66}

✅ R5 csv+ontology run 3 graded by code

66. By latest INST action on 2026-10-01, 106 instruments are rated and 40 of those are below BBB-. Expected ratings (EX) don't count as rated.

JSON: {"count": 66}

✅ R5 csv+ontology run 4 graded by code

66. Of the 106 instruments with a rating on 2026-10-01, 40 are BB+ or below, using each instrument's latest INST action and ignoring EX.

JSON: {"count": 66}

✅ R5 csv+ontology run 5 graded by code

66. Counted from each instrument's latest INST action up to 2026-10-01, with expected-rating (EX) actions treated as unrated. Hand count, so treat as approximate.

JSON: {"count": 66}

✅ R4 csv+markdown run 1 graded by code

66. This counts instruments whose latest INST action on or before 2026-10-01 is BBB- or better; expected-rating (EX) rows are ignored.

JSON: {"count": 66}

✅ R4 csv+markdown run 2 graded by code

66. These are the instruments whose latest assigned rating is BBB- or higher. Expected-rating (EX) records do not count as ratings.

JSON: {"count": 66}

✅ R4 csv+markdown run 3 graded by code

66 instruments. This counts instruments whose latest INST rating on 1 Oct 2026 is BBB- or higher. EX actions are not ratings.

JSON: {"count": 66}

✅ R4 csv+markdown run 4 graded by code

66 instruments. Of the 106 rated instruments, 40 are below investment grade. Instruments with only an expected rating (EX) are unrated, and I used each instrument's own rating actions, including the guaranteed ones.

JSON: {"count": 66}

✅ R4 csv+markdown run 5 graded by code

66. Of the 106 rated instruments, 40 are speculative grade.

JSON: {"count": 66}

✅ R3 csv+padding run 1 graded by code

66. Of the 106 instruments rated on 2026-10-01, 40 are BB+ or lower.

JSON: {"count": 66}

✅ R3 csv+padding run 2 graded by code

66 instruments. Of the 106 rated instruments on 2026-10-01, 66 are rated BBB- or higher.

JSON: {"count": 66}

❌ R3 csv+padding run 3 graded by code

68. This counts the latest instrument ratings at BBB- or above on 2026-10-01 (5 of I01–I07, 63 of I1001–I1107); instruments expired before that date are excluded.

JSON: {"count": 68}

Why: count: expected 66, got 68

✅ R3 csv+padding run 4 graded by code

66. The latest instrument rating is BBB- or better for 5 of I01–I07 and 61 of the I10xx instruments. I treated EX (expired) as ending the rating.

JSON: {"count": 66}

✅ R3 csv+padding run 5 graded by code

66. This counts instruments whose latest INST action on or before 2026-10-01 is BBB- or better. I treated EX as the end of the rating, and instruments with only an EX action have no rating.

JSON: {"count": 66}

✅ R10 executed run 1 graded by code

66. I counted the instruments whose open rating on 1 Oct 2026 is BBB- or higher.

JSON: {"count": 66}

✅ R10 executed run 2 graded by code

66. Of the 106 instruments with an open rating, 40 are below BBB-.

JSON: {"count": 66}

✅ R10 executed run 3 graded by code

66 instruments held a rating of BBB- or higher on 1 Oct 2026.

JSON: {"count": 66}

✅ R10 executed run 4 graded by code

66 instruments, counting open instrument ratings of BBB- or higher.

JSON: {"count": 66}

✅ R10 executed run 5 graded by code

66. Of the 106 open instrument ratings, 66 are BBB- or better.

JSON: {"count": 66}

✅ R7 csv+neutral run 1 graded by code

66. By the latest instrument rating, 5 of the 7 rated instruments among I01–I08 are investment grade (I01, I03, I05, I06, I07), and so are 61 of the 99 rated among I1001–I1107. Expected ratings (EX) are not ratings.

JSON: {"count": 66}

✅ R7 csv+neutral run 2 graded by code

66. Of the 106 rated instruments, 66 are rated BBB- or higher on 2026-10-01.

JSON: {"count": 66}

✅ R7 csv+neutral run 3 graded by code

66 instruments. This is a count of instruments whose latest INST rating is BBB- or higher, excluding the 9 that only have an Expected (EX) action.

JSON: {"count": 66}

✅ R7 csv+neutral run 4 graded by code

66. Of the 106 rated instruments, 40 are speculative grade.

JSON: {"count": 66}

✅ R7 csv+neutral run 5 graded by code

66. Of the 106 instruments with a rating, 66 sit at BBB- or better, and the other 40 are speculative grade.

JSON: {"count": 66}

✅ R8 csv+axioms run 1 graded by code

66. This counts instruments whose current non-EX rating is BBB- or better.

JSON: {"count": 66}

✅ R8 csv+axioms run 2 graded by code

About 66 instruments held an investment-grade rating on 1 October 2026. Instruments with only an expected rating (EX) are not counted as rated.

JSON: {"count": 66}

✅ R8 csv+axioms run 3 graded by code

66. Of the 106 instruments with a non-expected rating in force, 66 are rated BBB- or better (Q48 gives the 106).

JSON: {"count": 66}

✅ R8 csv+axioms run 4 graded by code

66. I counted instruments whose latest INST action on 2026-10-01 was BBB- or better, excluding EX-only instruments.

JSON: {"count": 66}

✅ R8 csv+axioms run 5 graded by code

66. These are the instruments whose latest INST rating is in force and investment grade; EX (expected) ratings do not count.

JSON: {"count": 66}

✅ R9 csv+axioms+markdown run 1 graded by code

66. I counted instruments whose latest INST action is an assigned or in-force rating of BBB- or better; expected ratings (EX) do not count.

JSON: {"count": 66}

✅ R9 csv+axioms+markdown run 2 graded by code

66 instruments held an investment-grade rating on 2026-10-01: 5 among I01–I07 and 61 among I1001–I1107.

JSON: {"count": 66}

✅ R9 csv+axioms+markdown run 3 graded by code

66. This counts instruments whose latest INST action is an assignment at BBB- or better, with expected ratings (EX) not counted.

JSON: {"count": 66}

✅ R9 csv+axioms+markdown run 4 graded by code

66 instruments. This counts the instruments whose latest non-EX action leaves a rating of BBB- or better.

JSON: {"count": 66}

✅ R9 csv+axioms+markdown run 5 graded by code

66. Of the 115 instruments, 66 had an INST rating of BBB- or better in force. This is a hand count.

JSON: {"count": 66}