차밍이

[Python] cufflinks, QunatFig, Plotly 주식 그래프 예쁘고 편하게 그리기 - 파이썬 주식투자(7) 본문

파이썬/데이터 시각화

[Python] cufflinks, QunatFig, Plotly 주식 그래프 예쁘고 편하게 그리기 - 파이썬 주식투자(7)

2021. 1. 23. 14:43
반응형

목차

    아 이걸이제야 봤네 ..ㅋㅋ (호두ver.) - 코박

    아 ~ 이걸 이제야 봤네 ~!!!!

    우리 호두 형님의 명대사죠...

    cufflinks 를 왜 이제야 봤는지 모르겠습니다.

    주식 데이터나 기타 지표들을 아주 쉽고 편하게 그릴 수 있었는데, 열심히 해매고 다녔네요.

    cufflinks라이브러리 자체에서 plotly 연동이 되어서 예쁘고 쉽게 그래프를 그려줍니다.

    앞으로는 cufflinks를 많이 활용해서 그래플르 그리고 분석을 진행해볼 예정입니다.

     

    1. cufflinks 설치하기

    Anaconda Promplt에서 cufflinkschart_studio를 설치해줍니다.

    cufflinks를 파이썬에서 importchart_studio도 필요하니 미리 설치할때 같이 해주도록 합니다.

    pip install cufflinks, chart_studio
    
    # 따로 하나씩 해도 무방해요
    pip install cufflinks
    pip install chart_studio

     

    2. cufflinks와 chart_studio 로 캔들스틱 차트 그리기

    데이터 가져오는 부분 이전글 참고 : [Python] pandas_datareader 코스피 코스닥 지수 데이터 가져오기 // 파이썬 주식투자(1)

    사실 안봐도 무방해요....ㅎ;;

     

    [Python] pandas_datareader 코스피 코스닥 지수 데이터 가져오기 // 파이썬 주식투자(1)

    목차 pandas_datareader pandas_datareader library를 사용하면 훨씬 쉽게 코스피 or 코스닥 지수 데이터를 가져올 수 있습니다. 1. pandas_datareader 설치하기 기존에 pandas_datareader 를 설치하지 않았다면 a..

    chancoding.tistory.com

     

    import chart_studio.plotly as py
    import cufflinks as cf
    cf.go_offline(connected=True)
    
    from pandas_datareader import data  
    from datetime import datetime
    import pandas as pd
    
    
    # 데이터를 가져올 날짜 설정
    start_date = datetime(2013,1,3)
    end_date = datetime(2021,1,22)
    
    # 야후에서 삼성전자 데이터 가져오기
    samsung = data.get_data_yahoo("005930.ks", start_date, end_date) 
    samsung.reset_index(inplace=True)
    
    # QuantFig 매소드를 사용해서 그래프 그리기
    qf=cf.QuantFig(samsung,title='Samsung Quant Figure',legend='top',name='삼성')
    qf.iplot()

    QunatFigure을 사용해서 캔들스틱 그래프를 그려보았습니다.

    plotly를 기본으로 사용하기 때문에 그래프를 줌 하거니 특정 부분을 보는 등의 plotly 그래프의 장점을 똑같이 활용할 수 있습니다.

     

    3. 거래량, 볼린저밴드 등의 다른 지표 추가하기

    거래량 Volume 이나 볼린저 밴드, MACD 등의 주식과 관련된 지표들을 같이 차트에서 확인할 수 있으면 좋겠습니다.

    cufflinks에서는 쉽게 명령어 하나면 추가할 수 있어서 정말 편리합니다.

    # 데이터를 가져올 날짜 설정 / 시간을 좀 더 짧게 잡음
    start_date = datetime(2020,10,12)
    end_date = datetime(2021,1,22)
    
    # 야후에서 삼성전자 데이터 가져오기
    samsung = data.get_data_yahoo("005930.ks", start_date, end_date) 
    samsung.reset_index(inplace=True)
    
    
    qf=cf.QuantFig(samsung,title='Samsung Quant Figure',legend='top',name='삼성')
    qf.add_bollinger_bands()
    qf.add_volume()
    qf.add_macd()
    qf.iplot()

    볼린저 밴드는 캔들 차트와 함께 그려지고 거래량과 macd는 따로 그려졌습니다. 일반적으로 주식 투자를 할 때와 같은 방식으로 자동으로 그려주는 것을 볼 수 있습니다. 매우 편리하죠 !

    그렇지 않으면 subplot을 통해서 또 따로 설정하고 그려줘야 하는데 완전 꿀입니다!!

    # 데이터를 가져올 날짜 설정
    start_date = datetime(2019,10,12)
    end_date = datetime(2021,1,22)
    
    # 야후에서 삼성전자 데이터 가져오기
    samsung = data.get_data_yahoo("005930.ks", start_date, end_date) 
    samsung.reset_index(inplace=True)
    
    qf=cf.QuantFig(samsung,title='Samsung Quant Figure',legend='top',name='삼성')
    qf.add_cci()
    qf.add_adx()
    qf.add_dmi()
    qf.iplot()

    그 외에도 cci, adx, dmi 등의 다른 지표들도 추가해서 볼 수 있습니다.

    필요에 따라 period 등의 다른 값들을 바꿔가면서 그려볼 수 있으니 충분히 활용할 수 있을 것 같습니다.

    지금까지 기본적은 cufflinks에서 Quant Figure을 그리는 방법을 알아보았습니다.

    다음에는 더 자세하게 그래프를 그리고 분석할 수 있는 부분에 대해서도 생각해보겠습니다.

    Cufflinks Github Address : https://github.com/santosjorge/cufflinks/blob/master/cufflinks/quant_figure.py

    반응형

    관련된 글 보기

    Comments