본문 바로가기
주식공부 feat. 파이썬

5. 주가 데이터 엑셀로 다운로드 받기 확장판 feat.등락률 + 거래량

by 에쓰지 2022. 4. 2.

지난 회차에 쥬피터 노트북을 사용하여 주가 데이터를 엑셀로 다운로드 받을 때 이동평균을 더하는 방법을 알아봤습니다.

2022.03.30 - [주식공부 feat. 파이썬] - 4. 주가 데이터 엑셀로 다운로드 받기 확장판 feat. 이동평균

 

4. 주가 데이터 엑셀로 다운로드 받기 확장판 feat. 이동평균

지난 회차에 쥬피터 노트북을 사용하여 주가 데이터를 엑셀로 다운로드 받는 법과 그래프 그리는 법을 알아봤습니다. 2022.03.29 - [주식공부 feat. 파이썬] - 2. 주가 데이터 엑셀로 다운받기 2. 주가

pmxsg.tistory.com

 

이번 회차에도 엑셀 다운로드 받을 때 추가로 내용을 넣는 법을 알아보겠습니다.

파이썬의 판다스 라이브러리에 전일대비 증감률을 나타내는 함수가 있습니다.

이를 이용해 주가의 전일대비 증감률을 엑셀 파일에 추가하여 다운로드 받기를 해보겠습니다.

거래량을 막대그래프로 그려보겠습니다.

 

>>>  주가 데이터 엑셀로 다운로드 받기 확장판 

         feat. 등락률+거래량

 

1.  주가 데이터 다운로드 및 그래프 그리기 코드

 

이번 회차는 시가총액 4위인 네이버 입니다.

지난 회차에 했던 엑셀 다운로드를 먼저 해보겠습니다.

이번에는 "pykrx" 라는 라이브러리를 사용해 보겠습니다.

Jupyter Notebook을 열고, 아래의 코드를 입력하시면 됩니다.

!pip install pykrx
from pykrx import stock

df = stock.get_market_ohlcv("20210301", "20220331", "035420")
df.to_excel('Stocks/네이버.xlsx')
from pykrx import stock
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib
matplotlib.rcParams['font.family'] ='Malgun Gothic' 
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False 

df=pd.read_excel('./Stocks/네이버.xlsx')

plt.figure(figsize=(15,10))
plt.xticks(rotation=45)
plt.plot(df['날짜'],df['종가'], label='종가', linewidth=3)
plt.legend()
plt.title('네이버')
plt.grid(axis='y')
plt.savefig('Stocks/네이버.png',dpi=100)

 

2. 등락률 구하기

등락률 구하는 코드 입니다. "종가" 항목에 "pct_change()" 추가합니다.

from pykrx import stock

df = stock.get_market_ohlcv("20210301", "20220331", "035420")
df['등락률'] = df['종가'].pct_change()
df.to_excel('Stocks/네이버.xlsx')

 

3. 거래량 그래프 그리기

from pykrx import stock
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib
matplotlib.rcParams['font.family'] ='Malgun Gothic' 
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False 

df=pd.read_excel('./Stocks/네이버.xlsx')

plt.figure(figsize=(15,5))
plt.xticks(rotation=45)
plt.bar(df['날짜'],df['거래량'])
plt.title('네이버 거래량')
plt.grid(axis='y')
plt.savefig('Stocks/네이버거래량.png',dpi=100)

4. 코드 설명

from pykrx import stock

df = stock.get_market_ohlcv("20210301", "20220331", "035420")
df['등락률'] = df['종가'].pct_change()
df.to_excel('Stocks/네이버.xlsx')

 

"pykrx" 라는 라이브러리에서도 주식정보를 다운로드 받을 수 있습니다. 자세한 정보는 아래 링크에서 확인해보시기 바랍니다.

https://github.com/sharebook-kr/pykrx

 

GitHub - sharebook-kr/pykrx: KRX 주식 정보 스크래핑

KRX 주식 정보 스크래핑. Contribute to sharebook-kr/pykrx development by creating an account on GitHub.

github.com

 

yfinacnce와 다른점은 기간 설정이 앞으로 나오고, 종목코드가 뒤로 갔다는 점과 한글로 다운받을 수 있다는 것입니다.

"stock.get_market_ohlcv"가 호출 함수이고 ("시작일","종료일","종목코드") 순입니다.

"pct_change() 는 전일 대비 금일 변동률을 나타내는 함수(메소드) 입니다.

변동률을 알고 싶은 컬럼 뒤에 ".pct_change()"를 붙여 실행하면 됩니다.

plt.bar(df['날짜'],df['거래량'])
plt.title('네이버 거래량')

plt.savefig('Stocks/네이버거래량.png',dpi=100)

종가 그래프에서 바뀐 코드만 정리했습니다.

"plt.bar(df['날짜'],df['거래량'])" 에서 bar는 "막대그래프"를 호출합니다.

x축은 날짜 컬럼으로 y축은 거래량 컬럼을 사용한다는 의미입니다. 간략히는 " bar(x,y)" 로 표현할 수 있습니다.

title은 거래량으로 바꿔주었고, 이미지파일이름도 "네이버거래량"으로 바꿨습니다.

네이버 엑셀파일 + 그래프 :

네이버.xlsx
0.02MB
네이버.png
0.08MB
네이버거래량.png
0.02MB

from pykrx import stock

df = stock.get_market_ohlcv("20210301", "20220331", "035420")
df['등락률'] = df['종가'].pct_change()
df.to_excel('Stocks/네이버.xlsx')
from pykrx import stock
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib
matplotlib.rcParams['font.family'] ='Malgun Gothic' 
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False 

df=pd.read_excel('./Stocks/네이버.xlsx')

plt.figure(figsize=(15,10))
plt.xticks(rotation=45)
plt.plot(df['날짜'],df['종가'], label='종가', linewidth=3)
plt.legend()
plt.title('네이버')
plt.grid(axis='y')
plt.savefig('Stocks/네이버.png',dpi=100)

plt.figure(figsize=(15,5))
plt.xticks(rotation=45)
plt.bar(df['날짜'],df['거래량'])
plt.title('네이버 거래량')
plt.grid(axis='y')
plt.savefig('Stocks/네이버거래량.png',dpi=100)


 종목별 분석자료 

1. 삼성전자

2022.03.31 - [주식공부 feat. 파이썬/종목별 분석] - 1. 삼성전자 분석 자료 정리 feat. 파이썬

 

1. 삼성전자 분석 자료 정리 feat. 파이썬

파이썬 공부 중에 주식 분석을 할 수 있는 코드들을 알게 되었고 알고만 있다면 바로 잊어버릴 수도 있고 해서 블로그에 하나씩 알게된 코드를 올려보려 합니다. 파이썬에 대해서 전혀 몰라도

pmxsg.tistory.com

2. LG에너지 솔루션

2022.03.31 - [주식공부 feat. 파이썬/종목별 분석] - 2. LG에너지 솔루션 분석 자료 정리 feat. 파이썬

 

2. LG에너지 솔루션 분석 자료 정리 feat. 파이썬

파이썬 공부 중에 주식 분석을 할 수 있는 코드들을 알게 되었고 알고만 있다면 바로 잊어버릴 수도 있고 해서 블로그에 하나씩 알게된 코드를 올려보려 합니다. 파이썬에 대해서 전혀 몰라도

pmxsg.tistory.com

3. SK하이닉스

2022.03.31 - [주식공부 feat. 파이썬/종목별 분석] - 3. SK 하이닉스 분석 자료 정리 feat. 파이썬

 

3. SK 하이닉스 분석 자료 정리 feat. 파이썬

파이썬 공부 중에 주식 분석을 할 수 있는 코드들을 알게 되었고 알고만 있다면 바로 잊어버릴 수도 있고 해서 블로그에 하나씩 알게된 코드를 올려보려 합니다. 파이썬에 대해서 전혀 몰라도

pmxsg.tistory.com

 

댓글