Day_35 [특강] AI + ML 과 Quant Trading - 구종만
작성일
[특강] AI + ML 과 Quant Trading
Disclaimer
- 트레이딩 업계는 지적재산권을 매우 중시 (=비밀스러움)
- 제가 아는 것은 전체 산업의 일부에 불과
- 제가 아는 것에 대해서도 자세한 이야기는 하기 어려움
- 실제 딥러닝 리서치가 활용되는 예는 아직 드뭄
- 재미 삼아 들어주세요
트레이딩은 뭐하는 일인가?
- 투자(investment) 와 트레이딩(trading): 트레이딩은 상대적으로 단기간
- 트레이딩은 단기적인 가격 변화에서 이득을 봄
- 길어야 ~3일 정도의 보유기간
퀀트 트레이딩이 뭐하는 일인가?
- Quantitative (계량적) 트레이딩
- 모델 기반 (가격이 특정 수학적 성질을 가진다고 가정) 혹은 데이터 기반 (시장의 과거 데이터에서 분포를 추정) 접근
- Automated/system/algorithmic trading 이라고도 부름
퀀트 트레이딩의 스펙트럼
- 수많은 종류의 전략이 존재함
- 포지션을 얼마나 오래 유지하는가? (1초 미만, ~3분, ~1시간, ~하루, ~3일)
- 어떤 상품군을 거래하는가? (주식, 선물, 옵션, 채권, 외환, 암호화폐, …)
- 100% 자동화되었는가, 혹은 트레이더의 주관이 들어가는가?
- 주문 집행(trade execution) vs 자체 수익
- 어디에서 엣지가 오는가? (시장의 특성을 이용? 훌륭한 통계적 모델?)
퀀트 트레이딩의 예 1: arbitrage
- 하나의 상품이 여러 곳에서 거래될 때 싼 곳에서 사서 비싼 곳에서 팜
- 예: 암호화폐 거래소마다 가격이 다름
- 아비트러지는 같은 상품의 가격을 맞춰주는 역할을 함
- 소비자는 어디 가더라도 같은 가격에 물건을 사고 팔 수 있음
- 김치 프리미엄(~2019)은 외환 반출 제한 때문에 아비트러지가 깨져서 생긴 사례
- 개념적으로 간단하기 때문에 속도 경쟁이 치열
- 90% 속도 + 10% 알파 경쟁
퀀트 트레이딩의 예 2: market making
- 매수 (구입) 주문과 매도 (판매) 주문을 동시에 냄
- 당연히 두 주문의 가격은 다름
- 두 주문이 동시에 체결되면 두 주문의 가격차만큼 이득
- “유동성을 공급”: 누구나 거래하고 싶을 때 쉽게 사고 팔 수 있게 함
- 모든 사람이 일제히 한 방향으로 거래하기 시작하면 그쪽으로 가격이 움직이면서 손해
- “눈치”를 잘 보면서 가격이 한 쪽으로 크게 움직일 것 같으면 어서 주문을 취소
-
50% 속도, 50% 알파 경쟁
퀀트 트레이딩의 예 3: statistical arbitrage
- 미래 가격의 변화를 예측해서 거래함
- 최근 호가 움직임을 이용한 가격 예측
- 종목간의 상관관계를 이용한 가격 예측 (cross section)
- 종목간의 가격 차이 예측 (basis trading)
- 정보의 출처는 중요하지 않음: 펀더멘털, 기술적 지표 모두 사용 가능
- 데이터 기반 접근이 필수적, 오늘 주로 얘기할 주제
- 10% 속도, 90% 알파
퀀트 트레이딩 플레이어들
- 퀀트 헤지펀드 / 로보 어드바이저
- 고객의 자본(수천억~수십조)을 운영하고 운용자금과 이익의 일부를 보수로 받음
- 상대적으로 긴 보유기간
- 프랍 트레이딩 (자기 자본 거래)
- 회사 파트너들의 자본(수십~수백억)을 거래
- 규모가 작은 대신 대개 HFT 나 market making 을 통해 높은 수익률을 추구
- 성공적인 팀은 꾸준히 연간 100% 이상의 수익률을 냄
- 금융위기 이후 규제 변경으로 은행들은 자기자본 거래를 하지 않음
- 퀀트 기반 트레이딩 서비스를 제공하는 쪽에 초점
판타지 세계의 Stat Arb 전략
현실 세계의 (아마도) 흔한 Stat Arb 전략
떠오르는 질문들
- 정말 이게 되나요? (i.e. 정말 머신러닝으로 미래 가격을 예측할 수 있나요?)
- 선형회귀는 아무나 할 수 있는거 아닌가요? 그럼 왜 트레이딩이 어렵나요?
- 왜 아직 딥러닝이 정복하지 못했죠? 제가 이번에 딥러닝을 배웠으니 이걸 이용해 시장을 정복할 수 있나요?
1. 이게 정말 돼요?
- 효율적 시장 가설 (Eugene Fama)
- “가격은 상품에 대한 모든 정보를 포함하고 있기 때문에 장기적으로 초과수익을 얻을 수는 없다.”
- 안되다는 증거와 썰들은 많음
- 액티브 펀드 매니저들과 시장 인덱스의 퍼포먼스 비교
- 액티브 펀드 매니저와 원숭이의 대결
- Long Term Capital Management (1994 ~ 1998)
미래가 예측 가능한 이유들
- 예측 범위(horizon)에 따라 다르지만 미래를 예상할 수 있는 다양한 이유가 있음
- 포지션이 큰 참가자들은 움직이는 데 오래 걸림
- 큰 가격 변화가 있을 때 군중 심리가 나타남
- 프로페셔널 참가자들은 리스크를 줄이는 합리적 행동을 함
- 새로운 정보(뉴스, 공시 정보, 매출 및 펀더멘털)가 시장에 반영되기까지는 시간이 걸림
- 기술적인 문제들: 거래소/종목의 특성, 특정 규칙에 따라 움직여야 하는 참가자들, …
- 거래량이 많은 상품이나 거래소가 가격 발견 과정을 선도함
상품에 대한 새로운 정보가 가격에 포함되기 위해서는 누군가 거래를 해야 함
성공 기준이 우리의 직관과 다름
- 5분 후 가격 변화를 예측하는 6개의 forecast 가 있음.
- 어느 정도가 되면 돈을 벌 수 있고, 어느 정도가 현실적으로 가능할까?
- 모든 forecast 가 돈을 벌 수 있음
- 실현 가능성있고 현실성 있는 것은 위에 3개임
- 0.5 $R^2$ 가 나와도 충분히 돈을 벌 수 있음
- $R^2$ 가 10% 혹은 15% 가 나오면 버그가 있나? data 유출? 이런 의심을 가질 수 있음
-
이론과 실제는 괴리가 있음
- 엄청나게 많은 작은 예측들
- 수천개의 종목에 하루에 수만번의 베팅
- 각 베팅이 성공할 확률이 51%만 되어도, 수백만번 반복하면 이론값으로 수렴 (대수의 법칙)
- 엄청나게 많은 forecast 알고리즘
- HFT 전략의 평균 수익은 거래량의 대략 0.01% (1 basis point)!
- 실제 수익은 훨씬 크거나 훨씬 작지만, 평균 내면 아주 작지만 이익
- 이것으로 연수깅ㄹ 100%+ 를 내려면 엄청나게 많은 양을 꾸준히 거래해야 함
어.. 저 정도 예측은 나도 하겠는데?
- 머신러닝 패키지 다운받아서
- 구글 파이낸스, DART, 트위터, 뉴스 크롤링해서 집어넣으면 되겠네?
- 오 캔들스틱도 넣고, MACD 도 넣고, 볼린저 밴드도 넣고!
- … 됩니다!
- 하지만 쉽지는 않더군요 (ㅠ.ㅠ)
2. 왜 딥러닝 안하나요?
-
근본적인 이유: 시장을 예측하는 것은 너무 어려움
- 시장에 영향을 미치는 수많은 원인 중 우리가 볼 수 있는 것은 극히 일부에 불과함
- 다른 참가자들의 포지션, 뷰, …
- 예측할 수 없느 ㄴ사건들: 코로나, 암호화폐 규제, 정치, 경제, 외교, 회사 경영진의 스캔들, …
- 우리가 보는 정보도 항상 뒤늦게 보게 도리 수 밖에 없음
- 시장은 (우리가 예측해야 하는 시장의 특성은) 계속 변함
- 참가자들은 계속 접근 방법을 고도화하고, 참가자들은 계속 바뀜: 가만히 있으면 모델이 점점 나빠짐
- 내 모델과 다른 참가자들 모델 사이의 피드백
- 달라지는 규제 조건
- 새로운 시장 및 상품군의 출현
- 다른 문제와 비교해 보자
- 이미지 인식: 고양이는 10000년이 지나도 고양이, 신호등은 10년이 지나도 계속 신호등. 많은 경우 사진만으로 무엇인지 알아볼 수 있음
- 바둑 AI: 바둑 규칙은 1백만 판을 둬도 그대로. 바둑판을 다 볼 수 있음
- NLP: 언어는 빠르게 변화하지만, 그 요체는 오랜 기간 동안 변화하지 않음
- 가격 예측 문제를 이미지 인식과 비교하자면?
- 털 한가닥만 보고 고양이인지 개인지 분류해야 함
- 고양이들이 분류를 피하기 위해 털 모양을 바꿈
- 개와 고양이의 기준을 종종 정부가 바꿈
- 문제가 어려움 = 오버피팅의 위험이 너무 큼
- 인샘플 에러를 낮추는 것은 쉬움
- 기존 데이터 셋 내에서 완벽하게 오버피팅을 막았다고 하더라도 미래에도 오버피팅이 아닐지는 장담할 수 없음
- 시장이 변화할 때 변화하지 않는 속성과 변화하는 속성을 구분할 방법?
- 가장 쉬운 방법은 내가 무엇을 모델링하는지, 왜 그것이 의미있는지 알고 있는 것
- 이것을 명확히 알고 있으면 선형회귀로도 대부분의 가치를 뽑아낼 수 있음
- 100% 블랙박스 학습 프로세스가 어려움: 딥러닝이 아직 잘 활용되지 않는 이유
그럼 무슨 리서치를 하나요?
- 오렌지: 새로운 정보
- 쥬서기: 새로운 정보에서 어떻게 요점만 뽑아낼 것인가?
- 쥬스: 알파
리서치 과정: 가설
- 대부분의 리서치는 가설로부터 시작됨
- 예: 여름에 홍수가 나고 날씨가 안 좋았다면 곡물 선물 가격은 오를 것이다
- 예: 같은 크기의 매수 주문이 계속 반복되어 들어온다면 가격이 오를 것이다
- 설득력 있는 가설이 없이 시작된 리서치는 결론이 조금만 안 좋아도 끝나기 쉬움
- 아무리 가설이 강력해도, 한번에 결과가 쑥쑥 나와서 프로덕션까지 가는 일은 거의 없음
- “데이터 모았으니 일단 알고리즘에 집어넣고 뭐가 나오는지 보자”가 잘 통하지 않음
- 학습된 모델의 형태나 성능으로부터 점진적으로 더 나은 가설을 얻기도 함
- 학습된 모델의 형태를 보고 더 간결한 형태의 모델을 만들기도 함
리서치 과정: 오렌지
- 퀀트 트레이딩 회사들은 굉장히 다양한 데이터를 구입해 사용
- 거래 시세, 공시자료
- 뉴스, 트위터, 웹 크롤링 결과, 애널리스트 리포트, …
- 인공위성 사진, 날씨 정보, 신용카드 사용 정보, …
- 어떻게 데이터에서 엑기스를 골라낼 것인가?
- 필터링, 노이즈 제거, 클리핑, outlier 감지, 데이터 정규화(normalization), 리그레션 정규화(regularization), NLP, …
리서치 과정: 쥬서기
- 어떤 알고리즘이 내가 가진 가설을 가장 잘 표현할 수 있을까?
- 내가 최적화하고 있는 목적함수가 정말 적절할까?
- 기존에 공개된 코드를 그대로 사용하기엔 데이터가 너무 많은데 어떻게 스케일링 해야 할까?
- 엔지니어링적 접근
- 모델링적 접근
리서치 과정: 쥬서기 이후 - monetization
- 어떤 거래소에 가서 거래할까?
- 어떤 주문 타입을 쓸까?
- 어떻게 포트폴리오를 관리해야 출렁임 없이 꾸준한 성능을 낼 수 있을까?
- 어떻게 하면 내 알파와 포지션을 노출하지 않고 거래를 할 수 있을까?
- 어떻게 하면 내 트레이딩이 시장에 미치는 영향을 최소화할 수 있을까?
- 시뮬레이터와 현실 세계의 차이는 어떻게 감안할까?
리서치 과정에서 흔히 주의해야 하는 것들
- 프로덕션 시스템과 백테스트 시스템의 차이
- 마켓 임팩트(market impace, 가격충격)
- 데이터 스누핑의 위험
- 최근 거래량 많은 주식 위주로 백테스트하기
- 거래 당일에는 아직 공개되지 않았던 데이터 사용 / 이후에 정정된 데이터 사용
- 평균 거래량 등의 통계지수가 실수로 당일을 포함
리서치 과정
- 모든 리서치가 그렇겠지만, 지루하고 반복적인 과정
- 새로운 아이디어가 떠오름 - 시뮬레이션도 잘 나옴 - 이제 우린 부자다! - 앗 버그가 있네 - 안되는구나의 무한한 반복
- 효율적으로 가설을 검증하고 확인할 수 있는 플랫폼에 대한 투자가 중요
- 회사 단위의 투자: 자체적인 노트북 리서치 플랫폼, 자체 클라우드, 자체 DSL, …
- 팀 단위의 투자: 쉽게 재현 가능한 리서치 스크립트, 리서치 효율성에 대한 투자, …
개발자 경력에서 여기까지
- 개발자 경력의 장점
- 남들의 프로세스를 개선하고 플랫폼화하는 과정에서 내 아이디어를 도입
- 수학적 모델링 기법/알고리즘과 그 구현 사이의 경계는 그렇게 확실하지 않음
- 리서치하다 막혀서 답답할 때 플랫폼 개선하면 속이 시원
- 개발자 경력의 단점
- 나는 개발로도 팀에 기여할 수 있기 때문에, 그 답답함을 이기지 못하면 계속 개발만 하게 됨
- $\rightarrow$ 리서치 과정의 느린 피드백에 익숙해지는 과정이 필요
- 내가 푸는 문제에 대해 결국 깊이 이해해야 함
- 잘 만들어진 알고리즘에 내 데이터를 꾸겨넣는 것만으로는 성공할 수 없음
- 시장의 구조와 다른 참가자들의 행동을 이해
- 내가 사용하는 알고리즘과 그 알고리즘이 표현할 수 있는 것/없는 것들
퀀트 트레이딩 일을 하려면
- 국내에도 관련 회사가 많음
- 트레이딩 스타트업, 전통적인 증권사 프랍 데스크, 로보어드바이저, 핀테크 스타트업, …
- 국외
- 아시아는 주로 홍콩/싱가폴, 유럽은 런던, 미국은 뉴욕/시카고
- 일할 곳을 찾으실 때는
- 플랫폼과 프로세스에 투자를 열심히 하고
- 내부적으로 연구 결과와 자료를 많이 공개하는 분위기의 회사가 좋음
댓글남기기