$npx -y skills add kansoku-trade/kansoku --skill korea-marketKorean market quotes (KOSPI / KOSDAQ / SK Hynix / Samsung) with capitulation-reversal detection. Use whenever reading the US memory/storage complex (MU / DRAM / SNDK / WDC / STX / SMH) — Korea is the SOURCE market and leads the US tape; Longbridge does not cover KRX. Triggers: 韩国
| 1 | # Korea Market |
| 2 | |
| 3 | Korean quotes + a **capitulation-reversal** test, from the Yahoo Finance chart API. Stdlib only, no third-party deps, goes through `_shared/client.py` (cache + throttle + output contract). |
| 4 | |
| 5 | ## Why this skill exists |
| 6 | |
| 7 | **Longbridge does not cover KRX.** It returns `[]` for `000660.KS` / `005930.KS`. |
| 8 | |
| 9 | The tempting workaround — read Korea through the US-listed proxies **EWY** (Korea ETF) and **KORU** (3× Korea) — **lies to you**: |
| 10 | |
| 11 | - They are **FX-contaminated** (a won move shows up as a price move). |
| 12 | - They are **frozen while Seoul is still trading** — they only reprice during US hours. |
| 13 | |
| 14 | **The 2026-07-14 proof.** Reading the proxies, EWY looked ~flat (−0.13%) — nothing to see. The real Seoul tape that same session: |
| 15 | |
| 16 | | | Seoul (real) | Proxy said | |
| 17 | | -------- | -------------------------------------------------------------------------------------- | ---------- | |
| 18 | | SK Hynix | low −9.1% intraday → **closed +2.9% on 1.55× volume** (heaviest of the entire selloff) | EWY "flat" | |
| 19 | |
| 20 | **That was a textbook capitulation bottom, and the proxy hid it completely.** Anyone watching EWY would have missed the exact session they were waiting for. |
| 21 | |
| 22 | **Rule: when the question is about Korea, read Korea.** |
| 23 | |
| 24 | ## Usage |
| 25 | |
| 26 | ```bash |
| 27 | python3 .claude/skills/korea-market/scripts/quote.py --smoke # connectivity self-test |
| 28 | python3 .claude/skills/korea-market/scripts/quote.py # default: KOSPI, KOSDAQ, SK Hynix, Samsung |
| 29 | python3 .claude/skills/korea-market/scripts/quote.py --fresh # bypass 5-min cache (use intraday) |
| 30 | python3 .claude/skills/korea-market/scripts/quote.py 000660.KS # single name |
| 31 | python3 .claude/skills/korea-market/scripts/quote.py --range 6mo # longer history |
| 32 | ``` |
| 33 | |
| 34 | Yahoo symbols: KRX stocks are `NNNNNN.KS` (SK Hynix `000660.KS`, Samsung `005930.KS`); indices are `^KS11` (KOSPI), `^KQ11` (KOSDAQ). |
| 35 | |
| 36 | ## The exhaustion evidence (the point of this skill) |
| 37 | |
| 38 | **A capitulation bottom BY DEFINITION prints a new low.** Testing for "no new low for two sessions" — the obvious naive rule — **skips the exact session you are waiting for**. That mistake was made on 2026-07-13 and corrected the next day by the data. |
| 39 | |
| 40 | Look for **exhaustion** instead: heaviest selling _into_ a new low, then buyers taking the other side. |
| 41 | |
| 42 | | Condition | Field | Reference | |
| 43 | | ---------------------------------------------------------------- | --------------- | ------------------------------------ | |
| 44 | | **New low** — sellers pushed below the prior floor | `made_new_low` | `low < prior low` | |
| 45 | | **Heavy volume** — selling was maximal, not a drift | `heavy_volume` | `rel_volume ≥ 1.3×` (20-session avg) | |
| 46 | | **Green close** — buyers won the session | `green_close` | `close > prev_close` | |
| 47 | | **Closed strong** — decisively, not on a last-minute bell bounce | `closed_strong` | `(close−low)/(high−low) ≥ 0.6` | |
| 48 | |
| 49 | **A washout on light volume is not capitulation** — it is a drift lower with nobody home, which has no natural floor. Volume is what separates _"sellers are done"_ from _"buyers left."_ |
| 50 | |
| 51 | ### These are references, not a rule. **You judge.** |
| 52 | |
| 53 | The script deliberately does **not** emit a verdict. It reports each measurement next to the reference it is being read against, plus a `conditions_cleared` tally — and stops there. |
| 54 | |
| 55 | **Why:** collapsing this into a boolean throws away the distinction that actually matters. On 2026-07-14, Samsung cleared 3 of 4 with volume at **1.11× against a 1.3× reference** — a near-miss. A hard threshold reads that as an identical outcome to KOSDAQ's 1 of 4 (still red, still no bid). Those are not the same animal, and a script that says so is lying to you. |
| 56 | |
| 57 | Read the numbers. Weigh them against the tape. Then decide. |
| 58 | |
| 59 | - **`--min-rel-volume` / `--min-close-position`** tune the references if a name's normal volume profile warrants it. |
| 60 | - **Indices (`^KS11` / `^KQ11`) are context, not evidence.** Index volume is a poor exhaustion gauge — it dilutes the memory names across ~900 constituents. Weight the individual names much more heavily. |
| 61 | - **A single name reversing is not a sector washout.** Look for agreement across SK Hynix and Samsung, and confirm on the next session before treating anything as a floor. |
| 62 | |
| 63 | ## Interpretation rules |
| 64 | |
| 65 | - **Korea leads, the US follows.** Read the Seoul close _before_ forming |