일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Windows11
- 파워포인트
- 안드로이드
- 엑셀
- 윈도우11
- html
- python
- python3
- Android
- 비주얼베이직
- Excel
- pyqt5
- office
- windows
- win32com
- matlab
- 깃
- 아웃룩
- 파이썬GUI
- 파이썬3
- VBA
- git
- 파이썬
- Outlook
- pandas
- 윈도우10
- 문자열
- pythongui
- 오피스
- Windows10
Appia의 IT세상
Python[파이썬 주식] 코스피(KOSPI),코스닥(KOSDAQ)에 있는 모든 종목들의 BPS, PER,EPS,PBR를 가져오는 방법 본문
Python[파이썬 주식] 코스피(KOSPI),코스닥(KOSDAQ)에 있는 모든 종목들의 BPS, PER,EPS,PBR를 가져오는 방법
Appia 2021. 1. 13. 06:40Python[파이썬 주식] 코스피,코스닥에 있는 모든 종목들의 BPS, PER,EPS,PBR를 가져오는 방법
이번 포스팅은 제 블로그를 방문해주신 분께서 문의 주신내용에 대해서 한번 포스팅을 해보고자 합니다. 일단은 요청 사항이 다음과 같습니다.
소중한 정보 감사합니다. 다름이 아니라, 퀀트 프로젝트를 만들고 있는데 소개해주신 특정 종목 하나 말고 코스피+코스닥에 있는 모든 종목들의 BPS PEREPS PBR를 가져오고 싶은데 따로 방법이 있는지 궁금합니다. from pykrx import stock df = stock.get_market_fundamental_by_date("20100101", "20201030", "088350", "y") print(df) |
비슷한 궁금점들이 있는 분들을 위해서 위의 제목과 같이 코스피, 코스닥에 모든 종목들에 대해서 BPS, PER, EPS, PBR을 가져오는 방법을 만들고자 합니다. 우선 기본적으로 이번 포스팅에서 사용할 모듈은 pykrx입니다.
Python[파이썬 주식] 국내 주식 정보 모으기(스크래핑) - pykrx 모듈 설치
Pykrx모듈이 설치되지 않으신 분들은 위의 링크의 정보를 바탕으로 설치 부탁드립니다.
먼저, 다음과 같은 순서로 작업을 진행해보고자 합니다.
1. 코스피, 코스닥의 모든 종목들의 대한 ticker번호를 저장하기
2. 그리고 1번에 받은 정보를 바탕으로 fundamental 추출하기
그럼 각 항목에 대해서 진행을 해보도록 하겠습니다.
1. 코스피, 코스닥의 모든 종목들의 대한 ticker번호를 저장하기
이 부분은 생각보다 매우 간단합니다. 관련된 코드를 잠깐 살펴보겠습니다.
from pykrx import stock
import time
KOSDAQ = stock.get_market_ticker_list(market="KOSDAQ")
KOSPI = stock.get_market_ticker_list(market="KOSPI")
print(KOSPI[:5])
print(KOSDAQ[:5])
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
['095570', '006840', '027410', '282330', '138930']
['060310', '054620', '265520', '211270', '035760']
물론 위에서는 많은 데이터가 있기 때문에 여기에서 코스피/ 코스닥 각 5개씩만 주식번호를 출력하도록 하였습니다.
2. 그리고 1번에 받은 정보를 바탕으로 fundamental 추출하기
그럼 1번에서 받은 추출한 정보를 바탕으로 구성을 fundametal을 추출해보도록 하겠습니다.
print("KOSAQ Information")
for i in KOSDAQ[:2]:
print(i)
time.sleep(3)
df = stock.get_market_fundamental_by_date("20100101", "20201030", i, "y")
print(df)
print("KOSPI Information")
for i in KOSPI[:2]:
print(i)
time.sleep(3)
df = stock.get_market_fundamental_by_date("20100101", "20201030", i, "y")
print(df)
다음과 같은 형태로 구성하시면 됩니다.
그럼 전체코드를 살펴보고, 관련해서 실행을 결과를 살펴보겠습니다.
from pykrx import stock
import time
KOSDAQ = stock.get_market_ticker_list(market="KOSDAQ")
KOSPI = stock.get_market_ticker_list(market="KOSPI")
print("KOSAQ Information")
for i in KOSDAQ[:2]:
print(i)
time.sleep(3)
df = stock.get_market_fundamental_by_date("20100101", "20201030", i, "y")
print(df)
print("KOSPI Information")
for i in KOSPI[:2]:
print(i)
time.sleep(3)
df = stock.get_market_fundamental_by_date("20100101", "20201030", i, "y")
print(df)
위의 코드를 실행하면 다음과 같은 결과가 나타납니다. 일단은 내용이 많아서 반복문을 적용할 때 2개씩 만 적용하도록하였습니다.
KOSAQ Information
060310
DIV BPS PER EPS PBR
날짜
2010-12-31 0.0 454 0.00 0 0.000000
2011-12-31 0.0 379 0.00 0 0.000000
2012-12-31 0.0 512 558.14 43 46.875039
2013-12-31 0.0 753 170.24 42 9.495458
2014-12-31 0.0 1169 263.82 17 3.836561
2015-12-31 0.0 1051 0.00 0 0.000000
2016-12-31 0.0 928 0.00 0 0.000000
2017-12-31 0.0 846 0.00 0 0.000000
2018-12-31 0.0 695 0.00 0 0.000000
2019-12-31 0.0 704 0.00 0 0.000000
2020-12-31 0.0 768 87.34 32 3.639167
054620
DIV BPS PER EPS PBR
날짜
2010-12-31 0.0 3794 9.45 466 1.160701
2011-12-31 0.0 3770 65.16 124 2.143194
2012-12-31 0.0 2851 0.00 0 0.000000
2013-12-31 0.0 3753 14.74 521 2.046240
2014-12-31 0.0 3957 17.93 536 2.428729
2015-12-31 0.0 4294 8.74 708 1.441062
2016-12-31 0.0 4185 211.02 59 2.974953
2017-12-31 0.0 4548 72.45 412 6.563193
2018-12-31 0.0 10544 4.36 1749 0.723221
2019-12-31 0.0 13639 0.09 46508 0.306893
2020-12-31 0.0 11083 162.50 64 0.938374
KOSPI Information
095570
DIV BPS PER EPS PBR
날짜
2015-12-31 0.00 23715 12.99 2732 1.496466
2016-12-31 0.00 23715 17.57 2732 2.024088
2017-12-31 0.00 28067 13.59 2391 1.157719
2018-12-31 0.86 5980 24.20 288 1.165485
2019-12-31 1.90 6168 14.16 320 0.734630
2020-12-31 1.98 7231 4.49 1124 0.697934
006840
DIV BPS PER EPS PBR
날짜
2010-12-31 3.94 43004 0.00 0 0.000000
2011-12-31 2.16 38905 0.00 0 0.000000
2012-12-31 3.95 41917 4.93 7714 0.907270
2013-12-31 3.37 38797 3.24 6861 0.572973
2014-12-31 0.37 33073 1.79 22933 1.241196
2015-12-31 0.24 35485 12.03 7072 2.397525
2016-12-31 0.58 42221 10.83 5549 1.423360
2017-12-31 0.94 42342 0.00 0 0.000000
2018-12-31 0.75 46834 13.18 5585 1.571728
2019-12-31 1.25 52954 6.72 7727 0.980576
2020-12-31 2.15 63797 4.24 8224 0.546574
그리고 각 반복문 사이에 time.sleep(3)정도 주어서, 증권거래소 블랙리스트에 등재되지 않도록 하였습니다. 만약 이 부분이 블랙리스트에 등재되면 IP가 블록 되기 때문에 관련해서 몇일에서 몇주동안 사용 모듈 사용을 못하시는 결과가 나타날 수 있습니다.
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 리스트 출력, CSV로 추출- pykrx
이번 포스팅에서는 Python[파이썬 주식] 코스피(KOSPI),코스닥(KOSDAQ)에 있는 모든 종목들의 BPS, PER,EPS,PBR를 가져오는 방법라는 주제로 간단히 살펴봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.
* 위의 모듈 자체가 증권거래소 API를 활용하는 부분이 있습니다. 과도한 사용에 대한 IP block 및 공격으로 오해 받는 것에 대해서는 사용자에게 직접 책임이 있습니다. 따라서 과도한 사용에 대해서 주의 하시길 바랍니다.
'Python > Python 주식' 카테고리의 다른 글
Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader (0) | 2021.02.05 |
---|---|
Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑):종목데이터 전체 확보하기- FinanceDataReader (1) | 2021.02.04 |
Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치 (0) | 2021.01.12 |
Python[파이썬 주식] ETF의 구성 종목 및 구성 비율(PDF) 정보확인하기 (0) | 2020.11.22 |
Python[파이썬 주식] ETF의 OHLCV 확인하기 (0) | 2020.11.20 |