発端 — 確報30日ベースだけだと足が遅い
/memory-makers/korea-chip-exports のページは、長らく関税庁の「月次確報(30日ベース)」一辺倒で組んでいた。
ただ、韓国の貿易統計のいいところは、関税庁が「1〜10日累計」「1〜20日累計」の旬報をきっちり出していることだ。証券アナリスト時代、月次半導体の春宝(=旬報)を10日刻みで追って「立ち上がりの傾き」を読む癖がついている。毎月11日に1〜10日分が出てきて、21日に1〜20日分が出てくる。21日時点で前年比を取れば、月末まで待たずに比較可能なデータになる。
ところがページのチャートは、5月の月次確報が出てから5月分の棒が立つ仕様で、6月の進捗が一切見えない状態だった。月次半導体の春宝を見るときと同じ「3段積み上げ棒」(1〜10日/11〜20日/21日〜月末)にしたい、というのが今回の発端。
Chrome拡張機能を作って tradedata.go.kr の品目別APIを叩く
韓国関税庁のポータル tradedata.go.kr には、品目別(HSKコード指定)で検索する画面と、旬報(1〜10日・1〜20日累計)を出す画面の両方がある。問題は、UI上は「品目別」と「旬報」が別画面で、両者を組み合わせた検索フォームが存在しないこと。
サブエージェントを派遣して、ページの内部APIを掘らせた。判明したのは、
- 品目別の月次は
POST /cts/hmpg/retrieveTrade.do(tradeKind=ETS_MNK_1020000A)で取れる - 旬報は別エンドポイント
POST /cts/hmpg/retrieveTentativeValues.doで、priodDateを空にすると「01〜10」「01〜20」「月末」の3行が1回の呼び出しで返ってくる - ただし旬報側は
statsKind=ETS_MNK_1050000A(MTI 10대 品목=半導体合計のみ)で固定されていて、HSKコードを差し込んでも反応しない
つまり「品目別×月次」までは公式APIで取れるが、「品目別×旬報」は関税庁の無料APIには無い、という構造。
それでも品目別の月次を運用ベースで自動取得するメリットは十分ある。Chrome拡張機能 chrome-extension-tradedata-kr を新規に立ち上げて、
- DRAM(HSK 8542.32.1010)
- NAND(HSK 8542.32.2000)
- MCP/HBM(HSK 8542.32.3000)
- DRAMモジュール(HSK 8473.30.4060)
- SSD(HSK 8523.51)
の5品目について、tradedata の品目別APIを順番に叩いて JSON を吐き出す content script を組ませた。サブエージェントを5並列で派遣して、HSKコードのバリデーション→APIリクエスト→レスポンス整形→CSVダウンロードまで一気通貫で書かせている。
途中、SSDの10桁HSK 8523510000 で0件が返ってくる罠を踏んだが、これは「韓国HSK体系では6桁 852351 でしか登録されていない」だけのことで、コードを6桁に落としたら101ヶ月分が一気に取れた。HSK体系は国ごとに微妙に違うので、思い込みで10桁に揃えると沈黙で死ぬ。
「品目別×旬」をどう埋めるか — 結局は二次集計
「品目別×旬」が公式APIに無いと分かったあと、しばらく代替経路を探し回った。
- 関税庁の보도자료(プレスリリース)に添付されている hwp ファイルを掘る → 半導体合計のみで品目別の内訳行は無し
- 무역통계진흥원(KTSPI / TRASS)の有償交付サービス → 1リクエスト基本料 28,000원(約3,000円)+従量。毎旬引くと年10万円超
- x-search で証券アナリストの数字を拾う → これが正解だった
SK증권の韓동희アナリストが毎旬「한국 반도체 수출 | YYYY년 MM월 DD일」のフォーマットで品目別の絶対値(USD百万ドル)を出している。それを @DrNHJ が逐語引用し、さらに @jun89320(Ai Acceleration)が상순(1〜10日)・중순(1〜20日)・月末で体系的に図表化していた。
ジュカン(@Jukanlosreve)本人は主に前年同月比とUSD/kg単価で出していて、絶対値はあまり貼らない。最初はジュカンを起点に探していたが、彼の数字の出所をたどると韓동희リサーチに行き着く構図。
「証券アナリストも結局は一次ソースが関税庁」という当たり前のことを、いったん全部API経路を潰してから腑に落とすことができた。彼らは KTSPI の有償交付(年契約)でHS別の通関データを引いている可能性が高い。
結論として、品目別×旬の数字は x-search で @jun89320 の体系的開示を毎旬取りに行く運用 に倒した。コストゼロで速報性も同等。手順は /update-korea-chip-exports の Step 3.9 として固定した。
ページ反映 — 三段積み上げ+分解図
データが揃ったところで、ページに反映していく。
最初は「品目別の金額バー(5品目並列)→ 合算の重量チャート → 合算の単価チャート」という指標ごとの並びで実装させた。ただこれだと、DRAM単体で「単価が上がっている/重量は横ばい」という相関を読み取りにくい。チャートを見ながら「単位がドル/キログラムってことは、単価と数量が混ざってる?半導体って価格は上がってるけど重量は横ばいのはずでは」と引っかかり、指標ごと並びだと自分の直感と照合できないことに気づいた。
そこで構成を「品目ごと」に組み替えた:
- 旬報3段バー(1〜10日:緑/11〜20日:オレンジ/21日〜月末:黄、横軸は月)
- その直下に分解図(数量=重量バー+単価=USD/kg折れ線の二軸、さらに下段に重量の前年同月比折れ線)
DRAMだけ見たければDRAMの3つのチャートが縦に揃って読める。「金額=重量×単価」の分解が一目で見える構造になった。
旬報3段バーには元々右軸に単価折れ線を載せていたが、分解図と二重表示になるため、TendailyStackedChart に showUnitPrice プロップを足してガードできるようにした。旬報3段バーは金額に専念、単価は分解図側で見せる役割分担。
数量チャートは当初折れ線で実装させたが、「数量はバーチャートのほうが見やすい」とリクエストして作り直してもらった。月次の進捗を読むときは、点と点をつなぐより、棒の高さで一発で比較できるほうがいい。前年同月比は折れ線で下段に置いた(MonthlyRevenueChart と同じ構造)。
学び — 旬報の比較可能性と「単位で気づく」
旬報データは比較可能性が早く立ち上がる
確報の30日ベースは網羅的だが、月末まで待たないと比較できない。1〜10日累計と1〜20日累計を別軸として持っておくと、
- 11日時点で「前月の1〜10日」と「今月の1〜10日」を並べられる
- 21日時点で「前月の1〜20日」と並べて月後半の補正を読める
- 月末確報が出るまでに最低2回の更新がある
アナリスト目線で言えば、月末を待つよりも10日刻みの「立ち上がりの傾き」を見るほうが、トレンドの転換点を早く拾える。証券アナリスト時代の鼻が利く領域で、今回それをチャート化できた。
チャートUIの「単位」を書いておくと自分が違和感を拾える
合算の単価チャートを「USD/kg」と書いてあったから、「あれ、単価って書いてあるけど、これ重量で割ってるってことは、数量と単価が混ざってる状態か?」と引っかかれた。もし単位を書かずに「単価チャート」とだけ表示していたら、見過ごしていた可能性が高い。
軸ラベルや単位表記は、後から自分の直感とズレを照合するための重要なメタデータになる。普段なんとなく「金額・数量・単価」と分けて呼んでいるが、それぞれが「USD」「t(トン)」「USD/kg」という単位に対応していることを画面に明示しておくと、認知のズレに気づきやすい。
分解図で見えた構図 — HBMがDRAMウェハを食っている
5品目のチャートを並べて読むと、
- DRAM の数量(重量)は2026年に入ってからフラット、むしろやや減少傾向
- DRAM の単価は前年比でしっかり上がっている
- MCP(HBM)の数量と金額は急増、特に2026年5月の前年比が大きく跳ねている
- NAND は数量・単価ともに DRAM ほど明確なトレンドが出ていない
「HBM 1個に DRAM ウェハを3倍使う」という業界の通説と、DRAM 出荷重量が伸びない(HBMに回されている)構図がチャート上できれいに整合している。MCP の枠(HSK 8542.32.3000)は HBM を含む複合構造チップなので、DRAMの一部が形を変えてここに出てきていると読める。
関連
- 韓国半導体輸出(品目別×旬報)の出所調査 → /korea-chip-exports-tendaily-by-item-source
- ページ本体 → /memory-makers/korea-chip-exports