Q48, run 2026-11-05-2135-haiku

← back to the run

How many instruments held a rating on 1 October 2026?

Tests: Local action: the expected rating doesn't count.

Expected: count = 106

❌ R1 csv run 1 graded by code

112
Of 115 instruments, 3 (I1001, I1007, I1015) have only actions dated after 1 Oct 2026. The rest have a rating action on or before that date.

JSON: {"count": 112}

Why: count: expected 106, got 112

✅ R1 csv run 2 graded by code

106. There are 115 instruments in total, and 9 are excluded because they were exited (I08, I1008, I1012, I1021, I1046, I1049) or only have future-dated exits (I1001, I1007, I1015).

JSON: {"count": 106}

❌ R1 csv run 3 graded by code

Not settled. Counting instruments with a rating on 2026-10-01 across 115 instruments needs a full pass I did not complete.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R1 csv run 4 graded by code

Cannot be determined reliably by hand. It requires a full pass over the instrument ratings as of 1 Oct 2026.

I don't have code execution here, so the tallies and list-style answers (Q7, Q9, Q18, Q19, Q21, Q25, Q30, Q37, Q40, Q48) are hand-checked and may be incomplete. Running a short script over the CSVs would settle them.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R1 csv run 5 graded by code

Not reliably countable by hand; it needs a per-instrument tally as of 1 Oct 2026.

Note: several records are dated after today (5 Nov 2026), e.g., A1720, A1713, A1011, A1029, A1078, A1120. I excluded them from "current" answers.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R2 rdf run 1 graded by code

112. There are 115 instrument records, and I1001, I1007, and I1015 have no rating action on or before 1 Oct 2026.

JSON: {"count": 112}

Why: count: expected 106, got 112

❌ R2 rdf run 2 graded by code

Cannot be settled reliably by hand. It requires checking the status of over a hundred instruments on 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R2 rdf run 3 graded by code

Not determined. This requires a full pass over all instrument ratings as of 1 Oct 2026.

Several records are dated after today (2026-11-05), including A1011, A1029, A1078, A1120 and A1720. I did not exclude them from the other answers except where noted.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R2 rdf run 4 graded by code

Not determined. Counting instruments with a rating as of 1 Oct 2026 requires a full pass I have not completed.

**Notes on method:** The data does not define action codes. I inferred: AS = assign, AF = affirm, DG/UG = down/upgrade, RW = watch, WD = withdraw, RD = restricted default, CC = country ceiling, EX = uncertain. Some records are dated after today (5 Nov 2026), and I excluded these from the 2026 answers. Counts that depend on a full scan (Q9, Q19, Q25, Q37, Q40, Q48) need a query over the file to be exact; I have set them to null below.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R2 rdf run 5 graded by code

112. This is 8 instruments in the I01–I08 set plus 104 in I1002–I1107, excluding I1007 and I1015, which are future-dated.

JSON: {"count": 112}

Why: count: expected 106, got 112

✅ R6 rdf+ontology run 1 graded by code

106.
There are 115 instruments in total; 9 have only EX actions and are unrated.

Caveats: the watch and outlook answers (Q18, Q19) assume the latest action sets the status, and the data never closes watches or outlooks. E1158 and E1303 have withdrawals followed by later rating actions; I treated them as rated.

JSON: {"count": 106}

✅ R6 rdf+ontology run 2 graded by code

106. Of 115 instrument records, 9 have never been rated, and 106 are rated.

Data caveats: some actions are dated after 2026-11-05 (e.g., A1011, A1029, A1078), and several records are out of date order (e.g., A1339, A1650, A1649). I used the latest action by date. None of these affected the as-of-1-Oct answers except the anomalies noted above.

JSON: {"count": 106}

❌ R6 rdf+ontology run 3 graded by code

Not counted. This needs a full pass over instrument ratings as of 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R6 rdf+ontology run 4 graded by code

Not determined; this needs a full instrument-by-instrument scan.

JSON: {"count": null}

Why: count: expected 106, got None

✅ R6 rdf+ontology run 5 graded by code

106
This is the number of instruments with any assigned instrument rating on 1 Oct 2026 (the 66 investment-grade plus 40 below it), excluding EX-only records.

JSON: {"count": 106}

✅ R5 csv+ontology run 1 graded by code

106. Of 115 instruments, 9 have no assigned rating by 2026-10-01 (I08, I1001, I1007, I1008, I1012, I1015, I1021, I1046, I1049), which have only EX actions.

Caveat: Q9, Q18, Q19, Q21, Q25, Q30, Q40 and Q48 are lists or counts over the whole book, which I tallied by hand. They are likely right, but not machine-verified.

JSON: {"count": 106}

✅ R5 csv+ontology run 2 graded by code

106. Of 115 instruments, 9 have no rating on 1 Oct 2026 (EX only or no AS), so 106 are rated.

JSON: {"count": 106}

✅ R5 csv+ontology run 3 graded by code

106
115 instruments in total; 9 have only EX actions (I08, I1001, I1007, I1008, I1012, I1015, I1021, I1046, I1049), so 106 hold an assigned rating.



**Notes.** Where records for one LEI disagree, I report the RATINGS record ID (for example, E1169 for E1170 and E1160 for E1161). Three entities (E1115, E1158, E1303) have rating actions dated after a withdrawal; I treated the latest action as current, which is why they count in Q9, Q18 and Q19. The Q9, Q25, Q37, Q40 and Q48 counts come from manual tallies and could be off by a few.

JSON: {"count": 106}

✅ R5 csv+ontology run 4 graded by code

106. Of 115 instruments, 9 are EX-only and unrated on 1 Oct 2026; the rest have an AS-level rating.

JSON: {"count": 106}

✅ R5 csv+ontology run 5 graded by code

106. Of the 115 instruments, nine have only EX actions or none (I08, I1001, I1007, I1008, I1012, I1015, I1021, I1046, I1049).

**Data notes:**
- E1115, E1158 and E1303 have rating actions dated after a withdrawal. I followed the latest-action rule, which gives them a rating, but this conflicts with the ontology's "no rating after withdrawal".
- E1229's A1481 (2026-06-02) is labelled DG but raises the rating from BB to BB+. It still qualifies for Q7 through A1482.
- Actions A1011, A1029, A1078 and A1713 are dated after today (2026-11-05). None changes an answer for 1 October.

JSON: {"count": 106}

✅ R4 csv+markdown run 1 graded by code

106. This counts instruments with an assigned or affirmed rating on 1 Oct 2026, excluding nine with only EX actions and I08.

**Caveat:** Q7, Q18, Q19, Q21, Q25, Q30, Q37, Q40, and Q48 come from a hand trace of the full dataset. A script should verify them before anyone relies on the exact counts.

JSON: {"count": 106}

✅ R4 csv+markdown run 2 graded by code

106. Of the 115 instruments, 9 have only EX actions and no rating.

Note on IDs: where an entity has a RESEARCH duplicate with the same LEI, I give the RATINGS record ID. Counts marked approximate or not completed above were derived by hand and should be checked against the CSVs.

JSON: {"count": 106}

✅ R4 csv+markdown run 3 graded by code

106. Of 115 instruments, 9 have only expected ratings (EX) or none on 1 Oct 2026.

**Note:** Q7, Q9, Q18, Q19, Q21, Q25, Q30, Q40 and Q48 are hand tallies over several hundred records and are the most likely to contain small errors. The data also has anomalies I treated by the latest-action rule: E1158 has a withdrawal (2026-02-27) followed by a watch and an affirmation, so I counted it as rated.

JSON: {"count": 106}

✅ R4 csv+markdown run 4 graded by code

106. Of 115 instruments, 9 have only EX actions and no assigned rating.



**Caveats**
- Nular (E1158), Lunor (E1303) and Piren (E1115) each have a later rating action after a withdrawal. I counted them as rated, which conflicts with the ontology's "no rating after withdrawal" rule.
- Several actions are dated after today (2026-11-05), such as A1011, A1029 and A1078. They are instrument expected ratings and do not change any answer here.
- Counts Q9, Q18, Q19, Q25, Q40 and Q48 are manual tallies across hundreds of records and may contain small errors.

JSON: {"count": 106}

❌ R4 csv+markdown run 5 graded by code

Not settled by hand. This needs an instrument-by-instrument tally as of 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R3 csv+padding run 1 graded by code

Not determined.

Caveats: several records are dated after today (2026-11-05) and I excluded them where they affected the answer. EX and CO action types are undefined. Entries marked "not determined" or "partial" need a full pass over the data.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R3 csv+padding run 2 graded by code

Not completed. Counting instruments with a rating on 1 October 2026 needs a script.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R3 csv+padding run 3 graded by code

Not determined. I checked only I01–I08, which are all rated on 2026-10-01. The I1xxx instruments were not scanned.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R3 csv+padding run 4 graded by code

112. This counts EX as a rating; I001, I1007 and I1015 are unrated. If EX ends a rating, the count is 106.

JSON: {"count": 112}

Why: count: expected 106, got 112

❌ R3 csv+padding run 5 graded by code

Not counted.

JSON: {"count": null}

Why: count: expected 106, got None

✅ R10 executed run 1 graded by code

106. This counts the instrument rows (I01–I07 and I1002–I1107) that carry a current rating on 1 Oct 2026.

JSON: {"count": 106}

✅ R10 executed run 2 graded by code

106. Seven instruments (I01–I07) plus 99 instruments in the I1002–I1107 range have open INST ratings on 1 Oct 2026.

JSON: {"count": 106}

✅ R10 executed run 3 graded by code

106. Of the 115 instruments, 106 have an open rating; I08 and eight 1000-series instruments (I1001, I1007, I1008, I1012, I1015, I1021, I1046, I1049) have none.

JSON: {"count": 106}

✅ R10 executed run 4 graded by code

106 instruments held an open rating on 1 Oct 2026.

JSON: {"count": 106}

✅ R10 executed run 5 graded by code

106. That is 7 I01–I07 instruments plus 99 I10xx instruments, all with current INST ratings.

JSON: {"count": 106}

✅ R7 csv+neutral run 1 graded by code

106. Seven of the 115 instruments are rated from the start (I01–I07), and 99 of the 107 I1xxx instruments have an AS action on or before 2026-10-01. The other nine (I08 and I1001, I1007, I1008, I1012, I1015, I1021, I1046, I1049) have only EX actions.

**Caveats:** Q7, Q9, Q18, Q19, Q21, Q25, Q37 and Q40 are manual tallies across hundreds of records, so small errors are possible. E1158 and E1303 have actions after their withdrawals, which the ontology says should not happen; I treated the later actions as setting a rating.

JSON: {"count": 106}

✅ R7 csv+neutral run 2 graded by code

106. Of 115 instruments, 9 have only Expected ratings and so are unrated, leaving 106 with a rating on 1 Oct 2026. Manual pass.

JSON: {"count": 106}

✅ R7 csv+neutral run 3 graded by code

106. Of 115 instruments, 9 have no assigned rating as of 1 Oct 2026.

---

**Notes:** Counts (Q9, Q25, Q37, Q40, Q48) and lists (Q7, Q18, Q19, Q21, Q30) are hand tallies across about 470 actions, so they should be spot-checked. Piren (E1115), Nular (E1158) and Lunor (E1303) have rating actions after a withdrawal; I treated the later action as a re-rating. Excluding them would change Q9 (−3), Q21 (+3), Q19 (−E1158) and Q40 (−E1115). Several AF/UG actions carry ratings that don't match the prior rating; I used the recorded rating as stated. Some actions are dated after today (2026-11-06), but none changes an answer.

JSON: {"count": 106}

❌ R7 csv+neutral run 4 graded by code

Not settled by hand; it needs a full instrument-level scan as of 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R7 csv+neutral run 5 graded by code

Not determined in this pass. It needs the latest instrument action for each instrument as of 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

✅ R8 csv+axioms run 1 graded by code

106. Of 115 instruments, 9 have only expected-rating (EX) or future-dated actions, so they hold no rating on 1 October 2026.

JSON: {"count": 106}

❌ R8 csv+axioms run 2 graded by code

Not determined. Instrument-level tracing was not completed.

JSON: {"count": null}

Why: count: expected 106, got None

✅ R8 csv+axioms run 3 graded by code

106. Of the 115 instruments, 9 have only expected-rating (EX) actions and so hold no rating in force; this count is approximate.

JSON: {"count": 106}

❌ R8 csv+axioms run 4 graded by code

Not finished. This needs the instrument-rating in-force check as of 2026-10-01.

Q9, Q19, Q21, Q25, Q40 and Q48 need a full pass over the data, and I can take those next.

JSON: {"count": null}

Why: count: expected 106, got None

❌ R8 csv+axioms run 5 graded by code

Not determined. This requires checking each of about 115 instruments for an in-force rating, which I did not complete.

JSON: {"count": null}

Why: count: expected 106, got None

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

Not determined. This requires the latest rating for every instrument, which I did not finish.

JSON: {"count": null}

Why: count: expected 106, got None

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

Not settled. Counting instrument ratings at 2026-10-01 needs the full rule run.

JSON: {"count": null}

Why: count: expected 106, got None

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

Not settled by hand. This needs a query over instrument ratings in force on 1 Oct 2026.

JSON: {"count": null}

Why: count: expected 106, got None

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

106 (hand-tallied). I counted instruments with at least one INST rating action on or before 1 Oct 2026. I excluded nine instruments whose only action is EX.

JSON: {"count": 106}

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

Not completed. This needs every instrument's latest rating as of 1 Oct 2026.

**Data notes.** E1229 has two 2026 DG actions, one of which raises the rating. E1158 and E1303 have ratings after a withdrawal, which I took as in force. E1213 has a Rating Watch (A1449) whose rating goes back up after a DG (A1450). These can change answers if the intended reading differs.

JSON: {"count": null}

Why: count: expected 106, got None