studying data

문제의 본질을 꿰뚫어 해결책을 찾는 법을 공부합니다

콤퓨타 공부/증권데이터 분석

[증권데이터] 판다스는 뉴욕 증권가에서 일하는 퀀트에 의해 개발됐다

study_data 2021. 9. 9. 20:13

판다스는 계량 경제에 도움을 주기 위해 만들어졌습니다. 우리가 금융 데이터를 연구할 때는 공통적인 task를 가지는데 통계적인 추정을 하는 일들을 공통적으로 하게 됩니다. 쉽게 쓸 수 있게 되기 때문에 어떤 기술을 사용할 것인지 광범위한 기술이 있습니다. Numpy는 중심적인 역할을 합니다. pandas도 numpy를 가지고 있고 여러 도구들을 가지고 있기 때문에 재사용이 가능한 API를 제공합니다. 그리고 파이썬은 접착제 언어라는 특징이 있습니다. 다른 언어와 호환성이 좋기 때문입니다. bridge performance gap이 있는데 API만 파이썬으로 개발하면 다른 빠른 언어의 장점과 파이썬의 쉽고 빠른 속도가 결합될 수 있습니다. 파이써니스타라고 부르는데 이들은 필요한 툴이 있으면 직접 만들거나 버그를 잡고 생태계가 굉장히 큰 편입니다.

통계적인 추정을 하거나 다른 언어와의 인터페이스를 제공하고 싶어서 파이썬의 접착제 언어인 장점을 활용해서 호환성이 좋은 라이브러리를 만들 생각을 했습니다. AQR에서 2009년에 오픈소스로 공개가 되었고 판다스는 판다 곰을 가장 먼저 떠올리는데 판다스는 판다와 상관없고 panel data의 약자에서 왔습니다. 다차원 데이터를 의미합니다. 판다스에서는 이렇게 3가지 구조를 다루는데 1차원, 2차원, 3차원이 있습니다. 최신버전에서는 3번째 버전만 사용을 권장합니다. 시리즈와 데이터 프레임(구조)를 이해하는 것이 중요한데, label vector를 가지고 있습니다. 엑셀 형태를 떠올리면 데이터 프레임입니다. 판다스를 이해할 때 시리즈와 데이터 프레임을 이해하는 것이 우선입니다. 시리즈는 만약 주가의 종목이 있다고 하면 두 종목을 더하는 벡터연산을 할 수도 있고 결측치가 있다고 하면 채워서 더할 수도 있습니다. 1차원 벡터 구조를 더해서 연산하거나 다양한 operation이 가능합니다. 2차원 행렬형태에서는 표형태로 나타나고 여러 열에서 다양하게 나타납니다. 시계열 데이터라고 볼 수 있고 주가 개별종목의 수익률이라고 하면 수익률을 비교할 수도 있고 더할 수도 있습니다. 열을 기준으로 더할 수도 있고 특정 컬럼을 가져와서 볼 수도 있습니다. 데이터 프레임을 통해서도 다양한 연산이나 조작이 가능한 것이죠.

판다스에서 바로 데이터프레임에서 plot하면 다양한 그래프를 그려볼 수 있습니다. 수익률을 본다고 하면 다양한 종목의 수익률을 볼 수 있어서 호환성이 굉장히 좋다고 할 수 있습니다. 증권데이터를 통해 실습하는 이유는 판다스 자체가 금융데이터를 분석하기 위해 만들어진 도구이기 때문에 금융데이터를 통해 판다스를 배우면 더욱 재밌게 배울 수 있습니다.