파이썬 데이터 분석 도서 추천, 금융 데이터를 위한 파이썬!

2020. 6. 23. 07:05

파이썬으로 데이터 분석하는 사람이 늘고 있다. 빅데이터 분석을 애기할 때 R과 파이썬을 많이 애기한다. 필자는 R보다 파이썬을 선호한다. 문법이 훨씬 직관적이고, 활용할 수 있는 패키지가 많기 때문이다. 데이터 분석 결과를 이용하여 웹페이지 개발, 서비스를 만들기에도 파이썬이 훨씬 용이하다. 이렇게 생각하던 중에, 기회가 돼서 '금융 데이터를 위한 파이썬'이라는 책을 출간하게 되었다.


금융데이터_파이썬



데이터 수집, 분석, 활용을 누구나!

많은 데이터가 공개돼 있고, '파이썬'이라는 오픈소스 프로그래밍 언어를 통해 누구나 쉽게 데이터를 수집, 분석, 활용할 수 있다. 파이썬은 문법이 쉽고 이미 개발된 많은 패키지들이 있기 때문에, 적은 노력으로 원하는 성과를 달성할 수 있다. 프로그래밍의 장점 중 하나는 코드를 재사용할 수 있다는 것이다. 여러가지 다양한 분석방법의 코드를 익히면 이를 다른 영역의 데이터 분석에도 쉽게 활용할할 수 있다.


파이썬_그래프



어디에서부터 시작해야 하지?

데이터 분석을 공부하는 방법은 여러가지가 있다. 필자는 분석 방법도 중요하지만, 어떤 데이터를 분석할 지 결정하는 것이 더 중요하다고 생각한다. 자신과 아무 상관이 없는 데이터는 아무리 하려고 해도 흥미가 생기지 않는다. 그런 의미에서 금융 데이터는 데이터 분석을 공부하기 위한 좋은 재료이다. 많은 사람들이 관심을 가지고 있는 데이터이고, 공개도 많이 되어 있다. 돈과도 직간접적으로 연결돼 있어 누구나 쉽게 흥미를 가질 수 있다.


파이썬_라인_그래프



데이터 수집부터 분석, 활용까지!

데이터 분석은 크게 데이터 수집, 분석, 활용의 3단계로 이루어져 있다. 그리고 위의 3단계를 모두 책에서 다루었다.

데이터 수집은 파이썬 패키지, 오픈API, 웹크롤링을 이용하는 방법에 대해서 다루었다. 셀레니움을 이용하여 동적으로 변하는 웹페이지를 수집하는 방법과 스크래피를 이용하는 방법도 담았다. 수집한 데이터는 DB(Sqlite3, MySQL)에 저장할 수 있게 하였다.

데이터 분석은 판다스 패키지를 이용하는 방법과 seaborn, plotly를 이용해서 데이터 시각화를 통해 분석하는 방법을 다루었다. 분석한 데이터는 dash를 이용해서 웹대시보드를 만들 수 있도록 했다.

데이터 활용 쪽에는 많은 사람들이 흥미를 가질 수 있는 주제를 다뤄보고자 했다. 여러가지 경제 지표와 부동산, 주식 데이터를 이용해 궁금한 주제에 대해 분석하고, 활용하는 방안들을 제시해 보았다.


주식_배당률_그래프


아래 링크를 클릭하면, 교보문고에서 책의 내용을 확인할 수 있다.
( 참조: http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791190014984&orderClick=LEa&Kc= )


필자의 책에서는 부동산, 주식, 금융지표 등의 다양한 내용을 다뤘지만, 요즘 들어 많은 사람들이 주식 투자에 관심을 가지는 듯 하다. 다양한 이유가 있겠지만, 코로나 이후 미국IT기업들의 주가가 큰 폰으로 오른 것이 큰 몫을 했다고 생각한다. 그래서 코로나 이후 애플,구글,아마존,테슬라,페이스북 등의 주가 흐름을 비교해 보았다. 많이 오르긴 했지만, 개별 기업별로 차이가 있었다.
( 참조: 코로나 이후 애플,구글,아마존,테슬라,페이스북 등 미국 주가 흐름 비교! )


책에서는 API를 이용해 부동산 데이터를 수집하는 방법을 다루었다. 하지만, 최근에 더 쉽게 부동산 관련 데이터를 수집할 수 있는 방법을 알았다. 파이썬 패키지를 이용하는 방법이고, 자세한 내용은 아래 포스팅 3-2)를 참조하기 바란다.
( 참조: 가장 쉬운 아파트 실거래가 조회하고, 데이터 수집하는 방법은?! )


책에서 재무제표 데이터를 수집하기 위해, OPEN Dart 시스템의 API를 이용하였다. 최근에 이를 이용하여 개발된 파이썬 패키지를 알게 되었다. 함수 하나로 필요한 정보를 쉽게 수집할 수 있어 굉장히 편리하다. 자세한 내용은 아래 포스팅의 4번을 참조하기 바란다.
( 참조: 기업 재무제표 데이터를 수집하는 가장 쉬운 방법 TOP3는?! )


이 책의 목차는 아래와 같다.

Chapter1. 금융 데이터 수집하기

1.1 파이썬 패키지를 이용하여 데이터 수집하기

1.2 OPEN API를 이용하여 데이터 수집하기

1.3 웹 크롤링을 이용하여 데이터 수집하기

1.4 수집한 데이터 저장하기

1.5 실제 데이터를 수집해 보자

     1) 주요 경제지표 수집하기

     2) 부동산 실거래가 데이터 수집하기

     3) 주가 정보 수집하기

     4) 재무제표 데이터 수집하기


Chapter2. 금융 데이터 분석하기

2.1 데이터 정리하기

2.2 데이터 시각화 및 분석하기

2.3 데이터 프레젠테이션하기

2.4 dash 웹 대시보드 만들기


Chapter3. 금융 데이터 활용하기

3.1 인구 통계 시각화하기

3.2 유동성과 주가, 부동산 가격 비교하기

3.3 주요 각국의 기준금리 비교하기

3.4 금융 대시보드 만들기

3.5 매매가 대비 전세가 높은 아파트 찾아보기

3.6 강남역에서 가까운 아파트 찾아보기

3.7 배당 수익률이 높은 주식 찾아보기

3.8 퀀트 투자 따라 하기


책에서는 판다스 데이터 프레임과 시각화 패키지를 이용해서 데이터 분석하는 법을 다루었다. 하지만, 의외로 데이터를 수집하고 무엇을 해야 할지 모르거나 무작정 작업부터 하는 사람들이 많다. pysweetviz는 데이터 탐색 초기에 확인해야 할 내용을 시각화해서 보여주어 유용하다. pysweetviz에 대한 자세한 내용은 아래 포스팅을 참조해보자.
( 참조: 파이썬 데이터 분석, EDA를 도와주는 패키지-sweetviz )


sweetviz그래프_예시


파이썬으로 데이터를 수집하고, 분석 및 활용하는 방법에 대해 궁금한 사람들에게 도움이 되기를 바란다.


파이썬_데이터분석_도서



포트폴리오 내용을 추가로 블로그에!

책을 출간하면서 한 가지 아쉬움이 있었다. 바로 포트폴리오와 관련된 내용을 많이 담지 못했다는 것이다. 주식투자를 오랫동안 해 왔지만, 개별 종목에 직접 투자하는 것은 피곤한 일이다. 운이 좋아 약간의 수익을 봤다. 하지만, 그 동안 상폐위기의 종목도 있었고, 상승해도 하락해도 앞을 알 수 없어 불안한 적이 많았다. ( 그래서 가급적 규모가 있는 기업에 투자하는 습관이 생기기도 했다. )

그러다가 한 가지 대안을 찾았다. 개별 종목이 아니라 ETF에 투자하는 것이다. ETF는 국가 경제가 성장하면, 장기적인 관점에서 상승할 가능성이 높은 펀드이다. 수수료도 저렴하고 IRP계좌를 이용하면 세액공제도 받을 수 있다.

가장 고전적인 포트폴리오 구성은 주식 60%, 채권 40%에 투자하는 것이다. 주식과 채권이 같은 방향으로 상승 또는 하락하지 않기 때문에, 변동성을 줄이고 안정적으로 수익을 올릴 수 있다.

그래서, ETF를 이용해서 포트폴리오를 만들고 평가하는 작업을 이번 기회에 해보려고 한다. 가장 먼저 코스피 지수를 추종하는 ETF 중 추천 상품을 알아보았다. 자세한 내용은 아래 링크를 참조 바란다.
( 참조: 코스피 ETF의 종류와 매월 일정금액을 투자했다면 그 결과는?! )



오타 수정합니다.

- 92p, def __init__(self, code="098Y001", cycle="MM", from_ym=None, to_ym=None,  args, **kwargs) -> args앞에 *가 빠졌습니다. *args로 정정합니다.



직접 쓴 책을 이렇게 추천한다고 포스팅하는 것은 민망하다. 하지만, 그만큼 열심히 썼고, 누군가에게는 큰 시작을 위한 도약이 될 수 있다고 생각한다. 필자도 파이썬을 접하고 배움을 계속 이어오기까지 누군가의 마중물이 있었다. 이 책도 많은 사람들에게 좋은 씨앗이 되었으면 한다.

댓글()
  1. Favicon of https://redteam-securitylab.tistory.com BlogIcon REDTEAM 2020.06.24 13:35 신고 댓글주소  수정/삭제  댓글쓰기

    간단하게 좋은 정보 감사합니다!

  2. Favicon of https://namhandong.tistory.com BlogIcon Jun_N 2020.06.25 16:48 신고 댓글주소  수정/삭제  댓글쓰기

    흥미롭네요!!

  3. Favicon of https://consolisc.tistory.com BlogIcon 월드 IT스토리 2020.06.26 17:27 신고 댓글주소  수정/삭제  댓글쓰기

    정말 놀랍네요 놀이터 수준이 아니라 백화점 수준이네요 잘보고 갑니다 그리고 또 놀러 오겠습니다

  4. Favicon of https://consolisc.tistory.com BlogIcon 월드 IT스토리 2020.06.27 13:38 신고 댓글주소  수정/삭제  댓글쓰기

    네 ^^ 자주 놀러가겠습니다 저도 감사합니다

  5. 2020.06.29 13:10 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  6. Favicon of https://coding-nyan.tistory.com BlogIcon moongomi 2020.07.03 10:25 신고 댓글주소  수정/삭제  댓글쓰기

    흥미로운 주제네요 기회가 된다면 꼭 읽겠습니다 감사합니다!!

  7. Favicon of https://gold-dragon.tistory.com BlogIcon gold_dragon 2020.07.03 11:35 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 장보 감사합니다😊

  8. 2020.07.04 16:52 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of https://tariat.tistory.com BlogIcon 테리엇 2020.07.07 10:59 신고 댓글주소  수정/삭제

      어떤 분석을 하려고 하는지, 물어봐도 될까요? 구매 상품에 대한 자료가 없다면, 시계열로 구매금액 예측하는 모형을 해볼 수 있을 것 같습니다.

  9. 알 수 없는 사용자 2020.07.07 18:13 댓글주소  수정/삭제  댓글쓰기

    제가 찾던 종류의 책이네요! 감사합니다.

  10. 2020.07.22 01:30 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  11. 2020.07.23 21:31 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  12. 막쇠 2020.11.24 07:20 댓글주소  수정/삭제  댓글쓰기

    책 관련되서 질문 있습니다. scrapy 를 활용한 데이터 저장하는 부분에서 에러가 계속 나고 있는데요.
    92페이지의 class CollectBaseRateSpider(scrapy.Spider) 코딩을 똑같이 작성하고 실행시키면

    def __init__(self, code="098Y001", cycle="MM", from_ym=None, to_ym=None, args, **kwargs):
    SyntaxError: non-default argument follows default argument


    이렇게 syntax error 가 계속 나오고 있습니다. __init__ 구문에 문제가 있는 것 같은데
    도무지 알수가 없네요. ㅠㅠ

    • Favicon of https://tariat.tistory.com BlogIcon 테리엇 2020.11.26 07:33 신고 댓글주소  수정/삭제

      안녕하세요. 함수를 정의할 때 입력변수에 기본값을 정의한 경우, 기본값을 정의하지 않은 변수의 뒤에 있어야 합니아. 예를 들어 아래와 같이 작성하면, 동일한 에러가 발생합니다.

      def test(a=1, b):
      print(b)

      아래와 같이 수정하며 됩니다.

      def test(b, a=1):
      print(b)

      (공백이 사라졌는데, print앞에 공백 4칸 있습니다. ㅎ)

      그런데, 지금 주신 코드는 이 문제는 아닌 거 같습니다. 그래서 위의 내용만으로 원인을 알기는 어렵습니다. 해당 프로젝트 전체를 압축해서 제 이메일 주소(esnsft@gmail.com)로 보내주세요. 한 번 확인해보겠습니다.

  13. engels 2021.01.10 12:21 댓글주소  수정/삭제  댓글쓰기

    책 구매했습니다.
    좋은 책 감사합니다.

  14. Favicon of http://blog.naver.com/choco529 BlogIcon 그리핀01 2021.02.16 13:10 댓글주소  수정/삭제  댓글쓰기

    안녕하세요.
    '금융 데이터를 위한 파이썬' 도서를 구매한 독자입니다.
    파이썬과 금융 데이터를 다루는 분야로는 완전 초보는 아니지만,
    간결하고 잘 정리되어 있는 책의 내용에 매료되어 구매하였습니다.
    좋은 내용으로 책을 내어주셔서 감사합니다~
    다 읽어보고 리뷰도 남기도록 하겠습니다.
    감사사합니다~