세 줄 요약
- 입찰 전날 채권 마감 기사, 당일 아침 메모, MBS 와 주금공 제목 기사, 사내 브리핑 시황 글 623건을 언어모델로 채점해 회차마다 수요 심리 점수 S 를 만들었다. 같은 기준으로 다시 채점하면 종합 점수 순위상관이 0.92 로 점수 자체는 안정적이다.
- 이 점수로 기존 낙찰 예측을 보정하면 확인 구간(2024 ~ 2026-10, 62회차) 평균 절대 오차가 4.94bp 에서 5.15bp 로 오히려 늘었다. 점수와 예측 오차의 상관도 예측과 반대인 +0.17 이다.
- 판정은 폐기다. 전날 시장 글의 분위기는 금리 방향과 거의 같은 정보이고, 낙찰 예측이 이미 그 정보를 쓰고 있다. 2021 ~ 2023 년에는 예측 방향의 관계(상관 −0.23)가 있었으나 2024 년부터 사라졌다.
가설과 결론
주택금융공사(주금공)의 MBS 는 한 달에 두세 번 입찰로 발행된다. 응찰자는 국고채 기준금리에 얹을 가산금리(스프레드)를 적어 내고, 발행액이 찰 때까지 낮은 가산금리부터 받아 마지막으로 받아들여진 가산금리가 모든 낙찰자의 낙찰 스프레드가 된다. 응찰하는 쪽에서 돈이 되려면 낙찰이 어디서 끝날지 미리 알아야 한다. 앞선 실험에서 입찰 전날까지의 숫자(공사가 미리 알리는 상한 금리인 실링, 직전 낙찰, 국고 금리, 공급 일정)로 만든 릿지 회귀 예측은 확인 구간에서 평균 4.93bp 를 틀렸고, 그 오차의 대부분은 실링이 설명하지 못한 «그날의 수요» 몫이었다.
데스크에서 매일 읽는 시황 글에는 숫자 표에 없는 분위기가 담긴다. «공사채 완판», «MBS 미매각 지속», «연말 북 마감으로 매수 여력이 없다» 같은 문장이다. 이 실험은 그런 문장을 언어모델로 점수화하면 숫자 예측이 놓친 수요를 잡아낼 수 있는지 묻는다. 점수가 낙찰 예측의 오차를 줄인다면 응찰 가산금리를 정할 때 쓸 보조 지표가 된다.
- 가설
- 입찰일 09:00 전에 게시된 시황 글의 수요 심리 점수 S 를 낙찰 예측의 걷기 전진 보정에 넣으면 확인 구간 평균 절대 오차가 0.5bp 이상 준다(H660). 수요가 강하다는 점수일수록 낙찰이 예측보다 낮게 끝난다, 즉 점수와 «낙찰 − 예측» 의 상관이 음이다(H661 확인 구간, H662 발견 구간). 1002 기사만으로 만든 점수도 오차를 줄인다(H663).
- 결론
- 네 가설 모두 지지되지 않았다. 확인 구간에서 점수 보정은 오차를 0.21bp 늘렸고(한쪽 p = 1.00), 상관은 +0.17(p = 0.91)로 반대 부호였다. 발견 구간 상관 −0.23(p = 0.030)은 Holm 보정 뒤 0.118 이다. 판정은 폐기다.
| 가설 | 내용 | 추정 | 원 p | Holm p | 판정 |
|---|---|---|---|---|---|
| H660 | 확인 ΔMAE > 0.5bp | −0.213bp | 1.000 | 1.000 | 미지지 |
| H661 | 확인 ρ(S, 잔차) < 0 | +0.171 | 0.907 | 1.000 | 미지지 |
| H662 | 발견 ρ(S, 잔차) < 0 | −0.231 | 0.030 | 0.118 | 미지지 |
| H663 | 확인 1002 만 ΔMAE > 0 | −0.167bp | 0.981 | 1.000 | 미지지 |
사전등록 때 이미 기대를 낮게 적었다. 앞선 낙찰 예측에서 시장 금리와 공급 특징이 더한 몫이 거의 없었기 때문에, 글 점수의 효과도 0.3 ~ 0.8bp 로 문턱 근처일 것으로 보았다. 결과는 그보다 나빴다. 점수를 넣은 쪽이 넣지 않은 쪽보다 꾸준히 더 틀렸고, 창 길이와 원천을 바꾼 18칸 가운데 오차를 줄인 칸은 0.01bp 짜리 하나뿐이었다. 회차가 연 16 ~ 28회라 통과했더라도 «보류» 가 상한이었으나, 그 판단까지 갈 필요가 없었다.
용어와 기호
- 주금공 MBS
- 한국주택금융공사가 보금자리론 같은 주택담보대출을 모아 발행하는 주택저당증권. 1 ~ 3년 트랜치는 만기일시 상환, 5년 이상 일반 트랜치는 공사의 조기상환(콜) 권리가 붙는다. ST 는 콜이 없는 트랜치다
- 트랜치, 회차
- 회차는 한 번의 입찰, 트랜치는 그 안의 만기별 발행분이다. 한 회차에 보통 6 ~ 9개 트랜치가 있다
- 실링
- 공사가 입찰 전날 알리는 트랜치별 가산금리 상한. 응찰이 모자라면 남은 물량은 실링에서 주관사가 받는다(미매각)
- 낙찰 won
- 트랜치의 낙찰 가산금리(bp). 단일가격 방식이라 받아들여진 가장 높은 가산금리가 모든 낙찰자에게 적용된다
- 릿지 예측
- 앞선 실험이 입찰 전날 정보(실링, 직전 낙찰과 응찰률, 국고 수준과 변화, 공급, 주택 국면 대리)로 회차마다 다시 학습해 낸 표본 밖 낙찰 예측
- 잔차 e
- e = won − 릿지 예측(bp). 양이면 예측보다 넓게(수요가 약하게) 낙찰된 것이다
- 1002
- 연합인포맥스 단말의 뉴스 화면. 이 실험은 그 검색 기능으로 [채권-마감], [오늘의 채권ㆍ외환 메모], 제목에 MBS, 주금공, 주택금융공사가 든 기사를 모았다
- 브리핑 시황
- 사내 채권 영업 채널에 올라오는 아침 시황과 주간 정리 글. 원문은 내부 자료라 이 페이지에 싣지 않고 점수만 쓴다
- demand, rate, capacity, housing
- 문서마다 언어모델이 매긴 네 항목(각 −2 ~ +2). 스프레드 채권 수요, 금리 방향, 기관 매수 여력, MBS 공급 부담 신호다. 모두 «MBS 낙찰에 유리하면 +» 로 맞췄다
- relevance
- 문서가 MBS 나 스프레드 채권 수요를 직접 다루는 정도(0 무관, 1 간접, 2 직접)
- c(문서 종합 점수)
- c = (demand + rate + capacity + housing) ÷ 4
- S(회차 점수)
- 창 안 문서의 c 를 (1 + relevance) 로 가중 평균한 값. 창은 입찰 전 마지막 채권 마감 기사 1건과, 입찰일 3일 전 0시부터 입찰일 09:00 사이에 게시된 나머지 문서다
- L(사전 점수)
- 언어모델 없이 긍정 낱말 수 p 와 부정 낱말 수 n 으로 만든 비교 점수, (p − n) ÷ (p + n + 1)
- M0, MS
- 걷기 전진 잔차 보정. M0 는 과거 잔차 평균(절편)만 더하고, MS 는 절편과 b × S 를 더한다. 계수는 그 회차 앞의 모든 회차로 다시 적합한다
- MAE, ΔMAE
- MAE 는 트랜치 단위 |낙찰 − 예측| 의 평균(bp). ΔMAE = MAE(M0) − MAE(MS). 양이면 점수가 오차를 줄인 것이다
- ρ
- 회차 단위 Spearman 순위상관. 점수 S 와 회차 평균 잔차 e 사이를 잰다. 가설은 음(수요 강함 → 낮은 낙찰)이다
- 회차 군집 부트스트랩
- 확인 구간 회차를 복원 추출해 ΔMAE 를 5,000번 다시 계산하는 방법(seed 214). 같은 회차 트랜치끼리 닮은 오차를 보존한다. 한쪽 p 는 재표본 ΔMAE 가 문턱 이하인 비율이다
- Holm 보정
- 가설 넷을 한꺼번에 시험할 때 우연히 하나쯤 통과하는 것을 막으려고 작은 p 부터 차례로 남은 가설 수를 곱하는 방법
- 발견 구간, 확인 구간
- 발견 2021-01 ~ 2023-12(68회차), 확인 2024-01 ~ 2026-10(62회차). 판정은 확인 구간으로만 한다
- D, D−1
- D 는 입찰일, D−1 은 그 앞 날. D 09:00 은 입찰 창(09:30 부터)이 열리기 전 마지막 시각으로 잡은 마감이다
자료
데이터셋
| 자료 | 기간 | 단위 | 건수 | 쓰임 |
|---|---|---|---|---|
| 낙찰 예측(앞선 실험의 걷기 전진 표본 밖) | 2021-01 ~ 2026-10 | 트랜치 | 130회차 1,000트랜치 | 표적 won, 기준 예측(릿지, GBM, B2) |
| 입찰 원장 국고 금리 열 | 같은 회차 | 트랜치 | 1,000 | 진단용 국고 5일 변화 |
| 1002 [채권-마감] | 2020-12 ~ 2026-10 | 기사 | 130 | 입찰 전 마지막 마감 기사(129회차는 D−1, 1회차는 주말 앞 금요일) |
| 1002 [오늘의 채권ㆍ외환 메모] | 같은 기간 | 기사 | 130 | 입찰일 07:2x 게시분 |
| 1002 제목 MBS | 같은 기간 | 기사 | 71 | D−7일 ~ D 09:00 |
| 1002 제목 주금공, 주택금융공사 | 같은 기간 | 기사 | 184 | D−7일 ~ D 09:00 |
| 사내 브리핑 시황 | 2021 ~ 2026-10 | 메시지 | 108 | D−7일 ~ D 09:00, 체결내역과 입찰공지 같은 사실 공지는 뺌 |
표적과 기준 예측은 앞선 낙찰 예측 실험의 산출물을 그대로 썼다. 그 표본은 정리된 입찰 원장에서 일반과 ST 경쟁입찰 트랜치만 남기고, 비경쟁과 스왑 물량을 뺀 것이다. 2019 ~ 2020 회차도 예측이 있지만 1002 검색 목록이 2020-12 부터라 이 실험은 2021-01 부터 쓴다. 그래서 표본은 130회차 1,000트랜치이고 그중 확인 구간이 62회차 445트랜치다.
1002 기사는 단말 화면이 쓰는 검색과 본문 엔드포인트로 받았다. 마감 기사와 메모는 거의 모든 날에 있어 회차 결측이 없다. 브리핑 메시지는 계획 단계에서 «mbs, 주금공, 주택금융, 보금자리, 안심전환» 낱말로 검색해 받아 둔 1,399건이 전부라, 시황 글이 그 낱말을 담은 날만 들어 있다. 3일 창에 브리핑 시황이 하나라도 있는 회차는 130회 가운데 38회다.
문서와 시각 정렬
입찰 창은 09:30 에 열리므로 응찰 가산금리는 그 전에 정해야 한다. 그래서 모든 문서는 입찰일 09:00 이전 게시분만 썼다. 메모 130건은 모두 07시대에 게시되었고, 마감 기사는 129회차에서 D−1 16:4x ~ 17:xx 에, 월요일 입찰 1회차는 금요일에 게시되었다. 브리핑 시황은 대부분 07:00 ~ 08:59 에 올라온다. 문서 본문은 내부 폴더에만 두고 이 페이지와 저장소에는 점수와 기사 제목만 남겼다(브리핑은 제목도 지웠다).
방법
채점 기준
문서 하나하나를 독립적으로 채점했다. 채점자는 Claude Haiku 계열 하위 에이전트이고, 문서 30건씩 묶은 팩 21개를 일곱 에이전트가 나눠 맡았다. 채점자는 문서가 어느 회차에 쓰일지, 그 회차 낙찰이 어땠는지 모른다. 지시문은 «이 글만 근거로, 그 뒤 실제로 일어난 일은 쓰지 말 것» 을 첫 줄에 두었다. 입력은 제목, 게시 시각, 본문 앞 2,500자(브리핑은 앞 1,500자와 MBS, 공사채, 크레딧, 수요, 미매각 같은 낱말 주변 ±250자를 합쳐 3,000자 이내)다.
항목은 넷이다. 스프레드 채권 수요(demand), 금리 방향(rate), 기관 매수 여력(capacity), 주택과 MBS 공급 부담(housing)이다. 모두 −2 ~ +2 정수이고 «MBS 낙찰에 유리하면 양» 이 되도록 부호를 맞췄다. 예를 들어 «완판, 언더 발행, 매수 우위» 는 demand 양, «연말 북 마감, 자금시장 경색» 은 capacity 음, «MBS 발행 확대» 는 housing 음이다. 언급이 없으면 0 이다. 여기에 문서가 MBS 나 스프레드 채권을 직접 다루는 정도(relevance, 0 ~ 2)를 더 매겼다. 이 기준은 결과를 보기 전에 사전등록 문서에 고정했다.
회차 점수와 보정
회차 점수 S 는 창 안 문서의 종합 점수 c 를 (1 + relevance) 로 가중 평균한 값이다. MBS 를 직접 다룬 글에 세 배 무게를 주는 셈이다. 창에 문서가 없으면 S = 0 으로 두기로 했으나 실제로는 그런 회차가 없었다. 비교용으로 언어모델 없이 낱말을 세는 사전 점수 L 도 같은 창에서 만들었다.
보정은 걷기 전진으로 했다. 회차 r 의 입찰일보다 앞선 모든 회차(2021-01 부터)의 트랜치를 학습 자료로 삼아 잔차 e 를 S 에 OLS 로 회귀하고, 그 계수로 회차 r 의 잔차를 예측해 릿지 예측에 더한다(MS). 기준선 M0 는 같은 방식으로 과거 잔차 평균만 더한다. 이렇게 두 모형의 차이가 오로지 S 에서 나오도록 했다. 앞선 회차가 15개 미만이면 기울기를 0 으로 두었다. 점수 하나에 계수 둘인 작은 모형이라 과적합 여지가 거의 없다.
검정과 격자
H660 과 H663 은 확인 구간 회차를 복원 추출하는 부트스트랩 5,000회로 ΔMAE 가 문턱(0.5bp, 0bp) 이하일 비율을 한쪽 p 로 냈다. H661 과 H662 는 회차 점수를 회차끼리 섞는 순열 10,000회로 순위상관의 한쪽 p 를 냈다. 넷을 Holm 으로 묶었다. 판정에 쓰지 않는 강건성으로는 창 길이(1, 3, 7일)와 원천(1002, 브리핑, 둘 다)과 마감 시각(D−1 18:00, D 09:00)의 18칸 격자, 기준 예측 세 가지(릿지, GBM, B2), 점수 정의 다섯 가지, 연도별 결과, 충격 구간(2022-09-28 ~ 12-31, 레고랜드 사태 뒤 자금시장 경색) 제외를 미리 적었다. D−1 18:00 마감은 «전날 저녁에 응찰안을 확정한다» 는 실행 현실화 판이다.
점수 정의를 여럿 비교하면 그중 하나가 우연히 좋아 보일 수 있다. 그래서 점수를 회차끼리 섞은 귀무 1,000회마다 걷기 전진 보정 전체를 다시 돌려 ΔMAE 분포를 만들고, 같은 귀무에서 «종합, 수요 항목, 사전 점수 셋 중 최고» 를 고르는 절차도 다시 돌렸다. 실제 최고값을 이 «셋 중 최고» 귀무와 비교해야 고르는 절차의 편향이 걸러진다.
모델
학습하는 모델은 회차마다 다시 적합하는 단순회귀 하나다. 식은 e = a + b × S 이고, a 는 앞선 예측의 평균 편향, b 는 점수 1단위가 낙찰을 몇 bp 움직이는지다. 가설이 맞다면 b 는 음이어야 한다. 아래 그림 오른쪽은 회차마다 실제로 적합된 b̂ 의 경로다. 이 경로는 정본 런의 계수 파일에서 그대로 그렸다.
기울기는 2022 년 금리 급등기를 거치며 −4 ~ −5bp 까지 커졌고, 확인 구간이 시작되는 2024-01 에는 −4.56bp 였다. 점수 S 의 회차 표준편차가 0.31 이므로 1 표준편차 움직이면 약 1.4bp 를 보정하는 크기다. 이 크기 자체는 사전등록 때 예측한 −1 ~ −2bp 와 맞는다. 문제는 확인 구간에서 이 방향이 더 이상 맞지 않았다는 점이다. 비교 모델로 네 하위 항목과 결측 표시를 함께 넣은 릿지(alpha 1)도 같은 걷기 전진으로 돌렸다.
결과
확증 결과
| 모형 | 발견 2021 ~ 2023 | 확인 2024 ~ 2026-10 |
|---|---|---|
| 릿지 예측 그대로 | 6.97 | 4.93 |
| M0 절편 보정 | 6.94 | 4.94 |
| MS 점수 보정 | 6.90 | 5.15 |
| 기준선 B2(실링 − 평균 실링 대비 낙찰) | 해당 없음 | 5.58 |
확인 구간에서 릿지 예측 그대로의 MAE 는 4.93bp, 과거 평균 편향만 고친 M0 는 4.94bp 였다. 점수를 넣은 MS 는 5.15bp 로 0.21bp 더 틀렸다. 부트스트랩 90% 구간은 −0.36 ~ −0.07bp 로 0 을 넘지 않는다. 문턱 0.5bp 는커녕 0 보다 좋을 확률도 1% 미만이다(문턱 0 의 p = 0.994). 발견 구간에서는 MS 가 0.04bp 좋아졌으나 의미 있는 크기가 아니다.
회차 단위 상관을 보면 이유가 드러난다. 발견 구간 68회차에서 S 와 회차 평균 잔차의 순위상관은 −0.23(p = 0.030)으로 가설 방향이었다. 확인 구간 62회차에서는 +0.17(p = 0.91)이다. 발견 구간에서 배운 «어두운 글이면 낙찰이 넓다» 는 관계가 확인 구간에서 반대로 작동해, 보정이 예측을 틀린 쪽으로 밀었다. 1002 기사만으로 만든 점수(H663)도 −0.17bp 로 같은 모양이다.
점수 정의와 격자
| 비교 | ΔMAE | 한쪽 p(> 0) | 확인 MAE |
|---|---|---|---|
| 종합 S(확증 정의) | −0.21 | 0.99 | 5.15 |
| 수요 항목만 | −0.06 | 0.91 | 5.00 |
| 사전 점수 L(언어모델 없음) | −0.18 | 1.00 | 5.12 |
| 1002 만 | −0.17 | 0.98 | 5.11 |
| 브리핑만 | −0.09 | 0.88 | 5.03 |
| 하위 4항목 릿지 | −0.54 | 1.00 | 5.48 |
| GBM 예측 위에 S 보정 | +0.003 | 0.50 | 5.73 |
| B2 위에 S 보정 | −0.39 | 0.99 | 6.43 |
어떤 정의도 오차를 줄이지 못했다. 언어모델 점수가 낱말 세기(사전 점수 L)보다 나은 것도 아니어서, 둘 다 0.2bp 안팎 나빠졌다. 네 항목을 따로 넣은 릿지는 계수가 넷으로 늘어 시기 변화에 더 크게 휘둘리며 0.54bp 나빠졌다. GBM 예측 위에서는 거의 0 이고, 실링 기반 기준선 B2 위에서는 0.39bp 나빠졌다. 기준 예측을 바꿔도 결론은 같다.
창이 길수록 더 나빠진다는 점이 눈에 띈다. 1002 와 브리핑을 합친 점수는 1일 창 −0.13 ~ −0.17bp, 7일 창 −0.43 ~ −0.49bp 다. 창이 길면 MBS 와 주금공 제목 기사가 더 들어오는데, 그 기사들이 낙찰과 무관한 방향으로 점수를 움직인다는 뜻이다. 전날 저녁에 응찰안을 정하는 판(D−1 18:00 마감)도 당일 아침까지 기다리는 판과 같은 결론이다. 아침 메모와 아침 시황을 더해도 얻는 것이 없다.
귀무와 연도
점수를 아무렇게나 섞어도 ΔMAE 는 대개 0 근처의 작은 음수다(귀무 95% 분위 +0.03bp). 실제 −0.21bp 는 귀무의 아래쪽 꼬리에 있다(p = 0.92). 무작위 점수보다도 나쁘다는 것은 점수가 «잡음» 이 아니라 확인 구간에서 체계적으로 틀린 방향의 정보라는 뜻이다. 셋 중 최고를 고르는 절차의 귀무에서도 실제 최고 −0.06bp 의 p 는 0.92 다.
| 연도 | 회차 | MAE M0 | MAE MS | ΔMAE | ρ(S, e) |
|---|---|---|---|---|---|
| 2021 | 20 | 3.45 | 3.49 | −0.04 | −0.26 |
| 2022 | 20 | 8.51 | 8.42 | +0.09 | −0.27 |
| 2023 | 28 | 8.52 | 8.45 | +0.07 | −0.23 |
| 2024 | 20 | 4.86 | 5.30 | −0.44 | +0.08 |
| 2025 | 16 | 3.65 | 3.83 | −0.18 | +0.31 |
| 2026 | 26 | 6.01 | 6.03 | −0.01 | −0.01 |
연도로 나누면 그림이 분명하다. 2021 ~ 2023 년 세 해는 상관이 모두 −0.23 ~ −0.27 로 가설 방향이었고, 2022 ~ 2023 년에는 보정이 0.07 ~ 0.09bp 도움이 되었다. 2024 년부터 상관이 0 이나 양으로 바뀌었고, 바로 그 해에 보정이 0.44bp 손해를 냈다. 충격 구간 두 회차를 빼도 발견 구간 상관은 −0.26(p = 0.019)으로 남으므로, 발견 구간의 관계가 레고랜드 사태 두 회차만의 산물은 아니다.
실패 진단
첫째, 줄일 몫은 있었다. 확인 구간 잔차 분산의 45% 가 회차 공통 몫이다. 회차 평균 잔차를 미리 알았다면 MAE 는 4.93bp 에서 3.64bp 로 줄었을 것이다. 회차 단위 점수가 닿을 수 있는 상한이 1.3bp 이므로 0.5bp 문턱은 원리상 가능했다. 점수가 그 몫을 잡지 못한 것이다.
둘째, 점수는 대체로 금리 방향이다. S 와 국고 5일 변화(D−1 − D−5)의 순위상관이 −0.44 다. 금리가 오른 주에는 글이 어둡다. 회차 평균 잔차를 S 와 국고 5일 변화에 함께 회귀하면 S 의 계수는 −0.43bp(t = −0.19)로 0 과 구별되지 않는다. 앞선 릿지 예측은 이미 국고 수준과 변화를 특징으로 쓰므로, 글이 금리 방향 말고 더해 주는 정보가 거의 없었다.
셋째, 채점이 흔들려서가 아니다. 무작위 60건을 같은 기준으로 다시 채점하면 종합 점수 c 의 순위상관이 0.92, 금리 항목 0.93, 수요 항목 0.83 이었다. 매수 여력(0.62)과 주택(0.66)은 덜 안정적이지만 종합 점수에는 영향이 작다. 점수는 같은 글을 같은 값으로 읽는다. 그 값이 낙찰과 관계가 없을 뿐이다.
넷째, 대부분의 회차에서 점수는 MBS 와 무관한 글이 정한다. 모든 회차에 들어가는 마감 기사와 메모는 관련도 0 이 각각 66%, 50% 이고, MBS 를 직접 다룬 글은 회차의 일부에만 있다. 그래서 S 는 «그날 채권시장 분위기» 에 가깝고 «MBS 수요» 와는 거리가 있다. 이 점이 금리 방향과의 강한 상관을 설명한다.
탐색 결과
| 변형 | 회차 | 확인 ΔMAE | 확인 ρ | 발견 ρ |
|---|---|---|---|---|
| 관련도 2 문서만(7일 창) | 114 | −0.17 | −0.04 | −0.16 |
| MBS, 주금공 제목 기사만(7일 창) | 102 | −0.13 | −0.02 | −0.12 |
| 직전 5회차 평균 대비 서프라이즈 | 130 | −0.09 | +0.16 | −0.19 |
| 발견 구간 기울기 고정(b = −4.56) | 130 | −0.31 | 해당 없음 | 해당 없음 |
넷째 진단을 확인하려고 MBS 를 직접 다룬 글만 쓰는 변형을 돌렸다. 관련도 2 문서만 쓰면 확인 구간 상관이 −0.04 로 부호는 가설 쪽으로 돌아오지만 크기가 0 에 가깝고, 보정은 여전히 0.17bp 손해다. 직전 다섯 회차 평균에 견준 «서프라이즈» 로 바꿔도 같다. 이 변형들은 결과를 본 뒤 정한 것이라 확증으로 쓰지 않는다. 그래도 «MBS 에 맞춘 글만 쓰면 살아난다» 는 해석을 뒷받침하지 않는다.
마지막으로 점수가 낙찰 오차 대신 미매각이나 실링 결정과 관계가 있는지 보았다. 발견 구간에서는 S 와 미매각 트랜치 비중의 순위상관이 −0.36, 실링 아래 낙찰 비중과는 +0.32 로 «어두운 글이 나온 회차에 미매각이 많았다». 확인 구간에서는 각각 −0.07, +0.13 으로 약해졌다. 점수와 «실링 − 직전 같은 만기 낙찰» 의 상관은 발견 +0.08 에서 확인 −0.15 로 바뀌어, 2024 년부터는 수요가 강하다는 글이 나온 회차에 실링을 조금 좁게 거는 쪽으로 기울었다. 62회차에서 이 크기는 우연과 구별되지 않으므로 «실링이 분위기를 먼저 흡수했다» 는 해석의 약한 정황으로만 적는다.
채점기는 낙찰을 읽는가
실패의 원인이 «채점기가 MBS 수요를 못 읽는다» 인지 «전날 글에 앞날 정보가 없다» 인지 가르려고 양성 대조를 했다(탐색). 같은 채점 기준으로 입찰 뒤 기사 247건을 채점했다. 입찰일 당일 오후의 채권 마감 기사 130건, 입찰 창이 열린 뒤부터 다음 날까지의 MBS 제목 기사 52건과 주금공 제목 기사 65건이다. 이 기사들은 «완판», «미매각», «언더 발행» 처럼 결과를 직접 전하므로, 채점기가 제대로 읽는다면 점수가 낙찰 잔차와 맞물려야 한다. 예측에는 쓸 수 없는 자료이고 진단에만 쓴다.
| 문서 | 회차 | ρ(P, 잔차) 전체 | 순열 p | ρ 확인 | ρ(P, 미매각) 확인 |
|---|---|---|---|---|---|
| 입찰 뒤 전체 | 130 | −0.22 | 0.006 | −0.24 | −0.38 |
| 당일 채권 마감 | 130 | −0.10 | 0.14 | −0.04 | 0.00 |
| MBS, 주금공 제목 | 66 | −0.36 | 0.001 | −0.27 | −0.70 |
| 관련도 2 문서 | 47 | −0.44 | 0.001 | −0.34 | −0.73 |
결과는 분명하다. 입찰 뒤 기사 전체의 점수는 잔차와 −0.22(p = 0.006), MBS 를 직접 다룬 글만 쓰면 −0.44(p = 0.001)로 맞물리고, 미매각 비중과는 확인 구간에서 −0.70 이 넘는다. 입찰 뒤 점수와 전날 점수 S 의 상관은 −0.04 로 사실상 0 이다. 채점기는 MBS 수요를 다룬 글이 있으면 그것을 제대로 읽는다. 실패는 읽는 방법이 아니라 전날 글에 앞날 정보가 없다는 데서 온다. 당일 채권 마감 기사가 약한 것은 그 기사의 3분의 2 가 MBS 를 다루지 않기 때문이다.
응찰 위치로 보면
점수가 응찰 결과를 바꾸는지도 보았다(탐색). 응찰 가산금리를 «보정 예측 − k bp» 로 걸고 k 를 0 에서 4bp 까지 바꾸었다. 단일가격 입찰이라 응찰이 낙찰 이하이면 받고, 받으면 낙찰 스프레드를 받는다. 지정가 주문의 체결 확률에 해당하는 값이 트랜치 낙찰률이다.
낙찰률은 k = 0 에서 M0 56.9% 대 MS 57.8%, k = 2 에서 72.6% 대 72.8%, k = 4 에서 81.6% 대 80.9% 로 어느 위치에서도 차이가 1.2%p 를 넘지 않는다. MS 는 예측을 조금 위로 미는 회차가 많아 낙찰된 트랜치의 여유가 0.2bp 쯤 크지만, 그만큼 덜 맞힌 회차에서 놓친다. 예측이 실링에서 3bp 안인 확인 구간 68트랜치(미매각 위험이 큰 쪽)에서도 ΔMAE 는 −0.11bp 로 돕지 않았다.
해석
입찰 전날의 시장 글이 담는 분위기는 대부분 금리 방향이고, 낙찰 예측은 이미 실링과 국고 금리로 그 정보를 쓴다. 남은 몫은 «그날 MBS 를 사려는 돈이 얼마나 있는가» 인데, 시황 글은 그것을 드물게만 직접 말한다. 채권 마감 기사의 3분의 2 는 MBS 나 크레딧 수요를 아예 다루지 않는다. 같은 채점기가 입찰 뒤 기사에서는 낙찰과 미매각을 뚜렷이 읽어 내므로, 이 실험의 한계는 언어모델의 독해가 아니라 입찰 전에 공개된 글의 내용에 있다.
2021 ~ 2023 년의 음의 관계는 금리 급등과 자금시장 경색기에 «글이 어둡다» 와 «MBS 가 안 팔린다» 가 같이 움직인 결과로 보인다. 그 시기에는 실링이 시장을 따라가지 못해 낙찰이 실링 근처로 몰리거나 미매각이 났다. 2024 년부터는 실링이 시장 분위기를 미리 반영해 정해지면서 글의 정보가 실링에 흡수되었을 가능성이 있다. 이것은 추측이고 이 실험에서 검정하지 않았다. 분명한 것은 2024 년 이후 자료에서 글 점수를 응찰 가산금리 결정에 넣으면 손해였다는 점이다.
한계
표본 크기. 확인 구간은 62회차다. 점수가 회차 단위라 실질 표본은 트랜치 445개가 아니라 회차 62개이고, 0.5bp 차이를 가를 검정력은 넉넉하지 않다. 다만 추정치의 부호부터 반대이고 90% 구간이 0 을 넘지 않으므로 검정력 부족으로 결론이 뒤집힐 가능성은 낮다.
브리핑 원천의 선택 편향. 브리핑 메시지는 MBS 관련 낱말로 검색해 받은 것만 있다. 채널 전체의 시황 글을 받지 못해 3일 창에 브리핑 시황이 있는 회차가 38회뿐이다. 계획이 말한 시황 233건 가운데 창 안에 든 것은 108건이다. 채널 전체를 받으면 브리핑 점수의 결과는 달라질 수 있다.
본문 절단과 채점 모델. 1002 기사는 앞 2,500자, 브리핑은 앞 1,500자와 낱말 주변만 읽혔다. 마감 기사 뒷부분의 크레딧 언급이 빠졌을 수 있다. 채점은 사용량 때문에 Haiku 계열 한 모델로만 했다. 재채점 일치도는 높았지만 더 큰 모델이 다른 신호를 읽을 가능성은 남는다. 채점 모델이 그 시기의 사후 사실을 알고 있을 수도 있다. 그런 누설은 결과를 좋게 만드는 쪽인데 결과가 음이라 판정에는 영향이 없다. 양성 대조 팩 가운데 67건은 채점 에이전트가 «금리 ±2 는 약 2.5bp 이상 움직임» 같은 보조 눈금을 덧붙여 채점했다. 확증 채점에 없던 눈금이라 양성 대조 수치에 약간의 이질성이 있다.
기준 예측 의존과 결과를 본 뒤 고친 것. 표적이 앞선 실험의 릿지 예측 잔차라 그 예측의 설정과 자료 처리를 물려받는다. 탐색 절의 관련도 2 문서, 제목 기사, 서프라이즈, 고정 기울기, 연도별 상관, 재채점, 미매각과 실링 상관, 양성 대조, 응찰 위치 격자는 확증 결과를 본 뒤 정했다. 확증 정의와 가설, 검정은 사전등록 그대로이고 바꾸지 않았다. 이것은 매매 규칙이 아니라 비용을 적용하지 않았다. 응찰 규칙으로 이어졌다면 2bp 비용을 넘어야 했으니 0.5bp 문턱은 그보다 느슨하다.
다음에 해 볼 것
같은 주 경쟁 입찰의 낙찰을 숫자로. 회차 공통 잔차를 줄일 몫(상한 1.3bp)은 남아 있다. 글의 분위기 대신 같은 주 공사채와 은행채 입찰의 «개별민평 대비 낙찰 가산금리» 를 사내 입찰공지 262건에서 숫자로 파싱해 회차 공통 잔차에 회귀한다. 사전등록 표적은 확인 구간 순위상관 −0.2 이하, ΔMAE 0.5bp 이상이다.
실링 결정 분석. 2024 년부터 관계가 사라진 이유가 실링이 분위기를 먼저 반영하기 때문인지 본다. 표적을 «실링 − 직전 낙찰» 로 바꾸어 S 와 국고 5일 변화가 실링 결정을 설명하는지 회귀한다. 실링이 설명한다면 남은 일은 실링과 유통 가격의 차를 종목 민평으로 재는 것이다.
산출물
코드는 code/ 에 있다. s0_fetch.py 가 1002 기사 목록과 본문을 받고, s1_packs.py 가 문서 표와 채점 팩을 만들고, score_prompt.md 가 채점 기준이며, s2_main.py 가 확증 런과 사전등록 격자, s3_explore.py 가 탐색, s4_post_fetch.py 와 s5_depth.py 가 양성 대조와 응찰 위치 격자(results/20261105T214429_depth1/), render_figures.py 가 이 페이지의 그림을 정본 런에서 다시 그린다. 정본 런은 results/20261105T214429_main/(지표 metrics.json, 회차 점수 rounds.csv, 격자 grid.csv, 귀무 perm.csv, 연도 yearly.csv, 계수 경로 coef_path.csv, 트랜치 예측 predictions.csv, 문서 점수 doc_scores_summary.csv)이고, 탐색은 results/20261105T214429_explore/explore.json 이다. 문서 본문과 원점수는 내부 자료 폴더에만 있다.
- 재현 1uv run python experiments/0214_khfc_mbs_eve_market_tone/code/s1_packs.py
- 재현 2uv run python experiments/0214_khfc_mbs_eve_market_tone/code/s2_main.py
- 재현 3uv run python experiments/0214_khfc_mbs_eve_market_tone/code/s3_explore.py results/20261105T214429_main
- 그림uv run python experiments/0214_khfc_mbs_eve_market_tone/code/render_figures.py results/20261105T214429_main
Appendix
A. 데이터셋 실물
회차 표 rounds.csv 의 첫 세 줄과, 아래 B 에서 쓰는 2024-01-12 회차 줄이다. e 는 회차 평균 잔차(bp), dktb5 는 국고 5일 변화(bp), ceil 은 트랜치 실링 평균, n_docs 는 3일 창 문서 수, n_brief 는 그중 브리핑 수다.
| date | round | e | dktb5 | ceil | n_docs | n_brief | S | demand | rate | capacity | housing |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021-01-13 | 2021-01 | −0.266 | −0.600 | 26.889 | 3 | 1 | −0.25 | 0.0 | −1.0 | 0.0 | 0.0 |
| 2021-01-20 | 2021-02 | −0.350 | 0.344 | 25.000 | 4 | 1 | 0.10 | 0.4 | −0.6 | 0.6 | 0.0 |
| 2021-02-03 | 2021-03 | −1.996 | −0.267 | 24.222 | 2 | 0 | 0.25 | 0.0 | 1.0 | 0.0 | 0.0 |
| 2024-01-12 | 2024-01 | −12.102 | −3.111 | 73.444 | 5 | 2 | 0.35 | 0.9 | 0.1 | 0.6 | −0.2 |
문서 표 doc_scores_summary.csv 는 문서마다 원천, 종류, 게시 시각, 제목(브리핑은 비움), 네 항목, 관련도, 종합 점수 c, 사전 점수를 담는다. 본문은 담지 않는다.
B. 모델 입출력 실물
2024-01-12 회차(확인 구간 첫 회차)의 3일 창 문서 5건과 채점, 그리고 보정이 낙찰 예측을 어떻게 바꿨는지다. 1002 기사는 제목만, 브리핑은 점수만 싣는다.
- Request meta
- 채점: Claude Haiku 하위 에이전트, 문서마다 독립, 기준은 사전등록 그대로. 보정: 2024-01-12 앞 68회차로 적합한 a = −0.155, b = −4.559
- Input
- ① 2024-01-11 07:56 1002 «주금공, 3.5억 스위스프랑 커버드본드 발행 성공…시장 포착 빛났다» ② 2024-01-11 08:12 브리핑 아침 시황 ③ 2024-01-11 16:55 1002 «[채권-마감] 금리 하락…금통위 소화·미 CPI 대기» ④ 2024-01-12 07:25 1002 «[오늘의 채권ㆍ외환 메모] (01월12일)» ⑤ 2024-01-12 08:11 브리핑 아침 시황
- Claude Haiku response
- ① demand 2, rate 0, capacity 2, housing 0, relevance 2 (c = 1.00) ② 1, −1, 0, 0, 2 (c = 0.00) ③ 0, 1, 0, 0, 0 (c = 0.25) ④ 0, 1, 0, 0, 0 (c = 0.25) ⑤ 0, 1, 0, −1, 1 (c = 0.00). 가중 평균 S = 0.35(수요 강한 쪽)
- Ground truth check
- 보정 = −0.155 − 4.559 × 0.35 = −1.75bp. 1년 트랜치 릿지 예측 30.14 → MS 28.39, 실제 낙찰 25.0(실링 40). 회차 평균 잔차는 −12.1bp 로 실제로 수요가 강했고, 이 회차에서는 보정이 맞는 쪽이었다. 그러나 확인 구간 62회차 전체에서는 오차가 0.21bp 늘었다
C. 실험 설정
- 표본2021-01 ~ 2026-10 회차 130, 트랜치 1,000(확인 62회차 445트랜치)
- 표적e = 낙찰 − 앞선 실험의 걷기 전진 릿지 예측(bp)
- 문서1002 마감 130, 메모 130, MBS 제목 71, 주금공 제목 184, 브리핑 시황 108, 게시 시각 D 09:00 이전
- 채점Claude Haiku 하위 에이전트, 30건 팩 21개, 네 항목 −2 ~ +2, 관련도 0 ~ 2
- 회차 점수마지막 마감 기사 + 3일 창 문서의 c, (1 + relevance) 가중 평균
- 보정OLS e = a + b S, 회차마다 앞선 모든 회차로 재적합, 15회차 미만이면 b = 0
- 기준선M0(절편만), 릿지 그대로, B2, 귀무(점수 순열 1,000회)
- 검정회차 군집 부트스트랩 5,000회, 회차 순열 10,000회, seed 214, Holm 4개
- 격자창 1, 3, 7일 × 원천 1002, 브리핑, 둘 다 × 마감 D−1 18:00, D 09:00
- 충격 구간2022-09-28 ~ 2022-12-31(2회차)
- 재채점무작위 60건(seed 214), 같은 기준과 같은 모델 계열