지난 회차에 쥬피터 노트북을 사용하여 주가 데이터를 엑셀로 다운로드 받을 때 이동평균을 더하는 방법을 알아봤습니다.
2022.03.30 - [주식공부 feat. 파이썬] - 4. 주가 데이터 엑셀로 다운로드 받기 확장판 feat. 이동평균
이번 회차에도 엑셀 다운로드 받을 때 추가로 내용을 넣는 법을 알아보겠습니다.
파이썬의 판다스 라이브러리에 전일대비 증감률을 나타내는 함수가 있습니다.
이를 이용해 주가의 전일대비 증감률을 엑셀 파일에 추가하여 다운로드 받기를 해보겠습니다.
거래량을 막대그래프로 그려보겠습니다.
>>> 주가 데이터 엑셀로 다운로드 받기 확장판
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
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은 거래량으로 바꿔주었고, 이미지파일이름도 "네이버거래량"으로 바꿨습니다.
네이버 엑셀파일 + 그래프 :
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. 파이썬
2. LG에너지 솔루션
2022.03.31 - [주식공부 feat. 파이썬/종목별 분석] - 2. LG에너지 솔루션 분석 자료 정리 feat. 파이썬
3. SK하이닉스
2022.03.31 - [주식공부 feat. 파이썬/종목별 분석] - 3. SK 하이닉스 분석 자료 정리 feat. 파이썬
'주식공부 feat. 파이썬' 카테고리의 다른 글
7. 주가 데이터 엑셀로 다운로드 확장판 feat. EPS PER BPS PBR (0) | 2022.04.19 |
---|---|
6. 엑셀 주가 데이터 분석하기 feat. 판다스 describe (0) | 2022.04.09 |
4. 주가 데이터 엑셀로 다운로드 받기 확장판 feat. 이동평균 (1) | 2022.03.30 |
3. 주가 데이터 시각화 feat. 파이썬으로 그래프 그리기 (0) | 2022.03.29 |
0. 주식 공부 feat. 파이썬 (python) (0) | 2022.03.29 |
댓글