본문 바로가기

금융 데이터 분석

(2)
주식 데이터 수집을 위한 DB 스키마 여러 종류의 금융 데이터 (text, 차트, 재무제표 등) 를 동시에 분석하기 위해서는 이 데이터들을 시간으로 맵핑할 필요가 있다. 이를 위해서는 timestamp 로 데이터를 정렬해야 하는데, 이 작업에 리소스가 많이 필요하다. 이외에도 데이터의 무결성 유지, 주기적인 업데이트 등의 작업이 필요하다. 이런 작업 요소들은 MySQL 등의 DBMS 를 사용하면 쉽게 해결할 수 있다. 현업에서도 MySQL 을 사용하는 것으로 알고있는 필자는 경험삼아 MySQL 을 사용하기로 했다. DB schema 는 아래와 같이 구성했다. 추후 더 필요한 데이터가 생길 경우에는 다른 테이블이 추가될 수 있다. 작업을 하다보면 점점 field 수가 늘어 나중에는 각 field 에 무엇을 저장하려고 했는지 기억이 안날 수 있..
주식시장의 정량적 분석에 필요한 재료들은 어디에 있을까? 코딩을 활용하여 무언가를 해보려면 데이터 수집을 해야한다. 기관의 연구원이라면 이미 활용할 수 있는 데이터가 많겠지만 우리는 개인이니까 직접 데이터를 모아야한다. github에서 소스를 공유하듯이 데이터도 공유를 하면 좋으련만 돈놀이와 관련된 데이터라 그런지 유용한 데이터를 공유해주는 사람은 거의 없다. 데이터 스크랩퍼를 만들기 위해서는 어떤 프로그래밍 언어를 사용하여도 무관하지만 대부분은 생산성이 좋은 python을 사용한다. python에서 주로 활용되는 라이브러리는 html 파싱을 위한 BeautifulSoup, html request를 보내기 위한 requests 이다. 그 외에 필수적인 도구는 chrome 브라우저의 개발자 도구이다. 개발자 도구는 파싱을 위해 html 페이지 구조를 분석하거나 ..