GBT
한국외국어대학교Global Business & Technology
금융 AI · 모듈 11 — CNN 차트패턴 — 패턴 도장 찍기
목차 강의 홈 ↗
금융 AI 강의 · 모듈 11

CNN 차트패턴,
패턴 도장 찍기

"쌍바닥", "헤드앤숄더" — 트레이더들이 눈으로 읽어 온 차트 속의 모양을 숫자로, 재현 가능하게 재는 방법이 있을까. 이미지 인식에서 검증된 합성곱을 1차원 가격 궤적에 적용하고, 필터를 학습조차 하지 않는 지름길 ROCKET까지 간다. 커널을 직접 밀어 보며 반응 곡선을 관찰하는 실습이 들어 있다.

금융 AI · 딥러닝 모듈4개 절 + 실습 1개해설 · 퀴즈 포함원문 출처 링크
0
2000년, 저널 오브 파이낸스

사람 눈에만 보이던 모양이 통계학의 법정에 서다

같은 차트를 놓고도 누구는 쌍바닥을 보고 누구는 아무것도 못 본다. 이 모듈은 그 "모양"을 재는 측정 도구를 만든다.

도입 · 한 장면

헤드앤숄더를 수식으로 정의한 논문

2000년, 금융학 최고 권위지 Journal of Finance에 이례적인 논문이 실렸다. MIT의 연구진이 "헤드앤숄더", "쌍바닥" 같은 차트패턴 — 오랫동안 학계가 점성술 취급해 온 기술적 분석의 어휘 — 을 수식으로 정의하고, 1962년부터 1996년까지 미국 주식 데이터에서 자동 탐지해 통계 검정에 올린 것이다.

결론은 양쪽 모두를 놀라게 했다. 일부 패턴이 나타난 뒤의 수익률 분포는 그렇지 않을 때와 통계적으로 달랐다 — 패턴 속에 정보가 0은 아니었다. 그러나 논문은 그것이 거래비용을 이기고 돈이 된다는 뜻은 아니라고 못 박았다. 이 신중한 결론보다 더 오래 남은 것은 방법이다. "내 눈에는 쌍바닥으로 보인다"는 주관을, 누가 돌려도 같은 답이 나오는 알고리즘으로 바꾼 것.

이 모듈은 그 문제의식을 현대적 도구로 다시 푼다. 사진에서 고양이를 찾는 CNN의 핵심 연산인 합성곱(convolution)은 작은 "패턴 도장"을 데이터 위에 밀며 닮은 정도를 찍는 연산이고, 1차원 가격 궤적에도 그대로 적용된다. 그리고 놀랍게도, 그 도장을 학습조차 하지 않고 무작위로 찍어 버리는 ROCKET이라는 지름길이 실전에서 잘 통한다.

CNN 차트패턴을 다룬 4컷 만화
여는 만화. 이 모듈의 핵심 질문을 압축한 예고편이다 — 사람마다 다르게 보이는 차트 속 "모양"을 어떻게 숫자로, 재현 가능하게 잴 것인가. 만화의 답인 "패턴 도장 찍기"가 정확히 무슨 계산인지, 그리고 도장을 무작위로 만들어도 되는 이유를 이 모듈에서 확인한다.
합성곱은 무엇을 하는가작은 패턴 도장을 한 칸씩 밀며 닮음 점수(내적)를 찍는다. 출력은 "패턴 출현 강도의 시계열"이다
왜 무작위 도장이 통하는가복권의 논리. 많이 찍으면 일부는 우연히 진짜 패턴과 닮고, 마지막 회귀가 유용한 것만 고른다
검증은 무엇을 말해 주는가대조군 통과는 파이프라인의 정상 작동 확인일 뿐이다. 정보가 있다는 것과 알파가 있다는 것은 다르다
더 읽기

차트패턴 어휘의 역사는 100년이 넘는다. 기술적 분석 교과서들은 수백 가지 패턴에 이름을 붙여 왔지만, 문제는 언제나 같았다 — 판정 기준이 사람 눈이라서 재현이 안 된다는 것. 같은 차트에 대해 전문가끼리도 판정이 갈리면, 그 패턴이 유효한지 검증하는 일 자체가 불가능하다. 2000년 논문의 기여는 "패턴이 돈이 된다"는 증명이 아니라, 판정을 커널 회귀와 극값의 기하학적 배열이라는 알고리즘으로 바꿔 검증을 가능하게 만든 데 있다.

생각해 볼 질문

"이 차트는 쌍바닥이다"라는 주장을 검증 가능하게 만들려면 최소한 무엇이 정의되어야 하는가. 이 모듈이 끝나면 "작은 숫자열 하나와 내적"이라는 답의 의미를 설명할 수 있어야 한다.

출처 Lo, Mamaysky & Wang, "Foundations of Technical Analysis", Journal of Finance 55(4), 2000. NBER Working Paper 7613

1
국소 패턴의 반응을 재는 자

합성곱 — 도장을 밀며 닮음을 찍는다

합성곱의 반응값은 내적, 즉 닮음 점수다. 도장과 닮은 모양이 나온 위치에서 값이 커진다 — 그게 전부다.

핵심 연산

내적 — 닮음을 재는 한 줄 계산

내적(inner product)은 두 숫자열을 자리끼리 곱해 모두 더한 값이다. \( (1,2)\cdot(3,4) = 1\times3 + 2\times4 = 11 \). 두 숫자열이 같은 자리에서 같은 부호로 클수록 값이 커지므로, 내적은 닮음 점수로 쓸 수 있다.

합성곱(convolution)은 작은 "패턴 도장" — 필터(filter) 또는 커널(kernel)이라 부른다 — 을 데이터 위에서 한 칸씩 밀며, 겹치는 구간과 도장의 내적을 찍는 연산이다. 예컨대 길이 9의 숫자열 (−1, −1, 0, +1, +2, +1, 0, −1, −1)은 "가운데가 봉긋 솟은 모양"에 크게 반응하는 도장이다. 미니 예제로 확인해 보자. 데이터가 (1, 3, 1, 0)이고 도장이 봉우리 탐지기 (−1, +2, −1)이라면:

도장 위치겹치는 구간내적 계산반응값
위치 1(1, 3, 1)1×(−1) + 3×2 + 1×(−1)+4
위치 2(3, 1, 0)3×(−1) + 1×2 + 0×(−1)−1

데이터의 두 번째 자리, 즉 3이 솟아 있는 곳에서 반응이 크고, 봉우리가 아닌 곳에서는 작거나 음수다. 도장이 정말 "자기와 닮은 모양"의 위치를 찾아냈다. 사진에서 고양이를 찾는 CNN은 "귀 모양 탐지기", "수염 모양 탐지기" 같은 작은 필터 수백 개로 이미지를 훑는데, 각 필터가 하는 일이 정확히 이것이다. 이 모듈은 같은 연산을 2차원 이미지 대신 1차원 가격 궤적에 적용한다.

더 읽기

내적이 닮음 점수가 되는 이유를 한 겹 더 보면, 내적은 두 벡터 사이 각도의 코사인에 각자의 크기를 곱한 값이다. 방향이 같으면(모양이 닮으면) 코사인이 1에 가까워 값이 크고, 반대 방향이면(모양이 뒤집혀 있으면) 음수가 된다. 그래서 합성곱의 반응값은 부호까지 정보다 — 봉우리 탐지기가 큰 음수를 찍은 위치에는 골짜기가 있다는 뜻이다. 실습에서 이 부호 반전을 직접 확인한다.

출력의 형태

특징 맵 — 반응값의 시계열, 그리고 작은 도장이 이기는 이유

길이 30의 가격 궤적 위에 길이 9의 도장을 맨 왼쪽부터 끝까지 한 칸씩 밀면 반응값이 30 − 9 + 1 = 22개 나온다. 이 나열이 특징 맵(feature map)이다. 원래 데이터가 "가격의 시계열"이라면 특징 맵은 "특정 패턴 출현 강도의 시계열"이다.

왜 하필 작은 도장일까. 고양이 사진 전체를 통째로 외우는 탐지기는 그 사진에만 반응하고 다른 고양이는 놓친다. 반면 "뾰족한 귀"라는 작은 조각 탐지기는 귀가 사진 어디에 있든, 어떤 고양이든 반응한다. 패턴은 국소적으로 반복되기 때문에 작은 조각을 찾는 탐지기가 훨씬 일반화가 잘 된다. 가격 차트도 마찬가지다. "20일 전체가 어제와 똑같은 날"은 다시 오지 않지만, "3일간 급락 후 반등"이라는 조각은 여기저기서 반복해 나타난다. k-NN 아날로그 모듈이 "20일 전체가 통째로 닮은 과거"를 찾았다면, 합성곱은 그 안의 국소 패턴 조각(3~11일짜리 모양)이 언제 얼마나 나타났나를 잰다. 보는 단위가 다르다.

널리 퍼진 오해

"합성곱 필터는 '오를 모양'을 안다."

아니다. 필터는 그저 어떤 기하학적 조각의 출현을 재는 측정 도구일 뿐이고, 그 조각이 미래 수익과 관련이 있는지는 뒤에 붙는 예측 모형이 판단할 몫이다. 자와 저울이 좋은 요리를 보장하지 않듯, 합성곱은 재료를 잘 재 줄 뿐이다. "측정"과 "예측"의 분리는 이 모듈 전체의 뼈대다.

더 읽기

작은 필터의 또 하나의 성질은 위치 불변성이다. 같은 도장을 전 구간에 밀기 때문에, "급락 후 반등"이 관찰 창의 앞쪽에서 나타나든 뒤쪽에서 나타나든 같은 도장이 같은 방식으로 반응한다. 패턴의 정체와 패턴의 위치가 분리되는 것이다. 이미지 CNN이 사진 어디에 있는 고양이든 찾아내는 이유이자, 시계열에서 "언제 나타났는지"와 "무엇이 나타났는지"를 따로 요약할 수 있는 이유다 — 이 요약이 §2의 max와 ppv로 이어진다.

생각해 볼 질문

길이 60의 시계열에 길이 5의 도장을 밀면 반응값은 몇 개인가. 일반식 \(n - m + 1\)을 스스로 유도해 보자.

L
직접 밀어 본다

도장 밀기 실험실

고정된 30일 가격 궤적 위에 커널 3종을 직접 밀며 반응 곡선을 본다. 커널과 닮은 구간에서 반응이 최대가 되는 것을 눈으로 확인한다.

실습 · 조작형

커널을 밀면 반응 곡선이 그려진다

LAB · 1차원 합성곱

커널 3종 × 위치 슬라이더 — 특징 맵을 손으로 만들기

목표 — 커널(패턴 도장)을 위치마다 밀며 내적을 찍으면 "반응의 시계열"(특징 맵)이 만들어지고, 커널과 닮은 구간에서 반응이 최대가 된다는 것을 확인한다. 데이터는 상승(0~9일) → V자 급락·반등(10~19일) → 하락(20~29일)으로 설계된 고정 궤적이다(난수 없음).

가격 궤적 커널 모양(도장) 반응 곡선(특징 맵) 반응 0 기준선

조작 안내 — 먼저 V자 커널로 위치 슬라이더를 0에서 25까지 천천히 민다. 이어 상승·하락 커널로 바꿔 같은 실험을 반복한다. 관찰 포인트 — ① V자 커널은 골짜기 한복판(p=12, 창의 중심이 바닥인 14일)에서 반응이 최대(+5.0)이고, 직선 구간에서는 정확히 0이다 — 이 커널은 기울기가 아니라 "굽음"에만 반응한다. ② 같은 V자 커널이 꼭대기(19일 부근, p=17)에서는 큰 음수(−7.5)를 찍는다 — 뒤집힌 모양에는 반응의 부호가 뒤집힌다. ③ 상승 커널은 정속 상승 구간(p=0~5)에서 반응 10으로 평평하다가, 뜻밖에도 V의 오른팔(p=15)에서 최대 14.5를 찍는다 — 급락 후 반등이 이 데이터에서 가장 가파른 상승이기 때문이다. 커널은 우리가 이름 붙인 "상승 구간"이 아니라 자기와 닮은 모양 그 자체에 반응한다. ④ readout의 max·ppv가 반응 곡선 전체를 두 숫자로 요약한 값이다 — 이것이 §2에서 배울 ROCKET의 풀링이다.

더 읽기

이 실습에서 ROCKET까지는 정확히 세 걸음이다. 첫째, 손으로 고른 커널 3개를 무작위 커널 100개로 바꾼다. 둘째, 슬라이더로 한 칸씩 밀던 것을 전 위치 자동 계산으로 바꾼다. 셋째, 반응 곡선 전체를 들고 다니는 대신 max와 ppv 두 숫자만 남긴다(풀링). 커널당 2개 × 100개 = 200개의 요약값이 다음 절의 릿지 회귀로 들어간다.

2
학습하지 않는 CNN

ROCKET — 복권 100장의 논리

어려운 학습(필터 만들기)은 운에 맡기고, 쉬운 학습(고르기)만 한다. 이 분업이 잡음 많은 금융 데이터에서 오히려 강하다.

발상의 전환

필터를 학습하지 않고 무작위로 찍어 고정한다

보통 CNN은 필터를 역전파로 학습하는데, 데이터가 많이 필요하고 계산도 무겁다. ROCKET(Dempster 외, 2020)은 대담한 지름길을 택했다 — 필터를 그냥 무작위로 만들어 고정해 버린다.

어떻게 무작위가 통할까. 복권의 논리다. 복권을 100장 사면 몇 장은 당첨되듯, 무작위 도장을 충분히 많이 찍으면 그중 일부는 데이터의 진짜 패턴과 우연히 닮아 있다. 마지막 단계의 단순한 선형 회귀가 "어떤 도장의 반응이 예측에 유용한지"만 골라 가중치를 주면 된다. 이 단순한 방법이 시계열 분류 벤치마크들에서 정식 학습 CNN에 필적하는 정확도를 몇 자릿수 빠른 속도로 달성해 유명해졌다.

이 분업이 금융 데이터에서 특히 매력적인 이유가 있다. 역전파로 필터를 학습하려면 수만 개의 매개변수를 조정해야 하는데, 신호 대 잡음비가 극히 낮은 주가 데이터에서 이는 잡음을 외울 자유도를 잔뜩 주는 일이다(과적합). ROCKET은 조정 가능한 부분을 마지막 회귀 계수로 제한해 버린다. 외울 수 있는 것이 적으니 망가질 수 있는 것도 적다. 계산이 빠르다는 것도 덤이 아니라 본질적 장점이다 — 수백 종목 × 수천 날짜의 워크포워드 검증을 노트북에서 몇 분 만에 돌릴 수 있으니, 전향 평가 모듈에서 강조한 "검증을 아끼지 말라"는 원칙을 지키기 쉬워진다.

더 읽기

"무작위로 만든 특징 + 단순한 선형 모형"이라는 조합은 ROCKET의 발명이 아니라 기계학습의 유서 깊은 전통이다. 무작위 투영이나 랜덤 푸리에 특징(Rahimi & Recht, 2007)처럼, 특징을 잘 설계하는 대신 무작위로 많이 만들고 선형 모형에 선택을 맡기는 접근은 "특징 수가 충분히 많으면 정교하게 학습한 특징에 근접한다"는 이론적 보증이 연구되어 왔다. ROCKET은 그 전통을 시계열 합성곱에 이식한 사례다.

규모에 대한 주석 하나. 원 논문의 기본 설정은 무작위 커널 1만 개(요약값 2만 개)이고, 이 강의 플랫폼의 실험은 계산과 해석을 가볍게 하려고 100개(요약값 200개)로 줄인 축소 구현이다. 커널 수를 늘리면 표현력이 오르지만 §4에서 볼 "우연의 덤"도 함께 커진다.

출처 Dempster, Petitjean & Webb, "ROCKET: Exceptionally fast and accurate time series classification using random convolutional kernels", Data Mining and Knowledge Discovery 34, 2020. arXiv:1910.13051

풀링과 채점

max와 ppv — 강도와 빈도, 그리고 릿지라는 채점기

각 도장의 반응 곡선에서 두 가지 요약값만 남긴다. 관찰 구간 안에서의 최대 반응(max)은 그 패턴이 얼마나 뚜렷하게 나타났나를, 양수 반응의 비율(ppv)은 얼마나 자주 나타났나를 말해 준다. 강도와 빈도라는 서로 다른 정보다.

손계산으로 확인하자. 어떤 도장을 밀어 얻은 반응값이 (−2, 5, 1, −1, 3)이라면 max = 5(가장 뚜렷했던 순간의 강도), 양수는 5, 1, 3의 세 개이므로 ppv = 3/5 = 0.6(관찰 기간의 60%에서 이 패턴이 나타났다).

반응값maxppv읽는 법
(−2, 5, 1, −1, 3)50.6한 번 강렬하게 나타난 패턴
(4, 4, 4, 4, 4)41.0꾸준히 은은하게 나타난 패턴

max는 첫 종목이 높지만 ppv는 둘째 종목이 높다 — 어느 쪽이 예측에 유용한지는 사람이 아니라 릿지 회귀(ridge regression)가 데이터로 판단한다. 릿지는 선형 회귀에 "가중치가 너무 커지지 않게" 벌점을 더한 버전으로, 도장 100개 × 2 = 200개의 요약값을 넣어 향후 5일 수익률을 예측하고 상위 종목을 사는 것이 이 모듈의 전략이다.

더 읽기

왜 하필 릿지인가. 입력이 200개나 되는데 그중 상당수는 서로 비슷한 도장에서 나와 강하게 상관되어 있다. 보통의 회귀는 이런 상황에서 계수가 극단적으로 커졌다 작아졌다 요동치지만, 릿지의 벌점이 계수들을 0 쪽으로 지그시 눌러 "쓸모없는 도장은 조용히, 쓸모 있는 도장만 적당히" 반영되게 한다. 복권 100장 중 당첨 복권만 골라내는 채점기 역할에 꼭 맞는 도구다.

생각해 볼 질문

실습의 반응 곡선에서 V자 커널의 ppv는 10/26 ≈ 0.385였다. 같은 데이터에 "하락" 커널을 밀면 ppv가 더 높게 나온다(13/26 = 0.5). 두 숫자의 차이는 이 가격 궤적에 대해 무엇을 말해 주는가.

3
좋은 자의 조건

도장 공방의 규칙 — 평균 0과 팽창

가격 수준이 아니라 모양에만 반응하도록 평균을 0으로 맞추고, 팽창으로 같은 도장이 긴 주기까지 보게 한다.

설계 디테일

60만 원짜리 주식에만 반응하는 자는 자가 아니다

도장 숫자들의 평균을 0으로 맞춘다. 평균이 0이 아닌 도장, 예컨대 (1, 1, 1)은 모양과 무관하게 가격이 높기만 하면 내적이 커진다 — 60만 원짜리 주식이 6천 원짜리 주식보다 항상 큰 반응을 내는 자는 모양을 재는 자가 아니다.

평균을 0으로 맞추면 데이터에 상수를 더해도 반응이 변하지 않으므로, 도장은 순수하게 오르내림의 모양에만 반응한다. 실습의 커널 3종이 모두 합이 0이었던 이유다. 둘째 디테일은 팽창(dilation)이다. 도장의 숫자 사이 간격을 벌려 데이터를 듬성듬성 건너뛰며 읽게 하면, 길이 9의 도장을 간격 2로 팽창했을 때 실제로는 17일에 걸친 느린 패턴을 보게 된다. 도장 길이를 늘리지 않고 시야만 넓히는 요령이다. 그리고 합성곱과 요약(max·ppv) 모두 "오늘로 끝나는 과거 창"만 쓰는 인과적 계산이라 룩어헤드가 없다.

  • 평균 0 — 가격 수준이 아니라 모양에만 반응 (수준 불변)
  • 팽창 — 같은 길이의 도장으로 더 긴 주기의 패턴까지 (시야 확장)
  • 인과적 창 — 미래 데이터가 계산에 들어올 통로가 없다 (룩어헤드 차단)
더 읽기

후속작 MiniRocket(Dempster 외, 2021)은 "복잡한 학습이 정말 필요한가?"라는 질문을 극한까지 밀어붙였다. 도장의 숫자를 −1과 2 두 값만으로 제한하고 요약값도 ppv 하나로 줄였는데, 정확도는 거의 그대로이고 속도는 다시 수십 배 빨라졌다. 무작위성마저 거의 제거되어 결과가 재현 가능해진 것도 실무적 장점이다. 화려한 모형을 쓰기 전에 이런 강력한 단순 기준선부터 깔아 보라는 교훈 — 이 강의가 이동평균부터 시작한 이유와 같은 교훈이다.

출처 Dempster, Schmidt & Webb, "MiniRocket: A Very Fast (Almost) Deterministic Transform for Time Series Classification", KDD, 2021. arXiv:2012.08791

4
심은 패턴을 수확했는가

검증 — 정보가 있다 ≠ 알파가 있다

양성 대조군 통과는 파이프라인의 정상 작동 확인일 뿐이다. 실제 시장의 차트패턴에 예측력이 있는지는 별개의, 그리고 오래된 논쟁이다.

대조군 실험

사이클을 심고, 무작위 도장으로 수확하다

이 강의 플랫폼의 합성데이터 실험에서, 주기적 사이클을 일부러 심은 양성 대조군에 대해 채점 지표가 인샘플 10.42 → OOS(표본 외) 9.33으로 유지됐다. 심은 패턴을 수확한 것이다.

이 결과를 한 겹 뜯어 보자. 사이클은 "일정 길이의 오르내림 조각"이 반복되는 신호이므로, 국소 조각을 재는 무작위 도장 중 몇 개는 반드시 그 조각과 닮아 있고, 릿지가 그들을 골라낸다. 파이프라인이 설계 의도대로 작동한다는 확인이다. 인샘플 10.42가 OOS에서 9.33으로 소폭 내려간 것도 자연스럽다 — 인샘플 수치에는 진짜 신호에 우연의 덤이 살짝 얹혀 있기 마련이라, 정직한 모형이라도 OOS에서는 약간 내려앉는다. 무너지지 않고 유지되는 것이 핵심이다.

실제 시장의 차트패턴에 예측력이 있는지는 학계의 오래된 논쟁거리다. 도입에서 본 2000년 연구조차 "일부 패턴에 정보가 있다"까지만 확인했다. 대조군 통과와 실시장 알파는 별개라는, 이 강의의 후렴구를 여기서도 기억하자.

더 읽기

Lo, Mamaysky & Wang의 연구가 고전이 된 이유는 방법론에 있다. 그들은 "헤드앤숄더가 보인다"는 주관적 판단 대신, 가격 곡선을 커널 회귀로 부드럽게 편 뒤 극대·극소의 기하학적 배열로 패턴을 알고리즘으로 정의해 1962~1996년 미국 주식에서 자동 탐지했다. 결론은 신중했다 — 일부 패턴이 나타난 뒤의 수익률 분포는 그렇지 않을 때와 통계적으로 달랐지만(정보가 0은 아니다), 그것이 거래비용을 이기고 돈이 된다는 뜻은 아니라고 명시했다. "정보가 있다"와 "알파가 있다" 사이의 간극이라는, 이 강의가 반복해 온 구분이 그대로 담겨 있다.

출처 Lo, Mamaysky & Wang, "Foundations of Technical Analysis", Journal of Finance 55(4), 2000. NBER Working Paper 7613 · 대조군 수치는 이 강의 플랫폼의 합성데이터 실험 실측이다.

남는 긴장

도장 100개는 가설 200개 — 다중검정이라는 그림자

무작위 도장 100개와 요약값 200개를 쓴다는 것은 곧 가설 200개를 동시에 검정하는 것과 비슷하다. 아무 신호가 없는 데이터에서도 200개 중 몇 개는 우연히 그럴듯한 성과를 낸다.

릿지의 벌점과 OOS 검증이 이 우연을 걸러 주는 안전장치이지만, 특징 수를 늘릴수록 — 원 논문의 기본값처럼 도장 1만 개라면 — 우연의 덤도 함께 커진다는 긴장 관계는 늘 남는다. 그래서 음성 대조군, 곧 아무것도 심지 않은 무작위 보행에서 성과가 0 근처로 나오는지 함께 확인하는 습관이 중요하다. 양성 대조군은 "찾을 수 있는 것을 찾는가"를, 음성 대조군은 "없는 것을 만들어 내지 않는가"를 검사한다 — 저울의 영점과 눈금을 각각 확인하는 셈이다.

더 읽기

다중검정의 직관은 동전 던지기로 잡는 것이 빠르다. 동전을 10번 던져 앞면이 8번 이상 나올 확률은 약 5.5%다 — 한 사람에게는 드문 일이지만, 200명이 던지면 10명쯤은 "동전 던지기의 달인"처럼 보인다. 도장 200개 중 우연히 예측에 맞아떨어지는 몇 개가 나오는 것도 같은 산수다. 릿지가 계수를 눌러 두고, 최종 판정을 학습에 쓰지 않은 OOS 구간에서 내리는 것은 이 "달인 착시"에 속지 않기 위한 이중 장치다.

생각해 볼 질문

도장을 100개에서 1만 개로 늘리면 좋은 점과 위험한 점이 각각 무엇인가. "표현력"과 "우연의 덤"이라는 두 단어로 답해 보자.

확인

퀴즈와 정리

답을 보기 전에 먼저 스스로 답해 본다. 전부 이 모듈 안에서 다룬 내용이다.

도장(커널) 숫자들의 평균을 0으로 맞추는 이유는?
평균이 0이 아닌 도장은 가격 수준(비싼 주식/싼 주식)에 반응해 버린다. 평균을 0으로 맞추면 데이터에 상수를 더해도 반응이 변하지 않으므로, 도장은 가격 수준이 아니라 오르내림의 모양에만 반응한다.
max와 ppv는 각각 무엇을 재는가?
max는 관찰 구간에서 패턴이 가장 뚜렷하게 나타난 순간의 강도, ppv(양수 반응 비율)는 패턴의 발생 빈도를 잰다. "한 번 강렬하게"와 "꾸준히 은은하게"는 다른 정보이고, 어느 쪽이 예측에 유용한지는 릿지가 데이터로 판단한다.
무작위 필터가 통하는 이유를 한 문장으로?
복권처럼 많이 찍으면 일부는 우연히 데이터의 진짜 패턴과 닮게 되고, 마지막의 릿지 회귀가 유용한 것만 골라 가중치를 주기 때문이다. 어려운 학습(필터 만들기)은 운에, 쉬운 학습(고르기)만 데이터에 맡기는 분업이다.
길이 30의 시계열에 길이 9의 도장을 한 칸씩 밀면 반응값은 몇 개 나오는가?
30 − 9 + 1 = 22개. 일반적으로 길이 n의 데이터에 길이 m의 도장이면 n − m + 1개다. 이 반응값의 나열이 특징 맵 — "패턴 출현 강도의 시계열"이다.
ROCKET이 정식 학습 CNN보다 몇 자릿수 빠른 이유는?
필터를 역전파로 학습하지 않고 무작위로 만들어 고정한 뒤, 마지막 릿지 회귀만 학습하기 때문이다. 조정할 매개변수가 회귀 계수뿐이라 계산이 가볍고, 잡음 많은 금융 데이터에서는 "외울 수 있는 것이 적으니 망가질 수 있는 것도 적다"는 과적합 억제 효과까지 덤으로 얻는다.
팽창(dilation)을 쓰는 목적은?
도장 길이를 늘리지 않고 숫자 사이 간격을 벌려, 같은 도장으로 더 긴 주기의 패턴을 보게 하려는 것이다. 길이 9의 도장을 간격 2로 팽창하면 실제로는 17일에 걸친 느린 패턴을 읽는다.
양성 대조군에서 인샘플 성과가 OOS에서 소폭 내려가는 것은 왜 자연스러운가?
인샘플 수치에는 진짜 신호에 우연의 덤이 얹혀 있기 마련이라, 정직한 모형이라도 OOS에서는 약간 내려앉는다(이 플랫폼 실험에서는 10.42 → 9.33). 급락하지 않고 유지되는지가 판정 기준이고, 유지됐다면 파이프라인이 심은 패턴을 제대로 수확했다는 확인이다 — 단, 그것이 실시장 알파의 보증은 아니다.
핵심 정리

① 합성곱 = 국소 패턴 도장의 반응 측정. 반응값은 내적(닮음 점수)이고, 이미지 CNN과 같은 원리를 1차원에 적용한 것이다.

② ROCKET: 도장은 무작위로 찍고 "고르기"만 학습한다. 복권의 논리로, 빠르고 강력하다.

③ max와 ppv = 패턴의 강도와 빈도라는 두 가지 다른 정보. 릿지 회귀가 유용한 도장만 골라낸다.

④ 평균 0 도장 = 가격 수준이 아니라 모양에만 반응. 팽창 = 같은 도장으로 긴 주기까지.

⑤ 대조군 통과는 파이프라인의 정상 작동 확인일 뿐, 실시장 알파의 보증이 아니다 — 정보가 있다 ≠ 알파가 있다.

원문으로 확인하기

참고문헌

수치와 일화는 아래 원문 기준으로 서술했다. 링크는 공개 원문이 확실한 것만 달았다.

ROCKET 계열

  1. Dempster, A., Petitjean, F. & Webb, G. I. (2020). "ROCKET: Exceptionally fast and accurate time series classification using random convolutional kernels." Data Mining and Knowledge Discovery 34. arxiv.org/abs/1910.13051 — 무작위 커널 1만 개 + max/ppv 풀링 + 선형 분류기의 원 논문.
  2. Dempster, A., Schmidt, D. F. & Webb, G. I. (2021). "MiniRocket: A Very Fast (Almost) Deterministic Transform for Time Series Classification." KDD '21. arxiv.org/abs/2012.08791 — 커널 가중치를 −1과 2로 제한, ppv만으로 정확도를 거의 유지.
  3. Rahimi, A. & Recht, B. (2007). "Random Features for Large-Scale Kernel Machines." NIPS 20. papers.nips.cc — "무작위 특징 + 선형 모형" 전통의 대표 논문.

차트패턴의 실증

  1. Lo, A. W., Mamaysky, H. & Wang, J. (2000). "Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation." Journal of Finance 55(4). nber.org/papers/w7613 — 차트패턴을 알고리즘으로 정의해 1962~1996년 미국 주식에서 통계 검정한 고전. "일부 패턴에 정보가 있다"까지만 확인.

이 자료의 백테스트 수치(인샘플 10.42 → OOS 9.33)는 강의용 실험 플랫폼(합성 데이터)의 실측이며, 실제 투자 성과를 시사하지 않는다. 실습의 가격 궤적과 커널은 교육용으로 설계한 고정 수열이다(난수 없음). 인용 원칙: 연도는 발표 기준, 확신이 없는 서술은 "~로 알려져 있다"로 구분했다.