M = Memory 메모리 반도체 · INDEX = 지수 · 삼성전자 · SK하이닉스 · 삼성전자우
이 사이트에는 검증표라는 페이지가 있고, 그 안에 넉 달째 비어 있는 칸이 하나 있습니다. 예측력입니다. R²·MAE·RMSE를 적기로 해 두고 계속 "아직 없습니다"라고만 적어 왔습니다.
오늘 그 칸 옆에 두 칸을 새로 만들고 숫자를 넣었습니다. 예측력 칸은 여전히 비어 있습니다. 왜 그런지, 그리고 넣어 본 숫자가 무엇을 말하는지 적습니다.
종합지수가 이후 60거래일 동안의 수출액 YoY 변화를 얼마나 설명하는지 재봤습니다. 표본 154개.
| 무엇으로 쟀나 | 표본 | R² | MAE / RMSE |
|---|---|---|---|
| 종합지수 그대로 | 154 | 0.000 | 58.09 / 62.56 |
| 종합지수에서 수출 지표를 뺀 값 | 154 | 0.191 | 47.45 / 56.27 |
첫 줄부터 말하겠습니다. 0.000입니다. 저희 종합지수는 이 구간에서 60거래일 뒤 수출 변화를 설명하지 못했습니다. 기울기가 0.0012라 사실상 수평선입니다.
두 번째 줄이 이 글을 쓰는 이유입니다.
저희는 검증표의 「알려진 결함」에 이렇게 적어 두었습니다. 수출액 YoY는 종합지수의 입력(가중 0.10)이면서 동시에 저 표의 y이기도 합니다. 그러면 R²의 일부는 지수가 업황을 맞힌 게 아니라 지수가 자기 입력의 미래를 맞힌 것이 됩니다. 그래서 "이 겹침은 R²를 실제보다 높은 쪽으로 민다"고 적었습니다. 값을 낼 때는 그 지표를 뺀 지수로 다시 재서 두 값을 같이 싣겠다고도 적어 두었고요.
그대로 했더니 반대로 나왔습니다. 수출 지표를 빼자 R²가 0.000에서 0.191로 올랐습니다. 자기 입력을 지운 지수가 더 잘 맞힌 겁니다.
왜 그런지는 아직 모릅니다. 짐작은 할 수 있습니다 — 수출 YoY는 곡선의 상단에 오래 머물러 있어서, 그 지표가 들어 있는 동안 지수가 위쪽에 눌려 붙어 움직임이 줄었을 수 있습니다. 하지만 그건 짐작이고, 짐작을 숫자처럼 적지는 않겠습니다.
틀린 예상은 지우지 않았습니다. 검증표에 그대로 두고 그 아래에 측정값을 붙였습니다. 예상이 틀렸다는 걸 조용히 고치는 것이 이 페이지가 막으려는 바로 그 행위이기 때문입니다.
0.191이라는 숫자를 보고 "그럼 이 지수가 어느 정도는 맞히는구나"라고 읽으시면 안 됩니다. 두 가지가 이 값을 실제보다 좋게 만듭니다.
하나, 재구성 구간입니다. 이 사이트의 지수 기록 370일 중 라이브는 14일뿐입니다. 나머지 356일은 "그날 발표돼 있던 자료만으로 나중에 다시 계산한" 값입니다. 미래 정보를 쓰지 않게 막아 두었지만, 그날 서버가 실제로 화면에 띄운 값은 아닙니다.
둘, 회귀를 같은 구간에서 적합시켰습니다. 데이터를 보고 선을 그은 다음 그 선이 데이터를 얼마나 설명하는지 재는 방식(in-sample)입니다. 새 데이터에 대고 재는 게 아닙니다.
두 가지 모두 좋게 나오는 쪽으로 밉니다. 그래서 이 표의 제목은 「백테스트」이고, 「예측력」 칸은 계속 비어 있습니다. 진짜 값은 라이브 기록이 250거래일 쌓여야 나오고, 그게 2027년 9월 22일입니다.
"재구성은 그날 띄운 값이 아니다"는 말도 넉 달째 문장이었습니다. 오늘 그것도 쟀습니다. 라이브로 기록된 14일을 지금 다시 재구성해서, 그날 실제로 띄웠던 값과 비교했습니다.
| 표본 | 평균 절대차 | 중앙값 | 최대 | 치우침 |
|---|---|---|---|---|
| 14일 | 1.66점 | 1.5점 | 5.2점 (7/22) | −1.51점 |
주목할 건 마지막 칸입니다. 차이가 무작위로 흩어져 있지 않고 한쪽으로 쏠려 있습니다. 재구성하면 실제보다 평균 1.51점 낮게 나옵니다. 계통 오차입니다.
즉 위의 백테스트 154개 표본은 "실제보다 1.5점쯤 낮게 나오는 자"로 잰 값입니다. 표본 14개로 잰 편향이라 이 숫자 자체도 아직 약합니다만, 방향이 있다는 것까지는 보입니다.
이 값은 오늘 아침에도 한 번 움직였습니다. 어제 처음 쟀을 때는 −1.79점이었는데, 재는 김에 재구성 쪽 코드를 들여다보다 capex 이력이 두 곳에 따로 쌓이고 있는 것을 발견해 고쳤습니다. 고치고 다시 재니 −1.51입니다. 자를 고치면 자로 잰 값도 바뀝니다 — 그래서 이 칸은 앞으로도 움직일 겁니다.
DRAM 현물가를 y로 삼은 타깃은 재지 못했습니다. 현물가 수집 이력이 기준(50일)에 못 미칩니다. 저희가 1순위로 쓰려던 DXI 지수를 무료로 받을 경로가 없어서 대체 계열을 쓰고 있고, 그 이력이 아직 짧습니다. 이 결함도 검증표에 그대로 적혀 있습니다.
숫자를 넣고 나니 페이지가 그럴듯해 보이기는 합니다. 그런데 그 숫자가 말하는 건 "이 지수가 맞힌다"가 아니라 "아직 맞히는지 모른다"입니다. 그 둘을 구분해서 적어 두는 것이 이 페이지가 있는 이유입니다.
전부 검증표에서 직접 보실 수 있습니다. 계산이 이상하면 알려주세요 — 이번 주에만 두 번, 읽으신 분들이 계산을 고쳐 주셨습니다.