45분 만에 사라진 회사, 나이트 캐피털
2026-09-12 · 8분 읽기
2012년 8월 1일 오전 9시 30분, 뉴욕 증시가 열렸습니다. 개장 직후부터 시장에는 설명하기 어려운 움직임이 나타났습니다. 거래가 많지 않던 몇몇 종목의 주가가 아무런 뉴스 없이 요동치기 시작했고, 매수와 매도 주문이 초당 수천 건씩 쏟아졌습니다. 어떤 종목은 개장 몇 분 만에 몇십 퍼센트가 튀었다가 다시 주저앉았습니다. 시장 참가자들은 누군가 대단한 정보를 쥐고 움직인다고 의심했습니다.
진실은 훨씬 허무했습니다. 한 증권사의 서버 여덟 대 가운데 한 대에 옛날 코드가 남아 있었고, 그 코드가 8년 만에 깨어나 시장을 향해 무의미한 주문을 퍼붓고 있었을 뿐입니다. 그 45분 동안 회사가 떠안은 손실은 4억 달러가 넘었습니다. 미국 상장 주식 거래의 10분의 1가량을 처리하던 회사였고, 하루에 200억 달러 규모를 주무르던 회사였습니다. 그리고 그 회사는 그날 이후 사실상 독립된 기업으로 살아남지 못했습니다.
나이트 캐피털의 이야기는 금융 사고이면서 동시에 소프트웨어 사고입니다. 누군가 거짓말을 하거나 규제를 어긴 것이 아닙니다. 다들 하던 대로 일했는데, 지워지지 않은 낡은 코드 한 덩어리가 회사를 하루 만에 끝냈습니다. 자동매매가 기본값이 된 시대에 이 사건이 계속 회자되는 이유입니다.
미국 주식 열 주 중 한 주를 처리하던 회사
나이트 캐피털은 1995년 미국 뉴저지에서 출발한 증권사입니다. 주력 사업은 시장조성이었습니다. 시장조성자란 언제든 사자 호가와 팔자 호가를 동시에 대주면서 그 사이의 작은 차이를 이익으로 가져가는 역할을 말합니다. 개인투자자가 증권사 앱에서 매수 버튼을 누르면, 그 주문은 거래소로 곧장 가지 않고 시장조성자에게 넘어가 체결되는 경우가 많습니다. 눈에 보이지 않지만 시장이 굴러가게 만드는 배관 같은 존재입니다.
2012년 여름의 나이트 캐피털은 그 배관 가운데 가장 굵은 축이었습니다. 미국 상장 주식 거래량의 10% 안팎을 처리했고, 하루에 오가는 거래 금액은 200억 달러 규모였습니다. 규모만 보면 흔들릴 이유가 없는 회사였습니다.
다만 이 업종의 수익 구조에는 특징이 있습니다. 한 건당 이익이 아주 작기 때문에, 이익을 내려면 어마어마한 건수를 아주 빠르게 처리해야 합니다. 사람이 판단할 시간은 없고, 모든 것은 프로그램이 합니다. 그 말은 프로그램이 잘못 돌아갈 때도 사람이 끼어들 시간이 없다는 뜻이기도 합니다. 이익이 자동으로 쌓이는 구조는 손실도 자동으로 쌓입니다.
8월 1일까지 맞추라는 시한
사건의 도화선은 뉴욕증권거래소가 새로 도입한 제도였습니다. 소매 유동성 프로그램, 영어 약자로 RLP라고 불린 이 제도는 개인투자자의 주문에 조금 더 좋은 가격을 붙여줄 수 있게 한 장치였습니다. 거래소는 이 제도의 승인을 받아 2012년 8월 1일부터 시행하기로 했습니다. 문제는 시장조성자들에게 주어진 준비 기간이 한 달 남짓밖에 되지 않았다는 점입니다.
나이트 캐피털도 여기에 맞춰 주문 처리 시스템을 고쳐야 했습니다. 이 회사의 핵심 시스템은 고객이 넣은 큰 주문 하나를 잘게 쪼개 여러 거래소로 나눠 보내는 주문 라우터였습니다. 예를 들어 어떤 기관이 10만 주 매수 주문을 넣으면, 시스템이 이것을 수백 개의 작은 주문으로 나눠 보내고 체결된 수량을 세어가며 10만 주를 다 채우면 멈추는 방식입니다. 새 제도에 맞춰 이 라우터에 기능 하나를 덧붙이는 것이 그해 7월의 과제였습니다.
개발자는 새 기능을 켜고 끄는 스위치가 필요했습니다. 그런데 새 스위치를 만드는 대신, 예전에 쓰다가 지금은 쓰지 않는 스위치 자리를 재활용했습니다. 코드를 다루는 현장에서 흔히 벌어지는 일입니다. 쓰지 않는 자리이니 문제가 없을 거라고 판단한 것입니다. 그 낡은 스위치의 이름이 파워 페그였습니다.
파워 페그는 1990년대 말에 만들어진 테스트용 기능이었습니다. 다른 매매 프로그램이 제대로 작동하는지 확인하려고 일부러 비싸게 사고 싸게 파는, 즉 손해를 보도록 설계된 코드였습니다. 실제 시장에서는 2003년부터 쓰지 않았습니다. 그러나 회사는 이 코드를 시스템에서 지우지 않고 그냥 꺼둔 채로 놓아두었습니다.
여덟 대 중 한 대
여기에 두 번째 씨앗이 심어져 있었습니다. 2005년, 회사는 시스템 일부를 정리하면서 체결된 수량을 세어 주문을 멈추게 하는 로직을 다른 모듈로 옮겼습니다. 새 구조에서는 잘 돌아갔지만, 옮겨진 뒤 파워 페그는 스스로를 멈추는 방법을 잃어버렸습니다. 만약 어떤 이유로 다시 켜진다면 목표 수량을 채우고도 멈추지 않고 계속 주문을 뿜어내게 된 것입니다. 아무도 이 사실을 알아채지 못했습니다. 꺼져 있는 기능이었으니 확인할 이유도 없었습니다.
2012년 7월 말, 새 코드를 실제 서버에 올리는 작업이 진행됐습니다. 주문을 처리하는 서버는 모두 여덟 대였습니다. 담당 기술자는 일곱 대에 새 코드를 복사했지만, 한 대를 빠뜨렸습니다. 배포 결과를 자동 확인하는 장치도, 다른 사람이 교차 점검하는 절차도 없었습니다. 결과적으로 여덟 대 가운데 일곱 대는 새 코드로, 한 대는 옛 코드로 작동하는 상태가 되었습니다.
이 조합이 왜 치명적인지는 8월 1일 아침에 드러납니다. 스위치가 켜지면 새 코드가 올라간 일곱 대는 새 기능을 실행합니다. 그런데 옛 코드가 남은 한 대는 같은 스위치를 보고 전혀 다른 해석을 합니다. 그 서버에게 그 스위치는 파워 페그를 켜라는 신호였습니다. 8년 동안 잠들어 있던, 일부러 손해를 보도록 만들어졌고 멈추는 법을 잃어버린 코드가 깨어나는 순간이었습니다.
경고가 아예 없었던 것은 아닙니다. 그날 오전 8시 1분, 시스템은 이상 징후를 알리는 메일을 무려 97통 발송했습니다. 그 안에는 파워 페그와 관련된 문구가 들어 있었습니다. 그러나 이 메일은 긴급 경보로 분류돼 있지 않았고, 받은 사람들도 늘 오는 잡다한 알림 정도로 여겼습니다. 회사가 무너질 때까지 남은 시간은 그때부터 한 시간 반이었습니다.
45분 동안 벌어진 일
9시 30분 개장과 함께 고객 주문이 들어오기 시작했습니다. 문제의 서버로 넘어간 고객 주문은 212건이었습니다. 정상이라면 이 212건은 잘게 쪼개져 체결되고 끝났어야 합니다. 그러나 파워 페그는 목표를 채웠는지 확인하지 않았습니다. 그저 주문을 만들고 또 만들었고, 초당 수천 건의 주문이 시장으로 쏟아져 나갔습니다.
45분 동안 이 서버는 154개 종목에서 약 3억 9,700만 주를 사고팔았습니다. 체결 건수는 400만 건을 넘었습니다. 문제는 이 매매가 이익을 노린 것이 아니라는 데 있습니다. 파워 페그는 원래 비싸게 사고 싸게 팔도록 만들어진 코드입니다. 즉 회사는 45분 내내 자기 돈으로 가장 불리한 가격에 주식을 사고 가장 불리한 가격에 되파는 일을 초고속으로 반복한 셈입니다.
회사 안에서는 아수라장이 벌어졌습니다. 무엇이 잘못됐는지 아무도 몰랐습니다. 엔지니어들은 문제가 새로 배포한 코드 때문이라고 판단하고, 새 코드를 되돌리는 조치를 취했습니다. 그런데 이것이 상황을 오히려 악화시켰습니다. 멀쩡하던 일곱 대에서도 새 코드가 사라지면서, 그 서버들까지 같은 방식으로 파워 페그를 깨우기 시작했기 때문입니다. 원인을 모르는 상태에서 내린 합리적 판단이 불을 키운 것입니다.
결국 시스템 전체를 시장에서 떼어내고 나서야 주문이 멈췄습니다. 그때까지 걸린 시간이 약 45분입니다. 회사는 다음 날 세전 기준 약 4억 4,000만 달러의 손실을 입었다고 발표했습니다. 이듬해 미국 증권거래위원회는 손실 규모를 4억 6,000만 달러 이상으로 기록했습니다. 회사의 시가총액을 넘어서는 금액이었습니다.
손실이 이렇게 빨리 쌓인 이유는 45분 동안 오간 주식 규모를 보면 짐작할 수 있습니다. 3억 9,700만 주는 평범한 회사라면 몇 달 치 거래량입니다. 그 물량이 전부 자기 계정에서, 최악의 가격으로 오갔습니다. 사람의 실수는 아무리 커도 속도에 한계가 있지만, 기계의 실수에는 한계가 없습니다.
하루 만에 무너진 회사
시장의 반응은 즉각적이었습니다. 8월 1일 나이트 캐피털 주가는 33% 하락했고, 다음 날까지 고점 대비 75% 가까이 빠졌습니다. 더 심각한 것은 신뢰의 붕괴였습니다. 주문을 맡기던 대형 증권사들이 하나둘 거래를 끊었습니다. 시장조성은 자본과 신용으로 하는 사업인데, 회사는 그날 아침 두 가지를 한꺼번에 잃었습니다.
자본을 구하는 데 주어진 시간은 주말을 낀 며칠뿐이었습니다. 8월 5일과 6일에 걸쳐 제프리스가 주도하고 블랙스톤, 게트코, TD아메리트레이드, 스티펄, 스티븐스가 참여한 투자자 그룹이 4억 달러를 넣기로 합의했습니다. 회사는 파산을 면했지만 대가는 가혹했습니다. 새로 발행된 주식으로 기존 주주의 지분은 크게 희석됐고, 회사의 주인은 사실상 바뀌었습니다.
그 뒤의 일은 정리 수순에 가까웠습니다. 2013년 나이트 캐피털은 구조를 짠 투자자 가운데 하나인 게트코와 합병해 KCG 홀딩스가 되었습니다. 그리고 2017년 KCG는 버투 파이낸셜에 인수되며 나이트라는 이름은 시장에서 사라졌습니다. 1995년부터 쌓아 올린 17년이 45분에 무너졌고, 그 뒤를 정리하는 데 5년이 걸린 셈입니다.
규제 당국의 결론도 나왔습니다. 2013년 증권거래위원회는 나이트 캐피털이 시장 접근과 관련한 위험 관리 장치를 제대로 갖추지 않았다며 1,200만 달러의 제재금을 부과했습니다. 당국이 지적한 것은 코드의 버그 그 자체가 아니었습니다. 배포 절차, 경보 체계, 손실 한도를 걸어두는 안전장치가 회사 규모에 맞지 않게 허술했다는 점이었습니다.
오늘 우리에게 남는 것
이 사건이 개인투자자에게 주는 첫 번째 시사점은 우리가 누르는 매수 버튼 뒤에 눈에 보이지 않는 긴 사슬이 있다는 사실입니다. 주문은 증권사와 중개 시스템, 시장조성자, 거래소를 거쳐 체결됩니다. 이 사슬의 어느 한 마디에서 기술적 사고가 나면 주가는 기업의 사정과 아무 상관 없이 움직일 수 있습니다. 뉴스도 실적도 없는데 특정 종목이 개장 직후 이상하게 튀는 날, 그 배경에는 이런 종류의 사고가 있을 수 있습니다.
두 번째는 자동화된 시스템의 사고는 속도가 다르다는 점입니다. 사람의 실수는 대개 알아차릴 시간을 남겨주지만, 프로그램의 실수는 알아차리기 전에 끝나 있습니다. 나이트 캐피털이 손실을 인지하고 대응하기까지 걸린 시간은 대부분의 사람이 커피 한 잔 마시는 시간보다 짧았습니다. 알고리즘 매매나 자동 손절 도구를 쓰는 개인투자자라면, 잘 작동할 때가 아니라 잘못 작동할 때 무슨 일이 벌어지는지를 먼저 확인해 보는 편이 안전합니다.
세 번째는 낡은 것을 방치하는 비용입니다. 파워 페그는 9년 동안 아무에게도 해를 끼치지 않았습니다. 다들 꺼져 있으니 괜찮다고 생각했고, 지우는 일은 늘 다음 순위로 밀렸습니다. 조직에 쌓인 낡은 규칙과 관행도 대개 그렇게 남습니다. 평소에는 비용이 보이지 않다가, 하필 가장 바쁜 날 한꺼번에 청구서가 날아옵니다.
마지막으로, 규모가 안전을 보장하지 않는다는 점입니다. 미국 주식 거래의 10분의 1을 처리하던 회사가 45분 만에 무너졌습니다. 큰 회사라서 망하지 않는 것이 아니라, 큰 회사는 사고가 났을 때 더 빨리 커질 뿐입니다. 어떤 기업을 볼 때 그 회사가 얼마나 크고 얼마나 잘 벌고 있는지와 함께, 일이 잘못됐을 때 무엇이 그 회사를 붙잡아 줄 것인지를 함께 묻는 습관이 필요합니다. 2012년 여름의 45분이 남긴 것은 결국 그 질문입니다.
