/ PROJECT

주식투자-수집

주식투자 프로젝트 수집

주식투자 프로젝트에서 필요한 데이터를 수집합니다.
기술적 분석을 위한 데이터를 수집하는 것이므로 회사, 주가 그래프, 거래량을 수집합니다.

회사 선택; Select a Company

삼성전자를 기준으로 진행합니다.
데이터의 수가 많을 것 같은 상장된지 시간이 오래된 회사를 선택했습니다.

주가 그래프 수집; Stock Price Acquisition With Python

Python 라이브러리를 이용해서 선택한 회사에 대한 주가 그래프를 수집합니다.

FinanceDataReader 라이브러리 간단한 사용법

라이브러리 로드

import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'HYHeadLine-Medium'
plt.rcParams['figure.figsize'] = (14,4)
plt.rcParams['lines.linewidth'] = 2
plt.rcParams['axes.grid'] = True

plt.rcParams['axes.unicode_minus'] = False

import FinanceDataReader as fdr
print(fdr.__version__)
0.9.50

한국거래소 상장종목 전체 KRX

df_krx = fdr.StockListing('KRX')
print(len(df_krx))
2707
display(df_krx.head())
출력 보기(클릭)
Code ISU_CD Name Market Dept Close ChangeCode Changes ChagesRatio Open High Low Volume Amount Marcap Stocks MarketId
0 005930 KR7005930003 삼성전자 KOSPI 59900 1 100 0.17 59200 60200 59100 10611939 633331744600 357589974745000 5969782550 STK
1 373220 KR7373220003 LG에너지솔루션 KOSPI 576000 1 11000 1.95 561000 578000 558000 499942 285799756000 134784000000000 234000000 STK
2 000660 KR7000660001 SK하이닉스 KOSPI 79000 2 -100 -0.13 76700 80200 76700 4804196 379790459748 57512186835000 728002365 STK
3 207940 KR7207940008 삼성바이오로직스 KOSPI 790000 1 12000 1.54 772000 796000 771000 60191 47387536000 56227460000000 71174000 STK
4 051910 KR7051910008 LG화학 KOSPI 730000 1 9000 1.25 716000 731000 707000 224294 161777544800 51532410390000 70592343 STK

삼성전자의 주가그래프 살펴보기

  • 변수 이름
    • Open : 일일 시가 (시작 주가)
    • High : 당일의 주가 최고점
    • Low : 당일의 주가 최저점
    • Close : 일일 종가 (마지막 주가)
    • Vloumne : 거래량
    • Change : 당일 가격변동
      • 계산식 : (일일 종가 - 일일 시가) / 일일 시가 * 100
# 가독성이 좋게 코드 부분에 회사 이름을 적을 수 있도록 합니다.
name_code_trans = {name:code for code,name in df_krx[['Code','Name']].values}
df = fdr.DataReader(name_code_trans['삼성전자'])
display(df.head())
출력 보기(클릭)
Open High Low Close Volume Change
Date
1998-11-28 1292 1321 1289 1318 264480 NaN
1998-11-30 1335 1335 1268 1276 320470 -0.031866
1998-12-01 1254 1254 1162 1197 877940 -0.061912
1998-12-02 1206 1225 1168 1226 531220 0.024227
1998-12-03 1260 1293 1227 1264 910940 0.030995

삼성전자, 2021년

df = fdr.DataReader(name_code_trans['삼성전자'],'2021')
display(df.head())
출력 보기(클릭)
Open High Low Close Volume Change
Date
2021-01-04 81000 84400 80200 83000 38655276 0.024691
2021-01-05 81600 83900 81600 83900 35335669 0.010843
2021-01-06 83300 84500 82100 82200 42089013 -0.020262
2021-01-07 82800 84200 82700 82900 32644642 0.008516
2021-01-08 83300 90000 83000 88800 59013307 0.071170

그래프로 표현하기

df['Close'].plot()
plt.show()

df['Open'].plot()
plt.show()

df['Change'].plot()
plt.show()

png

궁금

  • 변동성(절대값으로 크기만 비교)과 거래량의 관계는?