본문으로 바로가기

파이썬 Python - 삼성전자 주식정보 조회 코드

category 언어/PYTHON 2023. 2. 27. 11:14
728x90
반응형

 
0. https://colab.research.google.com/ : Colaboratory에 접속
1. 코드+ 를 클릭해서 코드 입력

!pip install pygame

2. 실행 클릭
3. 코드+ 를 클릭
4. 아래 코드 입력

import FinanceDataReader as fdr
df = fdr.DataReader('005930''2022-01-01''2023-02-23')
df.Close.plot()

5. 실행 클릭



Finance-DataReader는 파이썬에서 금융 데이터를 쉽게 수집하고 분석하기 위한 라이브러리 중 하나입니다. Finance-DataReader를 이용하면 주요 금융 데이터 제공처에서 제공하는 다양한 금융 데이터를 간편하게 수집할 수 있습니다.

Finance-DataReader는 다음과 같은 금융 데이터를 지원합니다.

국내 주식 데이터: KRX, KOSPI, KOSDAQ, KONEX 등의 주식 데이터를 제공합니다.
해외 주식 데이터: 미국 주식, 캐나다 주식, 유럽 주식 등의 데이터를 제공합니다.
지수 데이터: 국내 지수, 해외 지수 등의 데이터를 제공합니다.
환율 데이터: 국내, 해외의 환율 데이터를 제공합니다.
암호화폐 데이터: 비트코인, 이더리움 등의 암호화폐 데이터를 제공합니다.
Finance-DataReader는 pandas 데이터프레임 형태로 데이터를 제공하며, 이를 활용하여 데이터 분석 및 시각화를 쉽게 수행할 수 있습니다. Finance-DataReader는 API 호출 없이 직접 데이터를 가져오기 때문에 빠르게 데이터를 수집할 수 있습니다.

Finance-DataReader를 이용하여 수집한 데이터를 활용하여 주가 예측, 포트폴리오 최적화, 투자 전략 분석 등 다양한 금융 분석을 수행할 수 있습니다.


import FinanceDataReader as fdr

# 코스피 200 지수 데이터 가져오기
kospi200 = fdr.DataReader('KS200', '2020-01-01', '2021-12-31')

# 데이터 확인
print(kospi200.head())


위 코드에서는 fdr.DataReader() 함수를 이용하여 'KS200'이라는 코스피 200 지수를 지정한 후, 2020년 1월 1일부터 2021년 12월 31일까지의 데이터를 가져왔습니다. 가져온 데이터는 kospi200라는 변수에 pandas 데이터프레임 형태로 저장되며, print(kospi200.head())를 통해 데이터의 상위 5개를 확인할 수 있습니다.

Finance-DataReader는 다양한 데이터 제공처와 다양한 데이터를 제공하기 때문에, 데이터 종류나 가져올 데이터 기간 등을 설정하여 다양한 금융 데이터를 가져올 수 있습니다.




다음은 Finance-DataReader를 이용하여 코스피 200 종목들의 종가 데이터를 가져와서 종목별 수익률과 포트폴리오의 연간 수익률을 계산하는 심화 예제 코드입니다.

import FinanceDataReader as fdr
import pandas as pd

# 코스피 200 종목 코드 가져오기
kospi200 = fdr.StockListing('KOSPI')[['Symbol', 'Name']]

# 코스피 200 종목별 종가 데이터 가져오기
close_df = pd.DataFrame()

for ticker in kospi200['Symbol']:
    close = fdr.DataReader(ticker, '2020-01-01', '2021-12-31')['Close']
    close_df[ticker] = close
    
# 종목별 수익률 계산
returns = close_df.pct_change().fillna(0)

# 포트폴리오 구성
weights = [1/len(kospi200)] * len(kospi200)
portfolio_return = (returns * weights).sum(axis=1)

# 연간 수익률 계산
annual_return = ((portfolio_return + 1).cumprod() ** (252/len(portfolio_return)) - 1)[-1]

# 결과 출력
print(f'Portfolio annual return: {annual_return:.2%}')


위 코드에서는 fdr.StockListing() 함수를 이용하여 코스피 200에 해당하는 종목 코드와 종목명을 가져왔습니다. 가져온 종목 코드를 이용하여 fdr.DataReader() 함수를 이용하여 2020년 1월 1일부터 2021년 12월 31일까지의 종가 데이터를 가져왔습니다. 가져온 데이터는 종목별로 close_df라는 pandas 데이터프레임에 저장됩니다.

pct_change() 함수를 이용하여 종목별 수익률을 계산하고, 이를 weights라는 포트폴리오 가중치에 반영하여 전체 포트폴리오의 수익률을 계산합니다. 마지막으로 cumprod() 함수를 이용하여 누적 수익률을 계산하고, 연간 수익률로 변환합니다.

결과로는 포트폴리오의 연간 수익률이 출력됩니다. 이와 같은 방법으로 Finance-DataReader를 이용하여 다양한 금융 데이터를 가져와 분석 및 시각화를 수행할 수 있습니다.

728x90
반응형