2021년 8월 3일 화요일

DB Construction - 1. 깨끗한 데이터가 필요해

 금융 분야 공부를 계속하면서 제가 부딪친 가장 큰 벽은 데이터의 문제입니다.

완벽주의 성향이 있어서인지 '정확한' 데이터를 가지고 실험하지 않으면 결과를 신뢰할 수가 없어서 무언가를 해놓고 나서도 이게 맞는 건지 확신이 계속 들지 않더라구요.

근데 개인이 '정확한' 데이터를 갖기란 매우매우 어렵습니다.


'정확한' 데이터가 갖춰야 할 조건은 상당히 많습니다.

해당 조건들을 크게 두 가지로 나누어보았습니다.

통계학에서 사용하는 오류 정의 방식을 차용하여, 

Type 1 Error : 실제로 참인데, 아니라고 하는 경우

Type 2 Error : 실제로 거짓인데, 참이라고 하는 경우

로 구분할 수 있습니다.


그러면 금융 데이터에서는 Type 1 Error가 어떻게 존재할까요?

일례로 생존편향을 생각해볼 수 있습니다. 실제로 존재했던 기업인데 상장폐지되어서 기록되지 않은 경우 등의 문제에서 전략 학습에 심각하게 왜곡을 끼칠 수 있죠. 

단적으로 생각해본다면 부채비율을 높게 유지하는 기업 A,B와 낮게 유지하는 기업 C가 존재한다고 생각해보겠습니다. A, B의 경우 상당히 리스크가 높기에 성공적으로 살아남았을 경우 수반되는 보상 또한 일반적으로 높겠죠. A는 살아남았는데 B는 살아남지 못했다고 하겠습니다. 백테스팅 과정에서 현재 상장된 기업들만을 대상으로 한다면 A와 C를 분석하게 되는데, 이 경우 A가 높은 수익률을 보인 것으로 기록되었기 때문에 부채비율을 높게 가져가는 기업이 수익률이 높다고 단정지어버릴 수도 있습니다. 

생존 편향 뿐만 아니라 다른 다양한 오류들이 Type 1 Error에 포함되어 있을 수 있습니다.

그럼 반대로, Type 2 Error는 어떤 경우를 의미할까요?

실제로 거짓인데, 참이라고 하는 경우로, 널리 알려진 미래참조편향이 이에 해당됩니다.

과거 시점에서 확인되지 않았는데 그 위에 덮어씌워져 기록되어 과거 시점에서 확인 가능했다고 생각되는 것이죠. 예를 들어 기업이 3월 28일에 사업보고서를 제출할 때는 매출을 100억원으로 기록했는데, 6월 19일에 기재정정을 통해 95억원으로 최종 기록되었다고 해보겠습니다. 만약 이러한 정정이 반영되지 않는다면 3월 28일에 매출이 95억으로 기록된 것처럼 착각해서 전략을 학습하게 됩니다. 결국 전략이 왜곡되는 것이죠.

물론, Type 2 Error 또한 미래참조편향 말고도 다양한 편향 및 오류를 포함하고 있습니다.


페이를 지불하고 사용하는 데이터벤더들도 이러한 오류가 완벽히 제거된 데이터를 제공하는 곳은 사실 많지 않습니다. 오류가 완벽에 가깝게 제거된 데이터의 경우 상당한 가격을 지불해야 한다고 하네요. 

기업들도 완벽히 오류를 제거하기 힘든데, 개인이야 오죽할까요.. 아마도 이런 류의 진입 장벽에 따른 정보 불평등 때문에도 개인들이 더 낮은 수익률을 보이는 걸지도 모릅니다.

아무튼 본론으로 돌아와서, 결국 좋은 전략을 구성하려면 깨끗한 데이터가 우선시되기 때문에, 이를 구하기 위해 노력한 과정을 좀 적어볼 생각입니다.

글을 읽어주시는 분들도 혹시 좋은 데이터벤더나 크롤링 방법이 있다면 적어주시면 감사하겠습니다ㅎㅎ!

댓글 없음:

댓글 쓰기