일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 아웃룩
- Android
- 비주얼베이직
- 오피스
- VBA
- 파워포인트
- Windows11
- pandas
- pythongui
- windows
- pyqt5
- 엑셀
- 문자열
- win32com
- 파이썬GUI
- python3
- python
- git
- Outlook
- html
- Windows10
- 파이썬
- 깃
- 파이썬3
- Excel
- office
- 안드로이드
- 윈도우10
- 윈도우11
- matlab
Appia의 IT세상
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 특정 기간동안의 주가 변동 확인하기(pykrx) 본문
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 특정 기간동안의 주가 변동 확인하기(pykrx)
Appia 2020. 10. 30. 07:09Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 특정 기간동안의 주가 변동 확인하기
앞서 포스팅에서 코스피, 코스닥 상장회사의 주가시세 즉 흔히 말하는 OHLCV값을 구하는 방법에 대해서 이야기를 해봤습니다. 그럼 이번 포스팅에서는 앞서 포스팅과 더불어서, 특정기간 동안의 주가 변동을 확인하는 방법에 대해서 이야기를 해보고자 합니다.
먼저 관련해서는 pykrx에서 관련 함수를 제공하고 있습니다. 다음 함수를 살펴보겠습니다.
stock.get_market_price_change_by_ticker(시작 날짜, 종료 날짜) |
위에 함수에서 시작 날짜와 종료 날짜의 경우 8자리 숫자로 표시하면됩니다. 그럼 다음과 같이 예를 들어 표시해보도록 하겠습니다.
1
|
df1 = stock.get_market_price_change_by_ticker("20200320", "20201027")
|
cs |
위와 같이 표현할 수 있습니다. 그럼, 2020년 03월 20일 부터, 2020년 10월 27일까지의 모든 종목에 대해서 가격 변동을 확인할 수 있습니다. 여기에서는 코스피, 코스닥, 코넥스 모든 종목에 대해서 나열을 합니다. 그럼 다음과 같이 전체 코드를 작성해서 실제 나오는 가격을 살펴보도록 하겠습니다.
1
2
3
4
5
|
from pykrx import stock
import pandas as pd
df1 = stock.get_market_price_change_by_ticker("20200320", "20201027")
print(df1)
|
cs |
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
종목명 시가 종가 변동폭 등락률 거래량 거래대금
티커
000020 동화약품 4985 17500 12515 251.05 291832666 5521485229230
000040 KR모터스 441 923 482 109.30 409542926 355438001440
000050 경방 7210 10900 3690 51.18 14990247 171827563960
000060 메리츠화재 9180 14650 5470 59.59 29610346 394625643540
000070 삼양홀딩스 36500 62000 25500 69.86 4167120 264318109050
... ... ... ... ... ... ... ...
276920 IBKS제7호스팩 2035 0 -2035 -100.00 0 0
277480 신한제4호스팩 2040 0 -2040 -100.00 0 0
279410 한화에이스스팩4호 2010 0 -2010 -100.00 0 0
281410 한국제6호스팩 2030 0 -2030 -100.00 0 0
900040 차이나그레이트 518 0 -518 -100.00 0 0
[2479 rows x 7 columns]
Process finished with exit code 0
|
cs |
위에서 보이는 바와 같이 종목명 시가(시작 날짜의 시가) 종가(종료 날짜의 종가) 변동폭 등락률 거래량, 거래대금등을 명시해줍니다.
그럼 만약 코스피, 코스닥, 코넥스를 분리 하고 싶으시다면, 몇가지 작업이 필요로 합니다. 그래서 일단 막 코드로 다음과 같이 작성을 해봤습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
from pykrx import stock
import pandas as pd
def check_name(v):
return stock.get_market_ticker_name(v)
KOSDAQ = stock.get_market_ticker_list(market="KOSDAQ")
KOSPI = stock.get_market_ticker_list(market="KOSPI")
KOSPIL = []
KOSDAQL = []
for i in KOSDAQ:
KOSDAQL.append(check_name(i))
for v in KOSPI:
KOSPIL.append(check_name(v))
df1 = stock.get_market_price_change_by_ticker("20201020", "20201027")
No = []
vKOSPIL = []
vKOSDAQL = []
for item in df1.values :
print(item)
if item[0] in KOSPIL :
vKOSPIL.append(item)
elif item[0] in KOSDAQL :
vKOSDAQL.append(item)
else :
No.append(item)
KDQ = pd.DataFrame(vKOSDAQL)
KSP = pd.DataFrame(vKOSPIL)
KNX = pd.DataFrame(No)
KDQ.to_csv('KOSDAQ.csv',encoding='utf-8-sig')
KSP.to_csv('KOSPI.csv',encoding='utf-8-sig')
KNX.to_csv('KONEX.csv',encoding='utf-8-sig')
|
cs |
앞서 포스팅인 다음 링크에서 각 종목의 리스트를 불러오는 방법들을 활용하였습니다.
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 리스트 출력, CSV로 추출- pykrx
가장 먼저 각 시장의 종목 리스트를 불러왔습니다. 코스피, 코스닥외에는 모두 코넥스로 설정하였습니다.
1
2
3
|
# 각 시장의 종목들 리스트 불러오기
KOSDAQ = stock.get_market_ticker_list(market="KOSDAQ")
KOSPI = stock.get_market_ticker_list(market="KOSPI")
|
cs |
그런 후에 반복문과 다음 작성한 함수를 통해서 각 상장번호를 바탕으로 이름을 추출하였습니다.
1
2
3
4
5
6
7
8
|
def check_name(v):
return stock.get_market_ticker_name(v)
for i in KOSDAQ:
KOSDAQL.append(check_name(i))
for v in KOSPI:
KOSPIL.append(check_name(v))
|
cs |
그런 후에 앞서서 결과문들을 반복문으로 돌리면서 이 부분이 코스닥인지 코스피인지 분별하게 작업을 하였습니다.
1
2
3
4
5
6
7
8
9
|
for item in df1.values :
print(item)
if item[0] in KOSPIL :
vKOSPIL.append(item)
elif item[0] in KOSDAQL :
vKOSDAQL.append(item)
else :
No.append(item)
|
cs |
그런 후에 이 부분을 토대로, 다시 Pandas의 DataFrame으로 변경하고 이 부분을 CSV파일 형태로 추출하였습니다.
1
2
3
4
5
6
|
KDQ = pd.DataFrame(vKOSDAQL)
KSP = pd.DataFrame(vKOSPIL)
KNX = pd.DataFrame(No)
KDQ.to_csv('KOSDAQ.csv',encoding='utf-8-sig')
KSP.to_csv('KOSPI.csv',encoding='utf-8-sig')
KNX.to_csv('KONEX.csv',encoding='utf-8-sig')
|
cs |
위와 같은 형태로 작성하면 각 CSV파일 형태로 추출이 가능합니다.
이번 포스팅에서는 Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 특정 기간동안의 주가 변동 확인하기라는 주제로 간단하게 살펴봤습니다. 실제 보다 더욱 간단하게 정리할 수도 있었겠지만, 처음 공부하면서 작업을 하는 거라서 향후에 기회가 된다면 조금 더 업데이트 된 버전으로 재포스팅을 드리도록 하겠습니다. 감사합니다.
*API 사용에 대한 모든 책임은 사용자 본인에게 있습니다. 의도한 공격용이나, 과도한 트래픽 발생에 대해서 항상 주의가 필요하며, 관련해서 악용하시면 안됩니다.
'Python > Python 주식' 카테고리의 다른 글
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 특정 기간의 시가총액 확인하기(pykrx) (0) | 2020.11.01 |
---|---|
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 배당 수익률(DIV)/BPS/PER/EPS 조회하기 (6) | 2020.10.31 |
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 주가시세(OHLCV) 출력(feat. OHLCV란?) (2) | 2020.10.29 |
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 리스트 출력, CSV로 추출- pykrx (0) | 2020.10.28 |
Python[파이썬 주식] 국내 주식 정보 모으기(스크래핑) - pykrx 모듈 설치 (0) | 2020.10.27 |