[기획] AI가 노벨경제학상을 탈 수 있을까? – 반박 – 재반박

1551

“지난 글 – [기획] AI가 노벨경제학상을 탈 수 있을까? – 반박”이 나가고 난 다음에 어떤 학부생이 이 글을 원 글 저자에게 보내서 답장을 받았다고 날 더러 다시 재반박을 요청했다. 우선 학부생 수준을 못 벗은 원 글 저자의 답변을 읽는 것이 굉장히 불쾌했음을 밝히고, 그 수준도 이해 못해서 자기가 직접 반박을 못하고 필자에게 재반박 요청을 한 그 학부생의 낮은 지식 수준과 생각없는 태도에 불쾌함이 더 늘었다는 사실도 함께 밝힌다. 학부생이 뭘 알겠나는 마음에 한번만 예외를 두고 이번 글에는 최대한 예의를 지켜 답변을 드리지만, 앞으로는 단순 글 퍼나르기하면서 하찮은 바보와 싸움 붙이는 연락을 주시는 분들에게는 굳이 시간을 쓰지 않을 생각이다.

미분방정식을 모르는 초딩과 국제 수학 올림피아드 출신 대학생이 Taylor’s expansion을 놓고 싸울 필요는 없지 않겠는가?

같은 요청을 보내려면 특정 포인트가 A, B, C의 이유로 틀렸다고 생각되는데, 자기 생각이 맞는지 틀린지를 묻는 정도로, 최소한 자기 발로 생각한 티는 낼 수 있어야 파비블로그 글을 저런 한심한 원 글 저자에게 반박이라고 보여줄 자격이 있지 않겠나? 최소한 최초 반박글이 맞다는건 알고 보내야지, 안 그럼 그냥 싸움 붙이는거잖아? 논쟁도 할 레벨이 있는데? 여긴 한국 사회의 평범한 바보들이 아니라 최상위 0.1%들의 공간 아니었나?


 

1) (귀납적인) 팩터 발견만 가지고서는 경제학의 업적이 될 수 없다
Finance 전공자의 입장에서 보시면 충분히 이렇게 보실 수 있다는 점은 저도 이해합니다. 제목이 제목이다 보니, 많은 오해를 불러일으킬 수 있을 것 같은데 AI가 귀납적인 팩터 서치에는 상당히 뛰어나서 인간 리서처가 찾기 어려운 여러가지 팩터들을 빠르게 찾을 수 있고 이러한 내용들이 재무학자들의 해석을 거쳐 논문화 될 수 있지 않겠느냐 정도의 주장으로 봐주시면 어떨까 싶습니다. (어그로성 제목인 것은 인정합니다:)

-> 답변

250개 변수 묶어서 PCA로 PC3까지 73% 나왔다는 사실을 이해 못하신 것 같다. Information set의 Vector space가 무슨 뜻인지 안다면, 250개 변수가 만들어 낼 수 있는 최대치의 Information set이 단 3개 축으로 73%가 설명되는 Vector space를 가진다는 것을 이해하실텐데, 그럼 변수를 더 쥐어짜는 Polynomial 스타일의 모델을 더 만들어내는게 무의미하다는 사실도 이해하실 것이다.

이런 기초적인 선형대수, 회귀분석 지식이 없기 때문에 Factor라고 부르는 합성함수 형태의 변수를 찾아내는데 혈안이 된 것이라고 본다. 익히보아오던 무지식 학부 수준 공돌이들의 상상력 과잉 결과물이다.

 

2) 팩터팩토리는 4칙연산 기반의 grid search 이다는 주장
딥러닝 강화학습 모델도 grid search (모든 경우의 수를 다 해보는 방법)라고 주장하시는 입장이라면 다르겠지만 원문글에서 계속 경우의 수가 너무 많아서 grid search가 불가능하다고 쓰고 있고, 이를 잘 좁히는 강화학습 모델을 만드는 것이 팩터팩토리의 가장 가장 중요한 기술입니다. grid search는 아니구요.

-> 답변

왜 Grid Search라고 부르는지 이해를 전혀 못 한 것 같다. 1~2 사이의 모든 유리수를 다 검증하는 무한대의 경우를 따지는 것만 Grid Search라고 부르는게 아니라, 1+0.1k, k=0~10 만해도 Grid Search라고 부른다. 변수 1개의 1차항만 따지는게 아니라, 서로간 사칙연산을 다 따져보는 것 자체가 이미 Grid Search의 영역으로 넘어간 것이다.

 

3) working capital 변수
워킹캐피탈을 의미하는 wc 변수가 왜 갑자기 튀어나왔냐고 하시는데, wc 라는 변수는 s&p compustat 에서 feeding 되는 항목입니다. 원문에 팩토팩토리가 compustat 에서 피딩되는 수천개의 항목들을 가지고 조합해서 서치한다고 쓰여져 있는데, 이 부분을 보시지 못하고 재무제표의 기초항목들로만 서치하는 것으로 생각하시지 않았나 싶습니다.

-> 답변

Working capital이라는 값이 어떻게 계산되는지 모르는 것 같다. 매출채권 – 매입채무 차이값인데, 왜 하필 서로의 차이값이 중요변수일까? 열심히 Grid Search하고 있으신 것처럼 매출채권과 매입채무의 곱, 비율, 아니면 제곱 같은 별의별 가능성을 다 따져볼 수 있을텐데, 왜 하필 차이값만 변수로 입력하나? 그냥 Compustat에 나오는 값만 넣었다고 말하려면, 차이값이 중요 변수로 뜨는 걸 보고 입력되지 않았던 곱, 비율, 제곱 같은 variation들도 넣어봐야 되는거 아닌가?

 

4) 왜 사칙연산만 쓰냐?
원문에 나온 예시인 트리 그림을 보고 그렇게 생각하신 것 같은데, 그렇지 않다는 것이 원문에도 나와있고, 원문 중 5 팩터 모델 추출된 형태로 봐도, 사칙연산 뿐 아니라 ^0.5 나 ln 연산등이 붙어서 추출된 것을 볼 수 있습니다. 물론 현재 모든 연산자가 쓰이고 있고 모든 수식표현을 팩터팩토리에서 탐색할 수 있는 것은 아니지만, 팩터팩토리의 표현 자유도를 높이는 방향으로 계속 모델을 확장중입니다.

-> 답변

위의 2번, 3번 답변에서 이미 느끼셨겠지만, Grid search하는걸 90년대 사회학의 stepwise regression 수준이라고 비웃고 있는 중이다. Root나 Log말고 1/3제곱은 어떤가? Log의 밑수를 바꾸는건 어떨까?

자유도를 높이라는 or 실제로 해 보라는 말이 아니라, 이런식으로 Grid search는 통계학 모르는 바보들이 하는 거라고 비웃고 있는 중이라고.

1번 답변에 써 놨듯이, 이렇게 Polynomial 스타일로 변수 쥐어짜기 해봐야 어차피 Information set의 최대치는 정해져있고, 거기서 변수 조합을 뭘 쓰느냐로 큰 이득을 못 얻는다는걸 PC3이 73% 나왔다는걸로 가르쳐 주잖아? 250개 변수 썼는데, 250차원이 아니라 단지 3차원으로 73%의 variation이 처리된다는 이야기는, 온갖 비선형 조합을 다 우겨넣어봐야 나머지 27%를 좀 더 끌어내는 의미 밖에 없다는 뜻이야. 그러느니 차라리 그냥 낱개 변수를 몇 개 더 추가하는게 훨씬 더 직관적이고 효율적이란다. 결국엔 니네가 그렇게 열심히 찾고 있는 그 변수들의 조합값이 낱개 변수의 Beta에 녹아들어갈꺼거든. 모든걸 다 떠나서 Y값이 이미 랜덤인데, PC3 이상의 27%에 해당하는 Information set을 추가한다고 Y값을 “항상 잘” 설명하는 변수를 찾아줄꺼라고 기대하는 것도 사기거든.

“항상 잘”이 아니라 “특정 시점”에 잘 찾아줄 수는 있겠지만, 그 특정 시점을 찾아내는데 조건부 Regression이라는게 필요하다는건 알고있으면 저렇게 단순 Grid Search를 할게 아니라 Causality를 예상할 수 있는 모델을 만들어야겠지?

이게 이해가 안 되니까 저렇게 Grid search하고 있는거긴 하겠지만.

 

5) causality 의 문제
크래프트는 서치된 패턴의 경제학적 해석보다는 p-value 기반한 training-test set 검증으로 진행하고 있습니다.(이 부분은 대다수의 퀀트펀드들도 마찬가지입니다) 이 부분은 academia 와 실제 운용이라는 목표의 차이가 큰 부분이니 생각이 다를 수 있을 것 같습니다. 반박글에서는 저희가 2020년까지의 데이터를 트레이닝에 쓴 걸로 상정하고 있는걸 봐서는 오버피팅의 문제도 같이 지적하고 있으신 듯 하고, 반박글 중에 robustness 테스트는 해본거냐 라는 내용도 있는데, 원문에 로버스트 테스트 결과 이미지가 있으니 참고하시면 좋을 것 같고, 원문 안에도 참조되어있지만 보다 자세한 실험설계내용은 https://bit.ly/2JuRIRo 를 보시면 좋을 것 같습니다. 실험세팅에 따라 다르지만 위 내용의 세팅은 1991.07~2015.04 의 데이터로 학습하고, 2015.05~2020.04까지의 데이터로 테스트한 결과입니다.

-> 답변

왜 Grid search는 바보들이 하는 작업이라고 비웃냐고? Causality 없으면 무의미한 변수라고. 서로 독립사건인 변수는 1회성 설명 변수에 불과하다고. Spurious regression에서 Spurious 라는 단어의 뜻인 사기라고. 사기.

p-value가 높고 낮고는 correlation만 이야기하는 거란다. causality는 correlation으로 계산을 못 해. 그래서 1회성 변수일까봐 독립사건인지 테스트하는 Lift 같은 계산을 하는거란다. Lift값만 봐도 사실 부족하거든. 결국 Causality는 합리적인 모델, 다양한 변칙 데이터 기반의 검증이 있어야 인정 된단다. Momentum이 있는 구간만 잡아서 Conditional Regression 해놓은 Marx (2012)에서 주장하는 변수도 혹시 Legal friction이 원인이 아닐까하고 반박했잖아. Legal friction이 원인이었다면 causality가 아니라 단순 correlation이라고 봐야겠지? Legal friction의 내용이 바뀌면 correlation 구간도 바뀔테니까. 근데 Legal friction이 원인인걸 그 모델에 넣던 변수로는 알수가 없잖아. 시장에 10-K, 10-Q가 공급되는 주기, 시장이 반응하는 양상 같은 금융시장 관련 지식이 있어야 유추해볼 수 있는거니까. 왜 단순 Correlation을 찾는 Grid search를 바보들이 하는 작업이라고 비웃고, 제대로 causality를 추론하는 수학 모델이 필요하다고 하는지 알겠어?

근데, 링크 걸어놓은 Robustness test는 Causality를 검증할 수 있도록 Conditional regression도 하고 해야지, 왜 그냥 기간만 나누고 끝냈나? 학부생인가? Marx (2012)도 Conditional regression이었다니까. Momentum 있는 구간만 잡았잖아.

그나저나 test set으로 검증하는 이유가 Machine Learning 모델들이 기본적으로 2nd moment를 계산하질 않아서, 분산이 없으니까 p-value, t-stat 같은걸 계산하질 못해서 그런건데, “p-value 기반한 training-test set 검증”은 도대체 무슨 말이야?

“학계 vs. 실제 운용”이라는 차이가 아니라, “고급 지식 기반 vs. 고급 지식 흉내” 정도로 보는게 맞을 것 같다.

 

6) Novy Marx 논문재현의 결과

왜 우연히 6개월 수익률로 딱 떨어지게 나왔냐, 사기친거 아니냐는 것인데, 입력되는 수익률 데이터(total_return) 항목이 3개월 6개월 12개월 등으로 되어있고 이것의 조합이 searching 되면서 그런 결과가 나온 것입니다. 물론, 1개월 / 2개월 / 또는 1.1개월 / 1.2개월 / 1.11개월 / … 모두 다 할 수도 있겠지만, 다른 변수들도 100% 자유도를 가지는 것은 아니고, 이미 지금 허용한 자유도도 우주적인 스케일이기 때문에, 이에 맞는 DRL 모델을 엔지니어링해서 매우 어렵게 경우의 수를 좁히고 있는 상황입니다. 트레이드 오프는 분명히 존재하지만, 그럼에도 왜 그렇게 안했냐는 비판은 지금도 계속 모델의 크기와 자유도를 확장 중이라는 것을 말씀드리겠습니다.

-> 답변

그렇게 자유도를 늘려서 될 문제가 아니란다. 계속 하는 이야기다만, 변수 찾아봐야 Causality 없으면 땡이고, 결국은 모델을 만들어야 된다고. 니네 같은 바보 공돌이들처럼 Grid Search 백번 해봐야 그냥 Lotto 당첨되는 식으로 Causality 있는 변수 얻어걸리는거 기도하는 수준이라고.

 

7) Novy Marx 모델의 유효성
Novy Marx 모델의 유효성에 대해서는 Novy Marx 모델에서 나온 패턴은 위 실험세팅(https://bit.ly/2JuRIRo)에서 찾은 1915 개의 팩터 중 하나이고, 이 1915 개 팩터의 testset 데이터(2015.05~2020.04) 결과는 원문에 표시되어 있습니다. 찾아보지는 않았지만 말씀하신 것처럼 Novy Marx 논문의 패턴이 최근들어 유효하지 않다면 Training Alpha 는 크고, Test Alpha 는 작은 포인트 중의 하나일 것이고 그러한 패턴들은 그래프에서 보시다시피 매우 흔하게 나타나고, 실제 운용에서는 적합하지 않은 팩터입니다. (Novy Marx 의 논문과 같은 결과가 도출된 것이라 재미있는 예이기 때문에 조명한 것입니다.)

-> 답변

Alpha 이야기를 할 게 아니라, 그 모델의 근본 결과물인 특정 변수의 효과가 결국엔 “재무자료 보고 기간 규정” (매 1년 -> 매 3개월)이라는 Legal friction 때문일지도 모른다고 그랬으니까, 그 규정이 바뀐 최근 데이터에서도 그렇게 나오는지로 반박해야지. 아님 그 규정 변화에 맞춰 변수를 변경해보던가. Legal friction일지도 모른다는 주장이 이해 안 되니까 Alpha가 있다가 없어진거라고 우기는거겠지?

그나저나 “training alpha는 크고 test alpha는 작은 경우가 많다”는 너네 주장을 보면, lift값이 1인 경우, therefore 독립사건인 경우가 수두룩하다는 반증이지 않냐? 그렇게 grid search로 찾는 변수들의 운명이 다 그렇거든. 그게 alpha가 있다가 사라진게 아니라, 그냥 1회성 변수인거야. correlation만 있고, causality가 없기 때문이지. 그러니까 다른 학문들이 stepwise regression에 목을 맸던 90년대 사회학을 유사학문이라고 바보 취급했었던거고. 넌 지금 계산 방법론만 다른 90년대 사회학자 수준이라는 걸 스스로 인정한거야. 테뉴어 받아서 못 짜르는 교수 아니면 그 분들 다 퇴출되셨거든? 이미 학계에서는 왕따고.

안에서 새는 바가지는 밖에서도 샌다고, 학계에서 틀려서 왕따 당하는 계산법이 산업계에서는 맞을리가 있겠냐? 헤지펀드들이 이미 70, 80년대에 테스트해보고 더 이상 안 쓰는 계산법이야. 하긴, 그 때도 공돌이들이 왕창 Wall Street에 갔다가 싹 쫓겨났었다.

실제로 금융시장 자산 수익률 데이터 뿐만 아니라, Retail 산업의 소비패턴에서도 Correlation만 높고 Causality가 없는 경우들이 수두룩하단다. 그날 반짝 할인판매하는 상품 옆에 놔뒀기 때문에 같이 많이 팔렸는데, 두 상품이 원래부터 항상 같이 팔리니까 옆에 놔두면 시너지가 나온다고 주장하면 뭐라고 그럴꺼야? 바보 취급할꺼 아냐? 이런 1회성 Correlation 사례가 너무 많으니까 Lift값 따지고 (독립사건인지 확인하고), cross-section으로 데이터 검증하고, 대체재, 보완재 탄력성도 따지고 그런단다.

어느 산업군이나 데이터로 특징 찾는 사람들이 단순히 Grid search에서 모든 가능한 조합 따지는 바보짓을 안 하는 이유가 버젓이 있는데, 그 바보짓이 맞는 계산법이라고 우기는 것도 모자라서 인공지능(AI)이라고 주장하면 우리같은 사람들이 너네를 뭐라고 생각할까?

 

8) 기타
이렇게 찾아도 최근으로 올 수록 결과가 좋지 않은 팩터는 당연히 생깁니다. 혹시, 이렇게 찾은 팩터를 되든 안되던 그냥 다 쓰는 것 아니냐고 하실까봐 부연설명을 드리면, 크래프트가 운용하는 방식은 testset 에서도 통과되고 기준을 넘어선 팩터들만 사용이 되고, 팩터팩토리에서는 계속 팩터들을 찾고 스트레티지 팩토리라는 이를 조합하는 AI 모델(Strategy Factory)이 별도로 존재합니다.

-> 답변

계속 하는 이야기다만, 변수를 Grid search로 찾는게 Alpha를 만들어낸다는 그런 헛소리 그만해라고. 아예 Non-stationary 데이터로는 무슨 모델을 만들건 무의미하다고 써 줬잖아. 그게 무슨 뜻인지 모르면 찾아보기라도 하면 안 되겠냐? 운좋게 Causality가 있는 변수를 기적같이 찾아냈다고해도, 그 변수가 time-consistent하려면 데이터가 (최소한 Weakly) stationary하게 움직여야 한다고. Sine, Cosine 일반함수처럼. Non-stationary 데이터로 같은 작업해봐야 패턴이 반복되질 않으니까 1회성 변수가 나올 수 밖에 없단다. 90년대 사회학자들은 잘못됐다는거 알고 내부 자정작용이라도 있었구만. 너네는 왜 내부 자정작용도 없어? 왜 너같은 주장하는 애들이 퇴출 안 되는거야?

알파고는 Stationary 데이터고, Strategic action set이 정해지는 데이터라서 계산비용마저 줄일 수 있는데, 주식 시장은 아예 Non-stationary라고. 그래서 통계학 모델을 못 쓴다고. 너네 계산법은 통계학 아니라고 또 우길려고? 머신러닝, 인공지능, AI 그러는거 전부 다 통계학의 특정 계산법 중 하나라고. RNN이라고 해서 Non-stationary 데이터에 막 적용하면 되는게 아니라, 계산값이 convergence 조차도 안 나오는 경우가 대부분일꺼다. 좀 제대로 공부하고 조건을 걸어서 Stationary 구간을 찾던가..

너네가 잘 몰라서 단순 Grid search 수준의 계산법 쓰는 줄로 알고 있는 대형 헤지펀드들은 조건 걸어서 stationarity 있는 구간만 잡아놓고 그런 시도한다. 당장 너네가 언급한 저 Marx (2012)도 Momentum이 있었던 구간만 따지는 조건부 Regression이었잖아? Non-stationary 데이터에선 아예 인류가 알고 있는 통계학 자체가 안 먹힌다니깐?

 


여러 관계자들을 통해 저 회사 대표가 경제학 대학원 지식을 습득할 수 있는 수준의 수리통계학 훈련을 받은 분이 아니라는 사실을 인지하고 있다. 어쩌면 회사 비지니스의 근간을 때리는 글일지도 모르는 최초 반박글에 달아준 답변을 봤을 때, 역시 듣던대로 실력이 있는 사람이 아니라는걸 이제 확신할 수 있을 것 같다. 그냥 상상력만 많은데 실제로 자신의 상상력을 검증할 지식이 없는 평범한 학부 수준 공돌이에 불과한 분이다.

이런분들이 잘 모르니까 맨날 새로운 계산법이 나오면 수학적으로 틀린 부분도 해결되는 줄 아는데, 새로운 계산법은 계산비용과 정확도의 타협점 중 하나에 불과할 뿐이다. 새로운 계산법, 최신 계산법, 트렌드 계산법, 이딴 한심한 소리들 좀 그만해라. (구글에 그런 키워드 검색하는 사람 진짜 많더라.) Random 데이터를 예측할 수 있다는 미친 이야기에 무슨 계산법을 어떻게 쓰건 될리가 있나? 밑바닥에 있는 수학, 통계학은 모르고, 그냥 껍데기인 Library 적용 코드만 알고 최신 계산법 쓴다고 바뀌는건 계산비용 밖에 없다. 이미 틀렸거든. 3+5 = 8을 7로 쓰는 틀린 계산을 해주는 최신 계산기에게서 기대할 수 있는건 결과를 좀 더 빨리 알려준다는 것 뿐이다.

저런 분들이나, 저런 회사에 투자한 분들이나, 지식의 범위가 좁아서 Dunning-Kruger effect에 사로잡혀 있겠지만, 이쪽 분야에서 상상력을 실제로 구현하는건 학부 수준 엔지니어링이 아니라, 대학원 수준 수학/통계학 같은 고급지식이다. 그런 고급지식 하나도 모르니까 반박이라고 써 놓은 댓글엔 헛소리 투성이지 않나?

저런 지식 수준의 회사에 투자한 VC 담당자가 부하직원이었으면, 단순 해고가 아니라 회사에 손해를 끼쳤다고 민사 소송을 들어가야 될 수준으로 보인다. 어지간한 전문가 1-2명에게만 물어봐도 바로 무지식인걸 검증할 수 있었을텐데 그걸 안 했다는거잖아?

그나저나 이렇게 모르면서 바득바득 우기는 사람들은 왜 항상 공대 출신이지?

왜 저렇게 우기는 공대생들은 Github 코드랑 예제만 보고 확증편향에 사로잡히고, 정작 통계학 지식을 쌓을 생각을 안 할까??

공대 교육과정에서 수학, 통계학 같은 기초적인 부분에서 틀렸으면 사상누각이라는걸 배우지 않나???

건축하는 사람이 물리법칙을 무시하고 건물 지을 수 있다고하면 건축 분야에서 왕따당하지 않음????

너네는 대학원가면 더 고난이도의 수학, 통계학으로 어줍잖은 지식의 틀이 깨지는걸 체감하는 기회가 없어?????

K-Means 로 그룹 나눈다고 생각하고 끝나는게 아니라, Bayesian 응용해서 GMM 으로 K-Means를 확장하고나면, Latent variable이라는거 알게되고, Information set 같은 개념이 재정의 되고 그러지 않음? Information set의 관점에서 보고나면 PCA는 선형 결합에 불과하다는걸 깨닫고 뭐 그런 과정 없음?

누가 그런 이야기하면, 어우 그건 너무 어려운거다, 난 못하니까 내 주제를 알아야지 이런 생각 안 함? 저런걸 몰라도 난 슈퍼 초특급 전문가라고 착각하는건 도대체 무슨 자신감이야?


쉽게 써 보려고 했습니다만, 최초 의도와는 달리 수리통계학 학부 수준을 뛰어넘는 지식이 일부 담겨 있어 이해가 쉽지 않을 것 같습니다. 항상 그렇습니다만, 바보들은 쉽게 설명하려고하면 할수록 만만하게 보고 우기는 경향이 있어서, 바보들의 입을 틀어막으려니 어쩔 수 없었다고 변명하겠습니다. 이래도 조잡한 지식으로 또 우기면 상종을 말아야죠. 이해하시는 분들께서 앞으로 Investor’s Alpha를 Grid Search로 찾겠다는 바보를 만나면 반박하느라 스트레스 받지 마시고 윗 글을 Reference로 활용해주신다면 글 쓰는데 버린 시간이 낭비는 아니리라 생각합니다.

* 글 퍼나르기만 했던 어XX님, 본인 의도가 어쨌건, 대화 나눌 가치가 없는 바보를 구분 못하고 진흙탕 싸움에 끌어들이신 부분은 지적 받아 마땅한 짓이라고 생각합니다. 한 달 드립니다. 위의 설명 글을 본인 깜냥 수준에서라도 제대로 이해했다는걸 보여주는 감상문 1편을 admin.pabiinews@pabii.co.kr로 보내주시기 바랍니다. 1달 동안 답장이 없으면 블록 메일 계정 리스트에 넣습니다.