지난 회차에 쥬피터 노트북을 사용하여 주가 데이터를 엑셀로 한꺼번 다운로드 받는 법을 알아봤습니다.
2022.04.23 - [주식공부 feat. 파이썬] - 8. 주가 데이터 엑셀로 한꺼번에 다운로드 feat. 파이썬 반복문 for
지금까지 포스팅했던 종목들 코드를 정리해 봤습니다.
stocks = { "삼성전자":"005930","LG에너지솔루션":"373220","SK하이닉스":"000660","네이버":"035420",
'삼성바이오로직스': "207940","삼성전자_우선주":"005935","카카오":"035720","삼성SDI":"006400",
"현대자동차":"005380", "LG화학":"051910", "기아":"000270", "POSCO홀딩스":"005490", "KB금융": "105560",
"셀트리온":"068270","카카오뱅크":"323410","신한지주":"055550","LG전자":"066570","삼성물산":"028260",
"SK이노베이션":"096770","현대모비스":"012330","SK":"034730"}
지난 회차 코드에서 stocks에 위 코드를 대체하면, 21개 종목 자료를 동시에 만들 수 있습니다.
이번 회차에는 지난 회차에 썼던 반복문을 응용해서 원하는 종목들을 비교해 볼 수 있는 법을 알아보겠습니다.
>>> 주가 비교
feat. 파이썬 반복문 for
1. 주가 비교 종목 정하기
투자 종목 대상들을 서로 비교할 때 사용할 수 있는 유용한 코드 입니다.
대상은 4월 20일자 코스피 시가총액 19위 부터 21위까지 3 종목을 임의로 정해봤습니다.
우선, 3 종목의 종목코드를 확인합니다.
stocks = {"SK이노베이션":"096770","현대모비스":"012330","SK":"034730"}
지난 회차에서 얘기했던 딕셔너리 형태로 만들었습니다.
2. 반복문을 이용하여 3종목 종가 가져오는 코드
from pykrx import stock
import pandas as pd
stocks = {"SK이노베이션":"096770","현대모비스":"012330","SK":"034730"}
data=pd.DataFrame()
for key in stocks:
code=stocks[key]
data[key]= stock.get_market_ohlcv("20210401", "20220419", code)["종가"]
data.to_excel("Stocks/주가비교.xlsx")
지난 회차와는 달리 이번에는 각 종목의 "종가" 부분만 불러들여서 "종가"만 비교하겠습니다.
"stock.get_market_ohlcv("20210401", "20220419", code)["종가"]"
기존 코드에서 뒤에 ["종가"] 를 넣어주면, 각 종목의 종가만 반환합니다.
"code = stocks[key] " 는 각각 "096770", "012330" ,"034730" 를 의미합니다.
즉, for 문을 쓰지 않았다면,
data["SK이노베이션"]= stock.get_market_ohlcv("20210401", "20220419", "096770")["종가"]
data["현대모비스"]= stock.get_market_ohlcv("20210401", "20220419", "012330")["종가"]
data["SK"]= stock.get_market_ohlcv("20210401", "20220419", "034730")["종가"]
개별로 위와 같이 작성을 해야합니다. 반복횟수가 적을 때는 크게 차이가 없을 수 있지만, 횟수가 많아질 수록 반복문의 유용함이 커지는 것을 알 수 있습니다.
위 코드를 엑셀로 저장하면,
결과물입니다.
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
stocks = {"SK이노베이션":"096770","현대모비스":"012330","SK":"034730"}
data=pd.DataFrame()
for key in stocks:
code=stocks[key]
data[key]= stock.get_market_ohlcv("20210401", "20220419", code)["종가"]
data.to_excel("Stocks/주가비교.xlsx")
plt.figure(figsize=(15,10))
plt.xticks(rotation=45)
plt.plot(data["SK이노베이션"], label="SK이노베이션", color='#CD5C5C')
plt.plot(data["현대모비스"], label="현대모비스")
plt.plot(data["SK"], label="SK")
plt.xlabel('20210401~20220419', color='#CD5C5C', loc='right') #left, center, right
plt.ylabel('단위: 원', color='#CD5C5C', loc='top') # top, center, bottom
plt.legend()
plt.title("주가 비교", color='green')
plt.grid(axis='y',linestyle='--',color='purple')
plt.savefig("Stocks/주가비교.png",dpi=100)
위 코드를 실행하면 ( CNTL+Enter ),
역시 주가 비교는 꺾은선 그래프가 제격인 것 같습니다.
시가 총액 순위가 비슷해서 그런 것인지, 3 종목은 서로 엎치락 뒤치락 지난 1년간 주가 변동이 있어보입니다.
다만 2022년 들어서 SK가 먼저 반등해서 올라가는 모습입니다.
SK와 SK이노베이션은 지주, 종속회사 관계라 비슷하게 움직이는 모습입니다만, 변동폭은 종속회사인 SK 이노베이션이 SK보다는 커보입니다.
SK와 SK이노베이션을 보고나니 비교해볼만한 주제들이 좀 있는 듯 보입니다.
1) 각 지주회사와 종속회사들의 주가움직임 비교
2) 같은 산업내 경쟁사간의 주가 움직임 비교
3) 인덱스와 종목간의 움직임 비교 등
앞으로 공부되는대로 포스팅 하겠습니다.
엑셀파일 + 그래프
< Full Code >
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
stocks = {"SK이노베이션":"096770","현대모비스":"012330","SK":"034730"}
data=pd.DataFrame()
for key in stocks:
code=stocks[key]
data[key]= stock.get_market_ohlcv("20210401", "20220419", code)["종가"]
data.to_excel("Stocks/주가비교.xlsx")
plt.figure(figsize=(15,10))
plt.xticks(rotation=45)
plt.plot(data["SK이노베이션"], label="SK이노베이션", color='#CD5C5C')
plt.plot(data["현대모비스"], label="현대모비스")
plt.plot(data["SK"], label="SK")
plt.xlabel('20210401~20220419', color='#CD5C5C', loc='right') #left, center, right
plt.ylabel('단위: 원', color='#CD5C5C', loc='top') # top, center, bottom
plt.legend()
plt.title("주가 비교", color='green')
plt.grid(axis='y',linestyle='--',color='purple')
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. 파이썬
2022.04.02 - [주식공부 feat. 파이썬/종목별 분석] - 4. 네이버 분석자료 정리 feat. 파이썬
2022.04.04 - [주식공부 feat. 파이썬/종목별 분석] - 5. 삼성바이오로직스 분석 자료 정리 feat. 파이썬
2022.04.04 - [주식공부 feat. 파이썬/종목별 분석] - 6. 삼성전자 우선주 분석 자료 정리 feat. 파이썬
2022.04.09 - [주식공부 feat. 파이썬/종목별 분석] - 7. 카카오 분석 자료 정리 feat. 파이썬
2022.04.09 - [주식공부 feat. 파이썬/종목별 분석] - 8. 삼성 SDI 분석 자료 정리 feat. 파이썬
2022.04.20 - [주식공부 feat. 파이썬/종목별 분석] - 9.현대자동차 분석 자료 정리 feat. 파이썬
2022.04.21 - [주식공부 feat. 파이썬/종목별 분석] - 10. LG 화학 분석 자료 정리 feat. 파이썬
2022.04.21 - [주식공부 feat. 파이썬/종목별 분석] - 11. 기아 분석 자료 정리 feat. 파이썬
2022.04.22 - [주식공부 feat. 파이썬/종목별 분석] - 12. POSCO 홀딩스 분석 자료 정리 feat. 파이썬
2022.04.22 - [주식공부 feat. 파이썬/종목별 분석] - 13. KB 금융 분석 자료 정리 feat. 파이썬
2022.04.23 - [주식공부 feat. 파이썬/종목별 분석] - 14. 셀트리온 분석 자료 정리 feat. 파이썬
2022.04.23 - [주식공부 feat. 파이썬/종목별 분석] - 15. 카카오 뱅크 분석 자료 정리 feat. 파이썬
2022.04.23 - [주식공부 feat. 파이썬/종목별 분석] - 16. 신한지주 분석 자료 정리 feat. 파이썬
2022.04.23 - [주식공부 feat. 파이썬/종목별 분석] - 17. LG전자 분석 자료 정리 feat. 파이썬
2022.04.23 - [주식공부 feat. 파이썬/종목별 분석] - 18. 삼성물산 분석 자료 정리 feat. 파이썬
'주식공부 feat. 파이썬' 카테고리의 다른 글
8. 주가 데이터 엑셀로 한꺼번에 다운로드 feat. 파이썬 반복문 for (0) | 2022.04.23 |
---|---|
7. 주가 데이터 엑셀로 다운로드 확장판 feat. EPS PER BPS PBR (0) | 2022.04.19 |
6. 엑셀 주가 데이터 분석하기 feat. 판다스 describe (0) | 2022.04.09 |
5. 주가 데이터 엑셀로 다운로드 받기 확장판 feat.등락률 + 거래량 (0) | 2022.04.02 |
4. 주가 데이터 엑셀로 다운로드 받기 확장판 feat. 이동평균 (1) | 2022.03.30 |
댓글