본문 바로가기
파이썬엑셀

파이썬 엑셀로 주식 시세 데이터 쉽게 가져오기! 실습 포함

by mypick 2024. 11. 5.

주식 투자에 관심 있는 분들이라면 엑셀을 이용해서 주식 시세 데이터를 분석해보고 싶은 생각이 한 번쯤은 들었을 거예요. 예전에는 네이버 금융 같은 곳에서 주식 정보를 일일이 엑셀에 옮겨 적거나 복사 붙여넣기를 해야 했지만, 이젠 파이썬을 활용하면 훨씬 쉽고 빠르게 주식 데이터를 가져와서 엑셀 파일로 저장할 수 있답니다!

 

파이썬은 다양한 라이브러리를 활용해서 웹에서 데이터를 가져오거나, 엑셀 파일을 다루는 작업을 척척 해낼 수 있어요. 게다가 최근에는 엑셀 자체에서도 파이썬을 바로 사용할 수 있도록 기능이 추가되어 더욱 편리해졌죠.

 

이 포스팅에선 파이썬을 이용해서 주식 시세 데이터를 엑셀로 가져오는 방법을 쉽고 자세하게 알려드릴게요. 여러 라이브러리를 활용하는 방법부터 웹 크롤링을 통해 데이터를 수집하는 방법, 그리고 엑셀에서 파이썬을 직접 사용하는 방법까지! 하나하나 차근차근 따라 해 보면 누구나 주식 데이터 분석 전문가가 될 수 있어요. 자, 그럼 시작해 볼까요?

 


파이썬 라이브러리를 이용한 주식 시세 데이터 다운로드

파이썬에서 주식 시세 데이터를 다운로드하려면, 몇 가지 유용한 라이브러리를 사용할 수 있어요. 이 라이브러리들은 Yahoo Finance, 한국거래소, 그리고 여러 금융 데이터 사이트에서 주식 정보를 가져오는 데 도움을 준답니다.

 


yfinance 라이브러리: Yahoo Finance 데이터 가져오기

가장 널리 사용되는 라이브러리 중 하나인 yfinance는 Yahoo Finance에서 제공하는 주식 데이터를 쉽게 가져올 수 있게 해줘요. Yahoo Finance는 전 세계 주식 시장의 다양한 정보를 제공하기 때문에, 국내 주식뿐만 아니라 해외 주식 데이터도 쉽게 얻을 수 있다는 장점이 있죠.

 

어떻게 사용하는지 궁금하시죠? 간단한 예시 코드를 통해 살펴볼게요.

 

import yfinance as yf

# 삼성전자 주식 데이터 다운로드
data = yf.download("005930.KS", start="2023-01-01", end="2023-06-30") 
data.to_excel("samsung_stock_data.xlsx")  # 엑셀 파일로 저장

 코드를 실행하면 2023년 1월 1일부터 6월 30일까지의 삼성전자 주식 데이터를 다운로드하고, 라는 이름의 엑셀 파일로 저장하게 된답니다.

 

코드를 좀 더 자세히 살펴볼까요? 먼저  부분은 yfinance 라이브러리를 불러와서 라는 이름으로 사용하겠다는 뜻이에요. 마치 친구를 불러서 "야, 너 좀 도와줘!"라고 부르는 것과 비슷하죠. 그리고  함수는 Yahoo Finance에서 데이터를 다운로드하는 역할을 해요.  괄호 안에 종목 코드(), 시작 날짜, 끝 날짜를 입력하면 원하는 기간의 주식 데이터를 가져올 수 있답니다. 마지막으로  함수는 다운로드한 데이터를 엑셀 파일로 저장하는 역할을 수행하죠.

 


pykrx 라이브러리: 한국거래소 데이터 가져오기

국내 주식 시장의 데이터를 집중적으로 다루고 싶다면, pykrx 라이브러리를 사용하는 게 좋아요. pykrx는 한국거래소에서 제공하는 다양한 주식 정보를 쉽게 가져올 수 있도록 도와주는 라이브러리랍니다.

 

예를 들어, 특정 날짜의 KOSPI 지수를 가져오거나, 특정 종목의 일별 시세를 가져오는 등의 작업을 손쉽게 할 수 있죠.

 


pandas-datareader 라이브러리: 다양한 금융 데이터 소스 지원

pandas-datareader 라이브러리는 Yahoo Finance, Google Finance, FRED 등 다양한 금융 데이터 소스를 지원해요.  만약 여러 곳에서 데이터를 가져와서 비교 분석하고 싶다면, pandas-datareader를 사용하면 편리하겠죠?

 


FinanceDataReader 라이브러리: 한국 및 글로벌 금융 데이터 접근

FinanceDataReader는 한국과 전 세계의 다양한 금융 데이터에 쉽게 접근할 수 있도록 도와주는 라이브러리에요. 한국 주식 시장 데이터뿐만 아니라, 미국, 일본 등 해외 주식 시장의 데이터도 가져올 수 있답니다.

 


웹 크롤링을 이용한 주식 시세 데이터 수집

파이썬 라이브러리 외에도 웹 크롤링을 이용해서 주식 시세 데이터를 수집할 수 있어요. 웹 크롤링은 웹 페이지를 자동으로 탐색하고 원하는 정보를 추출하는 기술인데요, 네이버 금융, 다음 증권 등 다양한 웹사이트에서 주식 데이터를 가져오는 데 유용하게 사용할 수 있답니다.

 


네이버 금융 KOSPI 일별 시세 크롤링 예시

아래는 네이버 금융에서 KOSPI 지수의 일별 시세를 크롤링하는 예시 코드에요.

 

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 네이버 금융 KOSPI 일별 시세 URL
url = 'https://finance.naver.com/item/sise_day.naver?code=KOSPI'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 데이터 추출
data = []
for row in soup.select('table.type2 tr'):
    cols = row.find_all('td')
    if len(cols) > 1:
        date = cols[0].text.strip()
        closing_price = cols[1].text.strip()
        data.append([date, closing_price])

# DataFrame으로 변환 후 엑셀로 저장
df = pd.DataFrame(data, columns=['Date', 'Closing Price'])
df.to_excel('kospi_stock_data.xlsx', index=False)

 코드가 어떻게 작동하는지 살펴볼까요? 먼저  라이브러리를 사용해서 네이버 금융의 KOSPI 일별 시세 페이지에 접근하고, HTML 소스 코드를 가져와요. 그다음  라이브러리를 이용해서 HTML 소스를 파싱하고, 원하는 데이터(날짜, 종가)를 추출하죠.  마지막으로 추출한 데이터를 pandas의 DataFrame으로 변환하고,  함수를 사용해서 엑셀 파일로 저장한답니다.

 


웹 크롤링 시 주의사항

웹 크롤링은 웹사이트의 운영 정책을 준수하는 것이 중요해요.  크롤링으로 인해 웹사이트 서버에 과도한 부하가 걸리지 않도록 주의해야 하고, robots.txt 파일을 확인해서 크롤링이 허용되는 범위를 지켜야 한답니다.

 


엑셀에서 Python 직접 사용하기

최근 Microsoft Excel에서는 파이썬을 직접 사용할 수 있는 기능이 추가되었어요. 이 기능을 사용하면 엑셀 내에서 파이썬 코드를 실행하고, 엑셀 데이터를 활용하여 다양한 분석이나 차트를 생성할 수 있답니다.

 


엑셀에서 파이썬 사용하는 방법


엑셀에서 파이썬을 사용하려면 다음과 같은 단계를 따르면 돼요.

 

  • 엑셀에서 셀을 선택하고, "수식" 탭에서 "Python 삽입"을 선택하세요.
  • 셀에 파이썬 코드를 입력하고 실행하면 결과가 셀에 나타나요.

예를 들어, 엑셀의 A1 셀과 B1 셀의 값을 더해서 C1 셀에 출력하고 싶다면 다음과 같은 코드를 입력하면 된답니다.

 

=PY(xl("A1") + xl("B1"))

엑셀과 파이썬의 결합: 데이터 분석의 새로운 지평

엑셀에서 파이썬을 사용하면 엑셀의 사용 편의성과 파이썬의 강력한 데이터 분석 기능을 결합하여 더욱 효율적인 데이터 분석을 수행할 수 있어요.  특히, 복잡한 데이터 분석이나 시각화 작업을 엑셀만으로 하기 어려웠던 경우에 파이썬을 활용하면 훨씬 쉽고 빠르게 작업을 처리할 수 있죠.

 


주식 시세 데이터 분석 및 활용

주식 시세 데이터를 엑셀로 가져왔다면, 이제 본격적으로 데이터를 분석하고 활용할 수 있어요.  다양한 차트를 그려보고, 통계 분석을 수행하며, 주식 투자 전략을 세울 수 있답니다.

 


주식 시세 데이터 분석 예시

2023-06-27 65,000 10,000
2023-06-28 66,000 12,000
2023-06-29 64,000 9,000
2023-06-30 67,000 15,000

날짜 종가 거래량

 

궁금한 점이 있으신가요? 자주 묻는 질문(FAQ)

Q1. 파이썬 라이브러리 중 어떤 것을 사용하는 것이 좋을까요?

 

A1.  데이터를 가져올 출처에 따라 라이브러리를 선택하는 것이 좋아요. Yahoo Finance의 데이터를 활용하고 싶다면 yfinance를, 한국거래소의 데이터를 원한다면 pykrx를 사용하면 좋고, 여러 금융 데이터 사이트의 데이터를 활용하고 싶다면 pandas-datareader가 적합해요.

 

Q2. 웹 크롤링을 할 때 주의해야 할 점은 무엇인가요?

 

A2. 웹 크롤링은 웹사이트 운영 정책을 반드시 확인하고 준수해야 해요.  크롤링으로 인해 웹사이트에 과도한 부하가 걸리지 않도록 주의하고, robots.txt 파일을 참고하여 크롤링이 허용되는 범위 내에서만 수행하는 것이 중요해요.

 

Q3. 엑셀에서 파이썬을 사용하면 어떤 장점이 있나요?

 

A3. 엑셀에서 파이썬을 사용하면 엑셀의 사용 편의성과 파이썬의 강력한 데이터 분석 기능을 함께 활용할 수 있어요. 특히, 복잡한 데이터 분석이나 시각화 작업을 엑셀만으로 하기 어려울 때, 파이썬을 활용하면 훨씬 효율적으로 작업을 처리할 수 있답니다.

 

마무리

 

파이썬을 이용하여 주식 시세 데이터를 다운로드하고 엑셀로 저장하는 방법은 정말 다양해요. 라이브러리를 활용하거나 웹 크롤링 기술을 사용하면 원하는 데이터를 쉽게 수집할 수 있고, 엑셀과 파이썬의 통합 기능을 활용하면 더욱 효율적인 데이터 분석이 가능하답니다.

 

이제 여러분도 파이썬과 엑셀을 활용해서 주식 데이터 분석 전문가가 될 준비가 된 거예요!  주식 시장 데이터를 분석하고, 자신만의 투자 전략을 세우고, 투자 성공을 향해 나아가세요!

 

키워드

파이썬,엑셀,주식,주식데이터,주식시세,데이터분석,금융데이터,웹크롤링,yfinance,pykrx,pandas,FinanceDataReader,데이터과학,투자,투자전략,알고리즘트레이딩,quant,pythonexcel,엑셀파이썬,엑셀자동화,데이터수집,데이터가공,microsoft365,ms엑셀,자동화,효율성,생산성,주식투자,주식공부,주식초보,주린이,주식투자팁,재테크