한 줄 요약: 버튼만 누르던 사람이 로그를 읽기 시작했고, 아홉 번째에 A가 나왔다. 그 사이 AI가 "고쳤다"고 한 코드 중 두 번은 아무것도 안 바꿨다.
지난 이야기 (30초 요약)
손도 안 댄 예제 전략이 차이나 쇼크에서 B. 기뻐서 “생존” 방어 장치를 달았더니 C. 떨어질 때 주식을 줄이는 건 됐는데 오를 때 다시 안 사서 수익률만 잃었습니다. AI가 처방한 약 두 개 중 하나만 먹은 게 원인. 이번 화는 나머지 약을 먹는 이야기였는데, 먹고 나서도 한참 걸렸습니다.
규칙은 그대로입니다. 코드는 내 손으로 안 고친다. A가 나올 때까지 다음 보스로 안 간다.
3차: AI가 고쳤다는데 1원도 안 바뀌었다
2차 카드에서 [방어 보강 요청]. 메뉴판이 또 나왔는데 지난번과 내용이 다릅니다. 매번 현재 코드를 보고 새로 짜주는 모양입니다.
예고대로 "선방: 저PER 하단 퀀타일 필터 강화"를 골랐습니다. 2차에서 떨어진 게 선방이고, 1화에서 안 먹은 약이 종목 필터였으니까요.
stockFilter에 당기순이익 양수 조건을 추가하여 적자 기업을 배제하고, onDayClose 내의 비중 복귀 조건을 완화하여 하락장 후반부의 회복 탄력성을 높였습니다.
[코드 반영], [재도전]. 1분 뒤.
| 조건 | 2차 | 3차 |
|---|---|---|
| 참여 | 88% | 88% |
| 생존 | -17.9% | -17.9% |
| 선방 | -8.7% | -8.7% |
| 회복 | 복귀도 52% | 복귀도 52% |
표를 잘못 붙인 게 아닙니다. 로그창 맨 아래 "계좌 총 평가금액은 16,623,007 입니다"까지 2차와 1원 단위로 같았습니다. 코드를 고쳤고 반영했고 다시 돌렸는데 결과가 복사 붙여넣기입니다.
코드를 읽을 줄 모르니 물어보는 수밖에 없습니다. AI 응답에 있던 초록 줄을 그대로 복사해서 채팅창에 붙이고 "이게 무슨 뜻이야?"라고 보냈습니다.
AI가 한 줄씩 풀어줬습니다.
else if (drawDown < -0.07) { target_weight = 0.60; } 의미: 만약 현재의 낙폭(drawDown)이 -7%보다 더 심해지면(예: -8%, -10% 등), 목표 투자 비중을 60%로 낮추라는 뜻입니다.
if (drawDown > -0.05) { target_weight = 0.95; } 의미: 반대로 낙폭이 -5%보다 커지면(즉, -4%, -2% 등으로 회복되어 손실률이 낮아지면), 목표 투자 비중을 다시 95%로 높이라는 뜻입니다.
여기까지는 알겠습니다. 그런데 두 설명을 나란히 놓고 보니 이상합니다. 두 번째 줄은 첫 번째 줄의 중괄호 안에 들어 있습니다. 그러니까 "-7%보다 더 빠진 날"에만 "-5%보다 덜 빠졌는지"를 묻는 겁니다. -8%인 날이 동시에 -4%일 수는 없습니다. 이건 코드가 아니라 산수입니다. 문 안에 들어온 사람한테 "문 밖에 있으면 손 드세요"라고 한 겁니다.
더 이상한 건 AI의 추가 설명이었습니다. "-7%와 -5%로 기준을 다르게 잡은 이유는 채터링 현상을 막기 위해서"라며 히스테리시스라는 단어까지 꺼냈습니다. 자기가 쓴 코드가 아무 일도 안 한다는 건 모른 채, 왜 그렇게 설계했는지를 설명한 겁니다. 설명은 훌륭했고 코드는 죽어 있었습니다.
적자 기업 제외도 마찬가지였습니다. 0화 "내 전략 한눈에"에 이미 "PER 0 초과"가 있었습니다. PER이 양수면 이익이 양수라, 적자 기업은 처음부터 없었습니다. 이건 AI한테 안 물어보고도 알았습니다. 0화를 쓴 사람이 저니까요. 이미 없는 손님을 출입 금지시킨 겁니다.
두 가지를 고쳤는데 둘 다 아무것도 안 하는 수정. AI는 "회복 탄력성을 높였습니다"라고 자신 있게 썼고요. 사람도 이런 실수를 하는데, 사람은 돌려보고 나서 멋쩍어합니다. AI는 안 합니다. 멋쩍은 건 제 몫이었습니다.
4차·5차: 두더지 게임
하나씩 고르다 두 번 당했으니 4차는 "종합"을 골랐습니다.
이번엔 진짜로 뭔가 바뀌었습니다. 방어는 -7%가 아니라 -5%에서 켜고, 5일 연속 오르면 다시 들어가고, 종목은 ROE가 양수인 것만.
C는 C인데 내용이 다릅니다. 세 번 연속 떨어진 "생존"을 처음 통과했습니다. MDD -14.9%, 기준 -15%. 0.1%p 차이. 턱걸이로 턱이 철봉에 닿은 수준입니다. 대신 "회복"이 떨어졌습니다. 방어를 더 빨리, 더 자주 켜니까 바닥 찍고 올라올 때 덜 들어가 있었습니다. 이불을 머리까지 덮으면 발이 나옵니다.
5차는 “선방: 저변동성 종목 우선 선정”. 덜 흔들리는 종목만 사면 덜 떨어질 거라는 겁니다.
생존 -14.6%(통과), 선방 -10.6%(더 나빠짐), 회복 43%(실패). 덜 흔들리는 종목은 덜 오르는 종목이기도 했습니다. 1화 예고에서 걱정한 그대로입니다.
여기까지 전적: B, C, C, C, C. 전술 카드를 누를 때마다 한 조건이 살아나고 다른 조건이 죽었습니다. 두더지 게임입니다. 망치는 AI가 들고 있고 저는 어느 구멍을 때리라고 말만 하는데, 구멍이 네 개고 망치는 하나입니다.
6차: 버튼을 끄고 말을 걸었다
여기서 방식을 바꿨습니다. 전술 카드 대신 채팅창에 직접 썼습니다. 코드는 여전히 AI가 짜니까 규칙 1은 지키는 겁니다. 그리고 결과 카드의 [복원]을 눌러 코드를 1차로 되돌렸습니다. 다섯 번 쌓인 방어 장치를 다 걷어내고 처음부터.
방어를 넣을수록 수익이 깎여서 등급이 내려갔어. 1차(방어 없음)는 수익 +6.1%에 MDD -19.4%였어. 종목 선정은 1차 그대로 두고, 방어는 아주 약하게 딱 하나만 넣어줘: 코스피가 고점 대비 10% 넘게 빠졌을 때만 주식 비중을 95%에서 70%로 줄이고, 낙폭이 7% 안으로 돌아오면 바로 95%로 복귀.
논리는 이랬습니다. 1차가 수익은 됐고 방어만 과했으니 방어를 살짝만 넣자.
6차 결과(7차와 동일): B. 선방 -2.1%(통과), 회복 복귀도 84%(통과). 그런데 생존이 -22.3%. 1차 -19.4%보다 나빠졌습니다. 방어를 넣었는데 더 깊이 빠졌습니다.
7차: 로그를 읽었다
이유를 알고 싶어서 처음으로 로그창을 끝까지 읽었습니다. 1화에서 "방어 장치가 열심히 일하는 소리"라고 넘겼던 그 창입니다.
[2015-08-19] 비중 변경 반영 - 현재 낙폭: -10.77%, 적용 비중: 70.00% [2015-09-10] 비중 변경 반영 - 현재 낙폭: -9.72%, 적용 비중: 95.00% [2015-09-11] 비중 변경 반영 - 현재 낙폭: -10.68%, 적용 비중: 70.00%
코스피 낙폭이 기간 내내 -10% 언저리에서 왔다 갔다 합니다. 방어가 켜졌다 하루 만에 꺼지고 다시 켜집니다. 켜질 때 팔고 꺼질 때 사니까 매번 조금씩 깎입니다. 문턱에 발이 걸려서 넘어졌다 일어났다를 열두 번 한 겁니다.
더 중요한 건 이겁니다. 코스피는 -12%밖에 안 빠졌는데 제 전략은 -22%가 빠졌습니다. 1차 "배운 것"에 적혀 있던 "시장 낙폭의 148%"가 이거였습니다. 코스피를 보고 방어를 켜면 늦습니다. 코스피는 멀쩡한데 제 종목만 무너지는 날이 있으니까요.
7차는 "체크를 매일 하라"고 요청했는데 결과가 6차와 1원까지 같았습니다. 이미 매일 하고 있었습니다. 제가 로그를 잘못 읽은 겁니다. 두 번째 "안 바뀐 회차"인데 이번엔 AI 탓이 아닙니다.
8차: 기준을 바꿨다
코스피 낙폭은 기간 내내 -12% 안팎이라 -10% 기준은 잘 안 걸리고, 걸려도 며칠 만에 풀려. 반면 내 전략은 -19%까지 빠지니까 지수보다 1.5배 더 떨어지는 셈이야. 그래서 기준을 코스피가 아니라 내 계좌 평가액으로 바꿔줘: 내 계좌가 고점 대비 -6% 넘게 빠지면 비중 50%, -10% 넘게 빠지면 25%. 복귀는 -4% 안으로 돌아오면 95%, -8% 안이면 50%.
남의 체온 말고 내 체온을 재자는 겁니다. 캡처를 보시면 "안팎"이 “안팽”, "셈이야"가 "셔이야"로 되어 있는데, 로그 보다가 흥분해서 받침을 흘렸습니다. AI는 다행히 알아들었습니다.
| 조건 | 기준 | 8차 | 판정 |
|---|---|---|---|
| 참여 | 25% 이상 | 85% | 통과 |
| 생존 | MDD -15% 이내 | -11.8% | 통과 |
| 선방 | 벤치마크 +5%p (-3.8%) 이상 | -2.4% | 통과 |
| 회복 | 반등 +15% / 플러스 마감 / 복귀도 50% | 복귀도 35% | 실패 |
B인데, 처음으로 생존과 선방을 동시에 통과했습니다. MDD -11.8%는 1차보다 7.6%p 좋아진 숫자입니다. 남은 건 회복 하나. 로그를 보니 8월 저점 이후 비중이 25%와 50% 사이에 갇혀 있었습니다. 방어는 됐는데 돌아오는 게 느립니다. 1화 2차 때 배운 우산 얘기입니다. 우산을 접긴 접는데 반만 접고 있었습니다.
9차: A
기준은 그대로 두고 단계별 비중만 올려줘: 95% / 50% / 25% 를 95% / 70% / 40% 로. 그 외에는 아무것도 바꾸지 마.
숫자 두 개 바꾸는 요청입니다. 이번엔 AI 응답에 죽은 코드가 없는지 초록 줄을 먼저 확인했습니다. 0.50이 0.70으로, 0.25가 0.40으로 바뀐 두 줄뿐입니다. [코드 반영], [재도전].
| 조건 | 기준 | 9차 | 판정 |
|---|---|---|---|
| 참여 | 25% 이상 | 113% | 통과 |
| 생존 | MDD -15% 이내 | -12.7% | 통과 |
| 선방 | 벤치마크 +5%p 이상 | +1.1% | 통과 |
| 회복 | 플러스 마감 | +1.1% 마감 | 통과 |
A등급. 네 조건 전부 통과. 수익률이 플러스로 끝나면서 회복 조건을 "플러스 마감"으로 넘겼습니다.
그래프는 1차와 닮았는데 가을 하락이 얕습니다. 꼭대기 +90%는 못 갔지만 바닥이 올라왔습니다. 로그를 보면 2015년 8월 21일에 40%로 내려갔다가 9월 30일에 95%로 돌아옵니다. 한 달 열흘. 8차엔 그 자리에서 25%에 머물렀습니다.
카드 아래 S등급 항목도 봤습니다. 벤치마크 대비 초과수익 +10.0%p(기준 +15%p), MDD -12.7%(기준 -5%). S는 멀었습니다. 명예의 전당은 다음에 생각하겠습니다.
명예의 전당
내 기록의 차이나 자리가 "B"에서 "A"로 바뀌었습니다. 1화에서 "최고 기록만 남겨주는 학교"라고 투덜댔는데 이번엔 그 제도 덕을 봤습니다.
이번 화 전적
| 차수 | 방법 | 등급 | 생존 | 선방 | 회복 |
|---|---|---|---|---|---|
| 1차 | 예제 그대로 | B | -19.4% | +6.1% | 통과 |
| 2차 | 카드: 생존 | C | -17.9% | -8.7% | 통과 |
| 3차 | 카드: 선방 | C | -17.9% | -8.7% | 통과 |
| 4차 | 카드: 종합 | C | -14.9% | -7.7% | 실패 |
| 5차 | 카드: 선방(저변동성) | C | -14.6% | -10.6% | 실패 |
| 6차 | 1차 복원 + 채팅: 코스피 -10% 방어 | B | -22.3% | -2.1% | 통과 |
| 7차 | 채팅: 매일 체크 (변화 없음) | B | -22.3% | -2.1% | 통과 |
| 8차 | 채팅: 기준을 내 계좌 낙폭으로 | B | -11.8% | -2.4% | 실패 |
| 9차 | 채팅: 단계 비중 상향 | A | -12.7% | +1.1% | 통과 |
아홉 번 중 두 번(3차, 7차)은 결과가 직전과 1원까지 같았습니다. 한 번은 AI가 죽은 코드를 줬고, 한 번은 제가 로그를 잘못 읽었습니다. 전술 카드로 다섯 번 돌린 것보다 로그를 읽고 말로 요청한 네 번이 더 멀리 갔습니다.
오늘의 성적표
| 보스 | 난이도 | 등급 |
|---|---|---|
| 카드사태 | 2성 | - |
| 유럽 재정위기 | 3성 | - |
| 차이나 쇼크 | 3성 | A (9차) |
| 코로나 | 4성 | - |
| 금리 인상 | 4성 | - |
| 금융위기 | 5성 | - |
첫 칸이 채워졌습니다. 규칙 3에 따라 이제 다음 보스로 갈 수 있습니다.
이번에 알게 된 단어
죽은 코드. 써 있지만 절대 실행되지 않는 코드. 3차의 "-7%보다 많이 빠졌으면서 -5%보다 덜 빠졌을 때"가 그겁니다. AI가 코드를 줬다고 그 코드가 뭔가를 한다는 보장은 없습니다. 돌려봐야 압니다. 돌려봤는데 1원도 안 바뀌면 그게 신호입니다.
로그. 백테스트가 하루하루 뭘 했는지 적어둔 일지. 1화에서는 "바쁜 소리"로만 들었는데, 7차에서 처음 제대로 읽었더니 범인이 거기 있었습니다. 코스피는 -12%인데 내 계좌는 -22%. 이 한 줄이 8차와 9차를 만들었습니다. 그래프는 결과를 보여주고 로그는 이유를 보여줍니다.
낙폭 기준. 방어를 켤 때 무엇을 보느냐. 지수를 보면 "시장이 무너질 때"만 반응하고, 내 계좌를 보면 “내가 무너질 때” 반응합니다. 둘은 다른 날입니다. 이번 보스에서는 후자가 맞았습니다. 다른 보스에서도 맞을지는 모릅니다.
다음 화 예고
A를 받은 코드를 들고 다음 보스로 갑니다. 순서는 0화에서 정한 대로 "덜 무서운 것부터"인데, 차이나 다음으로 지수가 덜 빠진 건 유럽 재정위기(2011, 3성)입니다. 설명에 "그리스발 공포가 두 달 만에 시장을 20% 끌어내렸다"고 적혀 있습니다. 두 달에 20%면 차이나 쇼크의 아홉 달 -12%보다 훨씬 급합니다.
내 계좌 낙폭 -6%에서 비중을 줄이는 지금 장치가 두 달짜리 급락에도 제때 켜질까요. 아니면 켜지기 전에 이미 -15%를 넘겨 있을까요. 이번에도 로그가 말해줄 겁니다. 이제 읽을 줄 아니까요.