GBT
한국외국어대학교Global Business & Technology
금융 AI · 모듈 1 — 공정한 비교의 조건
목차 강의 홈 ↗
금융 AI 강의 · 모듈 1

공정한 비교의
조건

"내 전략이 더 좋다"는 말이 성립하려면 무엇이 같아야 하는가. 데이터 기간·거래비용·체결 규칙이라는 세 개의 저울추에서 출발해, 백테스트의 정의, 복리의 수학, 그리고 모든 전략의 공통 출력인 목표비중까지. 변동성이 수익을 깎아 먹는 과정을 직접 조작해 보는 실습이 들어 있다.

금융 AI · 기초 모듈5개 절 + 실습 2개해설 · 퀴즈 포함원문 출처 링크
0
2020년 여름, 어느 주식 게시판

수익률 인증글은 넘쳤지만, 순위표는 만들 수 없었다

같은 숫자 "30%"라도 다른 시험에서 받은 점수라면 비교가 되지 않는다. 이 모듈은 그 비교가 성립하는 조건을 만든다.

도입 · 한 장면

연 30%와 연 60%, 누가 이긴 걸까

2020년 여름, 주식 게시판마다 수익률 인증글이 쏟아졌다. 한 학생이 자기 전략으로 1년에 30%를 벌었다고 올리자, 다른 사람이 "나는 두 배"라고 받아친다. 누가 이긴 걸까. 정답은 아직 알 수 없다이다. 두 사람은 서로 다른 시험을 쳤을 가능성이 크기 때문이다.

한 명은 거의 모든 종목이 오르던 2020년 4월~2021년 6월만 잘라 시험을 쳤고, 다른 한 명은 금리 급등으로 주식과 채권이 함께 하락한 2022년까지 포함했을 수 있다. 한 명은 수수료와 슬리피지를 뺐고 다른 한 명은 안 뺐을 수 있다. 마라톤으로 치면 한 명은 평지 코스를, 한 명은 산악 코스를 뛰고 기록만 비교하는 셈이다. 조건이 다르면 숫자는 서로 다른 언어로 적힌 성적표일 뿐이다.

이 강의 전체는 하나의 실험 플랫폼 위에서 진행된다. 이동평균부터 신경망, 강화학습, LLM까지 어떤 기법이든 같은 데이터, 같은 체결·비용 규칙, 같은 평가지표를 통과한다. 그 조건이 갖춰졌을 때만 "A가 B보다 낫다"는 문장이 의미를 가진다.

공정한 비교를 다룬 4컷 만화
여는 만화. 이 모듈의 핵심 질문을 압축한 예고편이다 — 수익률 자랑에서 시작해, "같은 시험을 친 게 맞는가"라는 반문으로 끝난다. 만화의 마지막 답이 왜 "조건 통일"인지를 이 모듈에서 확인한다.
무엇이 같아야 하는가데이터 기간 · 거래비용 · 체결 규칙. 셋 중 하나만 달라도 비교는 무너진다
수익률은 어떻게 쌓이는가덧셈이 아니라 곱셈. 이 한 가지 사실에서 변동성 드래그와 손실의 비대칭이 따라 나온다
공통 출력은 무엇인가목표비중. 어떤 기법이든 마지막에 내놓는 것은 종목별 투자 비율표 하나다
더 읽기

"조건 통일"이라는 발상은 투자에 국한된 것이 아니다. 임상시험이 실험군과 대조군의 조건을 통제하고, 스포츠가 규격 경기장과 공인구를 쓰는 이유와 같다. 금융이 유독 어려운 것은 조건이 어긋나 있어도 겉보기 성적표는 멀쩡하게 출력된다는 점이다. 백테스트 프로그램은 기간을 어떻게 자르든, 비용을 빼먹든 경고 없이 숫자를 내놓는다. 그래서 조건 통일은 개인의 주의력이 아니라 플랫폼의 구조로 강제해야 한다는 것이 이 강의의 일관된 입장이다.

생각해 볼 질문

수익률 인증글을 하나 떠올려 보자. 그 숫자를 평가하려면 최소한 어떤 정보가 함께 공개되어야 하는가. 이 모듈이 끝나면 세 가지 이상을 즉시 답할 수 있어야 한다.

1
비교를 무너뜨리는 세 가지 차이

같은 시험지 원칙

기간이 다르면 코스가 다른 것이고, 비용을 빼면 신발 무게를 잰 것이며, 체결 가정이 다르면 출발선이 다르다.

세 개의 저울추

기간 · 비용 · 체결 — 어디서 비교가 어긋나는가

두 성적표의 비교를 무너뜨리는 대표 경로는 세 가지다. 어느 하나라도 다르면, 남은 숫자 차이가 실력 차이인지 조건 차이인지 구분할 방법이 없다.

저울추어긋나는 방식결과 왜곡
데이터 기간상승장만 잘라 시험(2020.4~2021.6) vs 폭락장 포함(2022)오르는 장만 고르면 아무 전략이나 천재처럼 보인다
거래비용수수료·슬리피지를 빼거나 넣거나비용 뺀 성적표는 항상 실제보다 화려하다
체결 규칙신호 난 날 종가 체결 vs 다음 날 시가 체결급등 신호 전략일수록 "그 가격에 샀다" 가정이 성과를 부풀린다

실무의 원칙은 기간 쪽부터 명확하다. 상승장·하락장·횡보장을 모두 포함하는 긴 기간, 가능하면 2008년이나 2020년 3월 같은 위기를 한 번 이상 관통하는 기간으로 시험한다. 체결 쪽은 "신호가 난 바로 그 가격에 샀다"는 가정이 특히 위험하다 — 현실에서는 그 가격에 내 주문이 끼어들 자리가 없었을 수 있다. 그래서 이 플랫폼은 체결 규칙을 엔진 하나로 통일해 버린다(§4의 하루 지연 규칙).

더 읽기

슬리피지가 생기는 구조는 호가창을 떠올리면 직관적이다. 시장에는 "이 가격에 팔겠다"는 대기 주문이 층층이 쌓여 있고, 큰 금액을 한 번에 사려 하면 싼 층부터 차례로 소진되며 평균 매수 단가가 올라간다. 콘서트 티켓 100장을 사려는 사람이 정가 매물을 쓸어 담은 뒤 웃돈 매물까지 사야 하는 것과 같다. 따라서 같은 전략이라도 운용 금액이 커지면 성과가 나빠진다 — 백테스트 보고서에 비용 가정을 명시해야 하는 이유가 하나 더 생기는 셈이다.

거래비용은 "작아 보이지만 복리로 쌓이는" 종류의 적이다. 왕복 0.3%는 껌값처럼 느껴지지만, 매달 포트폴리오 전체를 갈아치우면 1년에 대략 0.3% × 12 = 3.6%포인트가 사라진다. 비용 전 수익률이 연 8%였다면 손에 쥐는 것은 4.4% — 성과의 거의 절반이 비용으로 증발한다. "얼마나 버는가"만큼 "얼마나 자주 움직이는가"가 중요하다.

널리 퍼진 오해

"수익률이 높으면 장땡 아닌가"

수익률은 단독으로 읽을 수 있는 숫자가 아니다. 항상 무엇과 비교해서, 어떤 위험을 지고 얻었는지와 함께 읽어야 한다.

오해

"연 30%면 무조건 훌륭한 전략이다."

시장 전체가 40% 오른 해의 30%는 시장을 밑돈 성적이다. 또 연 30%를 벌었지만 중간에 계좌가 반토막 나는 구간을 지나야 했다면, 대부분의 사람은 그 전에 포기한다. 비교 대상(벤치마크)과 위험이라는 두 축이 빠진 수익률은 평가가 아니라 광고다.

가장 단순한 비교 대상은 "아무것도 안 한 사람", 즉 처음에 사서 끝까지 들고 있는 바이앤홀드다. 복잡한 전략이 연 12%를 벌었어도 같은 기간 그냥 들고 있었으면 15%였다면, 그 전략의 기여는 마이너스다. 신약의 효과를 가짜 약과 비교해서만 인정하듯, 전략도 대조군을 이겨야 "효과가 있다"고 말할 수 있다. 이 대조군 사고방식은 강의 전체의 실험 설계에 깔려 있고, 이동평균 모듈에서 "모든 것의 기준선"으로 다시 만난다.

출처 벤치마크 대비 평가·비용의 성과 잠식은 표준 교과 내용이다. 예: Bodie, Kane & Marcus, Investments (McGraw-Hill) 성과평가 장.

2
과거라는 단 한 번뿐인 표본

백테스트란 무엇인가

새 약을 환자에게 바로 투여하지 않듯, 전략도 과거라는 모의 환자에게 먼저 시험한다. 단, 우리는 그 과거의 답안지를 이미 알고 있다.

정의

타임머신 놀이, 그러나 답안지가 옆에 있는

백테스트(backtest)는 전략(매매 규칙)을 과거 데이터에 적용해 "그때 이 규칙대로 했다면 얼마를 벌었을까"를 컴퓨터로 재연하는 것이다. back(과거로) + test(시험).

단순해 보이지만 제대로 하기는 의외로 어렵다. 임상시험과 결정적으로 다른 점이 있기 때문이다. 과거는 단 한 번뿐인 표본이고, 우리는 그 과거를 이미 알고 있다. 답안지를 옆에 두고 문제를 푸는 학생이 좋은 점수를 받는 것은 당연하다. 백테스트의 모든 함정은 결국 "답안지를 훔쳐보는" 다양한 방식이며, 이 강의의 안전장치들은 그 커닝을 기계적으로 막는 장치다.

  • 미래 정보가 슬쩍 새어 들어간다 — 룩어헤드 편향. 다음 모듈이 통째로 이 문제를 다룬다
  • 비용을 빼먹는다 — §1에서 본 대로 성적표가 화려해진다
  • 여러 번 시도한 것 중 잘된 것만 보고한다 — 선택 편향
더 읽기

세 번째 유혹은 특히 교묘하다. 동전을 10번 던져 앞면이 8번 나오는 사람은 1,000명 중 몇 명쯤 반드시 나온다. 그 사람이 "동전 던지기의 달인"이 아니듯, 파라미터를 1,000가지로 바꿔 돌린 백테스트 중 최고 성적 하나만 떼어 보여 주는 것은 실력이 아니라 우연의 전시다. 이를 다루는 정식 도구는 다음 모듈에서 배우지만, "몇 번 시도했는지 함께 밝혀라"라는 원칙은 지금부터 기억해 둘 만하다.

생각해 볼 질문

백테스트와 임상시험의 공통점과 차이점을 한 문장씩으로 말해 보자. 차이점 쪽이 이 강의 전체의 주제다.

3
덧셈이 아니라 곱셈

곱으로 쌓이는 수익률

+2% 다음의 −1%는 +1%가 아니다. 이 한 가지 사실에서 손실의 비대칭과 변동성 드래그가 따라 나온다.

계산의 기본기

+10% 뒤의 −10%는 본전이 아니다

100만 원이 첫날 +2%, 둘째 날 −1%를 겪으면 100만 × 1.02 × 0.99 = 100.98만 원. 수익률은 더해지는 것이 아니라 곱해진다.

이 성질을 조금 밀어 보면 불편한 비대칭이 나온다. −50%를 맞으면 본전까지 +100%가 필요하다. 절반이 된 계좌를 원상복구하려면 두 배가 되어야 하기 때문이다. 잃는 것은 쉽고 복구는 어렵다. 이 비대칭이 "크게 잃지 않는 것"이 장기 성과의 핵심인 수학적 이유이고, 뒤 모듈들에서 만날 최대낙폭(MDD) 같은 위험 지표가 존재하는 배경이다.

2년 성적1년차2년차산술평균계좌(기하)
꾸준한 A+10%+10%+10%+21.0%
출렁이는 B+40%−20%+10%+12.0%

산술평균은 똑같이 +10%인데 계좌는 9%포인트 차이가 난다. 수익률의 산술평균과 계좌가 실제로 겪는 기하평균은 다르고, 그 차이는 변동성이 클수록 벌어진다 — 대략 분산의 절반, \( \tfrac{\sigma^2}{2} \)만큼이다. 출렁임 자체가 수익을 갉아먹는 세금인 셈이며, 이를 변동성 드래그라 한다.

핵심 관계식

기하평균 ≈ 산술평균 − \( \dfrac{\sigma^2}{2} \)  (σ = 수익률의 변동성)

같은 평균이면 조용한 쪽이 실제로 더 번다. "수익 ÷ 변동성"으로 채점하는 지표(IR·샤프지수)가 합리적인 깊은 이유다.

더 읽기

이 근사가 어디서 오는지 스케치해 보자. 수익률 \(r\)이 작을 때 로그 수익률은 \( \ln(1+r) \approx r - \tfrac{r^2}{2} \) (테일러 전개의 두 항). 계좌의 장기 성장률은 로그 수익률의 평균이 결정하는데, \(r^2\)의 평균이 곧 분산이므로 기하평균 ≈ 산술평균 − 분산÷2가 나온다. +10%/−10% 예로 확인하면 \( \ln 1.1 \approx 0.0953 \), \( \ln 0.9 \approx -0.1054 \), 합은 약 −0.0101 — 이틀에 −1%로 손계산과 일치한다. 제곱 항 때문에 같은 크기라도 하락이 로그 척도에서 더 아프다는 것이 요점이다.

이 관계는 포트폴리오 장기 성장 이론(켈리 기준 계열)에서부터 다뤄져 온 고전적 결과다. "평균 수익률"이라는 말을 들으면 반드시 산술인지 기하인지 되물어야 한다.

출처 Kelly, "A New Interpretation of Information Rate", Bell System Technical Journal 35(4), 1956 · 로그 근사와 분산 페널티는 표준 결과로, 예: Booth & Fama, "Diversification Returns and Asset Contributions", Financial Analysts Journal 48(3), 1992.

L
직접 확인한다

드래그 실험실

변동성과 거래비용이 계좌를 깎는 속도를 슬라이더로 확인한다. 공식이 아니라 눈으로 본다.

실습 ① · 조작형

변동성 드래그 — 출렁임만으로 계좌가 줄어든다

LAB 1 · 변동성 드래그

산술평균 0%인 시장에서 60일 버티기

목표 — 하루 +σ, 다음 날 −σ를 반복하는(산술평균 정확히 0) 계좌가 실제로는 얼마나 줄어드는지, 그리고 그 감소가 근사식 σ²/2 × 일수와 맞는지 확인한다.

실제 계좌 (곱) 산술평균 가정 (본전)

조작 안내 — σ를 0에서 15%까지 움직여 본다. 관찰 포인트 — ① σ=0이면 두 선이 겹친다(출렁임이 없으면 드래그도 없다). ② σ를 두 배로 올리면 손실은 대략 네 배가 된다 — 드래그가 σ의 제곱에 비례한다는 뜻이다. ③ readout의 "실측"과 "근사식"이 σ가 작을 때 거의 일치하다가 σ가 커지면 벌어진다 — 근사는 어디까지나 근사다.

실습 ② · 계산기형

거래비용 계산기 — 부지런함의 가격

LAB 2 · 회전 비용

매매 빈도가 연 수익률을 얼마나 깎는가

목표 — "왕복 0.3%"라는 작은 비용이 매매 빈도와 곱해져 연 단위에서 어떤 규모가 되는지 숫자로 본다.

조작 안내 — 기본값(월 1회 전체 교체 × 왕복 0.3% × 연 8%)에서 시작해 교체 횟수를 올려 본다. 관찰 포인트 — ① 월 1회 교체만으로도 연 3.6%p가 사라져 8%의 거의 절반이 증발한다. ② 교체 횟수를 절반으로 줄이면 비용도 정확히 절반 — 비용은 빈도에 선형이다. ③ "비용 후 수익"이 0 아래로 내려가는 지점을 찾아 보라. 그 빈도부터는 시장이 아니라 증권사를 위해 일하는 셈이다.

더 읽기

이 계산기는 비용을 "왕복 비용률 × 연간 교체 횟수"로 근사한다. 실제 플랫폼 엔진은 매주 비중 변화량의 절대값 합(회전율)에 비용률을 곱해 차감하므로, 포트폴리오 일부만 바꾸면 그 부분만큼만 비용이 든다. 근사와 정확 계산의 차이는 §4의 목표비중 개념을 배우면 분명해진다.

4
모든 전략의 공통 출력

공통 언어, 목표비중

이동평균이든 신경망이든, 마지막에 내놓는 것은 종목별 투자 비율표 하나다. 그래서 어떤 기법도 같은 링에서 겨룰 수 있다.

개념

왜 "몇 주"가 아니라 "몇 %"인가

목표비중(target weights)은 자본을 각 종목에 몇 %씩 배분할지 적은 비율표다. 음수면 공매도(숏), 어떤 종목도 담지 않은 나머지는 자동으로 현금이 된다.

종목목표비중1,000만 원 계좌라면
삼성전자0.30300만 원 보유
SK하이닉스0.20200만 원 보유
NAVER0.10100만 원 보유
현금0.40400만 원 대기

비율로 말하는 이유는 비율이 자본 규모와 무관한 언어이기 때문이다. 100만 원 계좌든 100억 원 펀드든 "삼성전자 30%"라는 지시는 똑같이 적용된다. 레시피가 "소금 3g"이 아니라 "재료 무게의 1%"로 적혀 있으면 1인분이든 100인분이든 같은 레시피인 것과 같다. 다음 날 전략이 새 비율표를 내놓으면 엔진은 차이만큼만 사고판다 — 이 차이의 총량이 회전율이고, §1의 거래비용과 직결된다.

"판단이 서지 않으면 현금 100%"도 어엿한 목표비중이다. 아무것도 안 하는 것도 하나의 전략적 결정이라는 점은 자주 놓치는 부분인데, 시장이 나빠 보일 때 현금 비중을 올리는 것만으로 성과 곡선의 모양이 완전히 달라진다 — 레짐 스위칭 모듈이 정확히 이 아이디어를 정교화한다.

더 읽기

출력 규격의 통일은 소프트웨어 공학의 오래된 지혜이기도 하다. 세계의 항구들이 규격 컨테이너 하나로 통일된 뒤 물류 비용이 극적으로 떨어졌듯, 전략의 출력을 목표비중 하나로 규격화하면 채점 엔진·시각화·통계 검정 같은 하부 설비를 모든 전략이 공유한다. 프로그래밍 관점에서는 generate_weights(데이터) → 비율표 함수 하나를 구현하는 것이 전부다. 반대로 "체결 가격을 스스로 정하겠다"는 전략은 링에 오를 수 없다 — 자유를 조금 제한하는 대신 비교 가능성이라는 훨씬 큰 것을 얻는 교환이다.

손계산 하나. 1,000만 원 계좌에서 어제 삼성전자 0.3 → 오늘 0.5로 바뀌면 0.2 × 1,000만 = 200만 원어치 추가 매수다. 편도 비용률 0.15%면 비용은 3,000원. 사소해 보이지만 매일 이만큼 움직이면 1년(약 250거래일)에 75만 원, 계좌의 7.5%다.

플랫폼의 보장

사람의 다짐 대신 기계가 강제하는 네 가지

선의의 실수와 무의식적 편향은 누구에게나 일어난다. 그래서 공정 비교의 조건은 개인의 성실성이 아니라 시스템 구조로 보장한다.

  1. 재현성 — 모든 설정은 설정 파일에 기록, 난수는 시드로 고정. 같은 입력이면 언제 누가 돌려도 같은 결과. 재현이 안 되는 결과는 좋아 보여도 검증할 방법이 없다
  2. 룩어헤드 차단 — 엔진이 목표비중을 하루 지연 적용. 오늘 종가로 계산한 비중은 내일부터 유효 — 전략 개발자가 실수해도 이 규칙 자체가 방화벽이 된다
  3. 공정 비교 — 같은 시험지 원칙(§1)의 기계화
  4. 자원 안정성 — 공식 검증은 한 번에 하나씩. 같은 자원 조건에서 치러야 결과가 흔들리지 않는다 (플랫폼 세부는 부록 A)
더 읽기

"하루 지연"은 곱씹을 가치가 있다. 오늘 종가는 장이 끝나는 순간 확정된다. 그 종가로 계산한 비중을 오늘 종가에 체결했다고 가정하면 이미 끝난 경기를 보고 베팅한 셈이다. 지연 없이 좋아 보이던 전략이 하루 지연 하나에 무너진다면, 그 전략은 애초에 미래 훔쳐보기로 벌던 전략이었다는 뜻이다.

시드 고정에는 미묘한 함정이 남는다. 시드를 고정하면 재현은 되지만 "그 시드에서만 잘 나오는" 결과일 가능성은 남는다. 난수의 영향이 큰 신경망 계열 기법은 시드를 여러 개 바꿔 평균과 편차를 함께 보아야 우연과 실력이 구분된다 — 시드 하나의 성적표는 동전 한 번 던진 결과와 같다.

5
시험지 자체의 인쇄 오류

데이터 자체의 함정

조건을 통일하는 것이 저울의 영점 조정이라면, 데이터 검증은 저울이 고장 나지 않았는지 확인하는 일이다.

함정 ① · 생존 편향

돌아온 폭격기만 세면 안 되는 이유

"지금 살아남은 종목들"로 과거를 백테스트하면, 그 사이 상장폐지되거나 몰락한 회사가 시험에서 통째로 빠진다. 낙제생을 전부 빼고 반 평균을 내는 셈이다.

고전적 비유는 2차대전의 폭격기다. 귀환한 폭격기의 총알 자국을 조사해 "자국이 많은 부위를 보강하자"는 의견이 나오자, 통계학자 에이브러햄 왈드는 반대로 자국이 없는 부위를 보강해야 한다고 지적했다. 그 부위에 맞은 비행기는 아예 돌아오지 못해 데이터에 없기 때문이다. 주식 데이터도 같다 — "돌아온 비행기"(현재 상장 종목)만 보면 추락 원인이 있는 종목들의 흔적이 통째로 사라진다.

올바른 방법은 "그 시점에 실제로 존재했던 종목"으로 유니버스를 구성하는 것이다. 지금의 대형주 30개는 살아남았기 때문에 대형주다. 뮤추얼펀드 성과 연구들에서도 사라진 펀드를 빼고 계산하면 평균 수익률이 연 1%포인트 안팎 부풀려진다는 보고가 반복되어 왔다.

더 읽기

데이터 함정이 무서운 이유는 그것이 모든 전략에 공평하게 유리한 방향으로 작용한다는 데 있다. 채점 기준이 틀린 시험에서는 1등도 꼴등도 잘못 매겨지는데, 데이터 함정은 대부분 성과를 부풀리는 쪽으로 작동해 "우리 반은 전부 우등생"이라는 착시를 만든다. 이 강의의 실험은 주로 합성 데이터를 쓰므로 이 문제에서 자유롭지만, 실데이터의 과거를 돌려 볼 때는 반드시 확인해야 하는 항목이다.

출처 Wald의 항공기 생존성 분석(1943)은 CRC 보고서 재간행본으로 공개되어 있다: apps.dtic.mil (ADA091073) · Elton, Gruber & Blake, "Survivorship Bias and Mutual Fund Performance", Review of Financial Studies 9(4), 1996.

함정 ② · 수정주가

하루 만에 −98%? 액면분할의 착시

주식은 배당을 지급하고, 액면분할로 가격이 하루아침에 몇 분의 1이 되기도 한다 — 회사 가치는 그대로인데도. 원시 가격으로 수익률을 계산하면 이 날 가짜 폭락이 찍힌다.

예를 들어 금요일 종가 50만 원인 주식이 주말에 5:1 분할을 해 월요일 10만 2,000원이 되었다고 하자. 원시 가격의 수익률은 −79.6%지만, 주주는 1주가 5주가 되었으므로 실제 재산은 50만 → 51만 원, +2%다. 한국에서도 2018년 삼성전자가 50:1 액면분할(250만 원대 → 5만 원대)을 했다 — 원시 가격으로는 하루 −98%가 찍히는 날이다. 그래서 백테스트에는 배당·분할 효과를 소급 반영해 이어 붙인 수정주가를 쓴다.

배당 쪽도 마찬가지다. 배당수익률이 연 2~3%인 시장에서 배당을 빠뜨리면 10년 백테스트에서 누적 20~30%포인트가 조용히 증발한다 — 전략 간 우열이 뒤집히고 남는 크기다.

더 읽기

수정주가에도 미세한 함정이 있다. 수정 계수는 분할·배당이 일어날 때마다 과거 전체에 소급 적용된다. 오늘 내려받은 데이터의 2015년 가격은 2015년의 사람이 화면에서 본 숫자가 아니다. 수익률만 쓰면 대체로 무해하지만, "5만 원 이하 저가주만 산다"처럼 가격 수준을 조건으로 쓰는 전략에서는 2018년의 분할이 2015년의 삼성전자를 저가주로 둔갑시킨다. 원칙은 두 가지 — 신호 계산에는 가능하면 수익률을 쓰고, 가격 수준을 꼭 써야 하면 "그 시점에 실제로 보였을 가격인가"를 자문한다.

한국 시장 특유의 함정도 있다. 가격제한폭(±30%) 때문에 "사고 싶어도 살 수 없는" 날이 존재하고, 거래정지 종목은 가격이 멈춰 있다가 재개일에 급락하기도 한다. 백테스트가 이런 날에도 자유롭게 체결됐다고 가정하면 현실에서 불가능한 수익이 섞인다. 완벽한 반영이 어렵더라도 "내 백테스트가 무엇을 단순화했는지"를 목록으로 아는 것과 모르는 것의 차이는 크다.

확인

퀴즈와 정리

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

친구가 "내 전략 수익률이 연 30%야"라고 자랑한다. 평가 전에 물어봐야 할 세 가지는?
데이터 기간이 언제인지(상승장만 골랐는가), 거래비용을 뺐는지, 무엇과 비교해 좋은지(같은 기간 벤치마크). 셋 중 하나라도 빠지면 그 숫자는 평가가 아니라 광고다.
+10% 다음 날 −10%를 겪으면 본전인가?
아니다. 1.1 × 0.9 = 0.99, 즉 −1%다. 수익률은 곱으로 쌓이므로 같은 크기의 상승과 하락은 상쇄되지 않는다 — 이 비대칭이 변동성 드래그의 뿌리다.
계좌가 −50%를 맞았다. 본전 회복에 몇 %의 수익이 필요한가?
+100%. 절반이 된 계좌는 두 배가 되어야 원금이다. 손실과 이익은 비대칭이므로 "크게 잃지 않는 것"이 장기 성과의 핵심이다.
산술평균 수익률이 똑같이 연 10%인 두 전략 중, 변동성이 낮은 쪽이 10년 뒤 더 커져 있을 가능성이 높은 이유는?
기하평균 ≈ 산술평균 − σ²/2이므로 변동성이 큰 쪽은 드래그만큼 실제 성장률이 깎인다. 본문의 예: +40%/−20%(산술 +10%)는 2년에 +12%, +10%/+10%는 +21%다.
"현재 시가총액 상위 30종목"으로 지난 20년을 백테스트하면 무엇이 문제인가?
생존 편향. 그 사이 몰락해 사라진 종목이 시험에서 빠져 어떤 전략이든 성과가 부풀려진다. "그 시점에 실제로 존재했던 종목"으로 유니버스를 구성해야 한다.
오늘 종가로 신호를 계산해 오늘 종가에 산 것으로 처리하면 왜 안 되는가?
종가는 장이 끝나야 확정된다. 확정 후에 계산한 비중을 그 가격에 체결했다는 가정은 현실에서 불가능한 거래다. 그래서 플랫폼 엔진은 모든 비중을 하루 지연시켜 적용한다.
핵심 정리

① 비교가 성립하려면 데이터·체결·비용·평가가 같아야 한다 — 같은 시험지 원칙.

② 수익률은 곱으로 쌓인다. 그래서 손실은 비대칭이고, 출렁임 자체가 비용이다(기하 ≈ 산술 − σ²/2).

③ 모든 전략의 출력은 목표비중 하나 — 그래서 어떤 기법도 같은 링에서 겨룬다. 회전율이 크면 비용이 복리로 성과를 갉는다.

④ 재현성과 룩어헤드 차단은 사람의 성실성이 아니라 기계가 보장한다. 그리고 데이터 자체(생존 편향·수정주가)도 검증 대상이다.

원문으로 확인하기

참고문헌

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

고전 · 원리

  1. Kelly, J. L. (1956). "A New Interpretation of Information Rate." Bell System Technical Journal 35(4). — 장기 성장률과 로그 수익률 관점의 출발점.
  2. Booth, D. & Fama, E. (1992). "Diversification Returns and Asset Contributions." Financial Analysts Journal 48(3). — 기하평균 ≈ 산술평균 − 분산/2 관계의 표준 서술.
  3. Wald, A. (1943, 재간행 1980). "A Method of Estimating Plane Vulnerability Based on Damage of Survivors." CRC 재간행본. apps.dtic.mil/sti/citations/ADA091073 — 생존 편향의 고전 사례.

실증 · 데이터 함정

  1. Elton, E., Gruber, M. & Blake, C. (1996). "Survivorship Bias and Mutual Fund Performance." Review of Financial Studies 9(4). — 사라진 펀드를 빼면 성과가 부풀려진다는 실증.
  2. Bodie, Z., Kane, A. & Marcus, A. Investments. McGraw-Hill. — 벤치마크 대비 성과평가·거래비용의 교과 서술.

이 자료의 백테스트 관련 수치는 강의용 실험 플랫폼(합성 데이터)의 실측이거나 손계산 예시이며, 실제 투자 성과를 시사하지 않는다. 2018년 삼성전자 액면분할(50:1)은 공시 기준의 사실이다. 인용 원칙: 연도는 발표 기준, 확신이 없는 서술은 "~로 알려져 있다"로 구분했다.