PyKrx
๋ณธ ๋ชจ๋์ ๋ค์ํ ์น ์ธ์ดํธ (Naver / KRX)์์ ์ฃผ๊ฐ ์ ๋ณด๋ฅผ ์คํฌ๋ํ(scraping) ํฉ๋๋ค. API ์ฌ์ฉ์ ๋ํ ์ฑ
์์ ์ฌ์ฉ์ ๋ณธ์ธ์๊ฒ ์์ต๋๋ค. ๋์์ ์ผ๋ก๋ ๋ฌด๋ถ๋ณํ API ํธ์ถ์ ์์ ํด ์ฃผ์๊ธฐ ๋ถํ๋๋ฆฝ๋๋ค. ๋ํ ๊ฒฐ๊ณผ๋ฌผ์ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ์ฌ์ฉํด์ผํ๋ฉฐ, ํฌ์์ ๋ํ ์ฑ
์์ ์ฌ์ฉ์์๊ฒ ์์ต๋๋ค.
1 ํ๊ฒฝ์ค์
1.1 Installation
pykrx๋ pip์ ์ฌ์ฉํด์ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค.
pip install pykrx
pykrx๋ ์ฆ๊ถ์์ฅ์ ์ฃผ์ ์ ๋ณด๋ฅผ ์คํฌ๋ํ ํฉ๋๋ค. ๋ชจ๋์ ์ฌ์ฉ์ import๋ถํฐ ์์ํฉ๋๋ค.
from pykrx import stock
from pykrx import bond
2. API ์ค๋ช
2.1 Stock ๋ชจ๋
2.1.1 MarketData API
์ฝ์คํผ ์ข
๋ชฉ์ ์ฃผ๊ฐ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ป๋ API ์
๋๋ค.
2.1.1.1 Ticker ์กฐํ
get_market_ticker_list
๋ฉ์๋๋ ์ง์ ํ ์ผ์(YYYYMMDD)์ ์ฝ์คํผ
์์ฅ์ ์์ฅ๋ ticker๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
tickers = stock.get_market_ticker_list("20190225")
print(tickers)
['095570', '068400', '006840', '027410', '282330', ...]
๋ ์ง๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ด๋ถ์ ์ผ๋ก ์ต๊ทผ ์์
์ผ์ ๊ณ์ฐํด์ ticker ๋ฐํํฉ๋๋ค. ์ต๊ทผ ์์
์ผ์ ์กฐํํ๋ ์๊ฐ์ด ์ถ๊ฐ๋ก ์๋ชจ๋์ง๋ง ์ฌ์ฉ์์ ์ฐจ์ด์ ์ ์์ต๋๋ค.
tickers = stock.get_market_ticker_list()
print(tickers)
['095570', '006840', '027410', '282330', '138930', ...]
market
์ต์
์ ์ถ๊ฐํ๋ฉด ์กฐํ ์์ฅ์ ์ง์ ํ ์ ์์ต๋๋ค. KOSPI
, KOSDAQ
, KONEX
์์ฅ์ ์ง์ ํ ์ ์์ผ๋ฉฐ, ALL
์ ๋ชจ๋ ์์ฅ์์ ํฐ์ปค๋ฅผ ์กฐํํฉ๋๋ค. ์
๋ ฅํ์ง ์์ ๊ฒฝ์ฐ KOSPI
์์ฅ์ ์กฐํํฉ๋๋ค.
tickers = stock.get_market_ticker_list("20190225", market="KOSDAQ")
print(tickers)
['095570', '006840', '027410', '282330', '138930', ...]
get_market_ticker_name
ํจ์์ ํฐ์ปค๋ฅผ ์
๋ ฅํ๋ฉด ์ข
๋ชฉ์ด๋ฆ์ ๋ฐํํฉ๋๋ค.
for ticker in stock.get_market_ticker_list():
์ข
๋ชฉ = stock.get_market_ticker_name(ticker)
print(์ข
๋ชฉ)
SKํ์ด๋์ค
....
2.1.1.2 ์ผ์๋ณ OHLCV ์กฐํ
get_market_ohlcv
ํจ์๋ ์์์ผ/์ข
๋ฃ์ผ/ํฐ์ปค ์ธ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ ฅ๋ฐ์ OHLCV๋ฅผ ์ผ์๋ณ๋ก ์ ๋ ฌํ์ฌ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_market_ohlcv("20220720", "20220810", "005930")
print(df.head(3))
๊ณผ๊ฑฐ ์ผ์์ OHLCV๊ฐ ์์ชฝ์ ์์นํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๋ฑ๋ฝ๋ฅ
๋ ์ง
2022-07-20 61800 62100 60500 60500 16782238 1025939109200 -0.66
2022-07-21 61100 61900 60700 61800 12291374 754854999650 2.15
2022-07-22 61800 62200 61200 61300 10261310 631872940300 -0.81
get_market_ohlcv() ํจ์์ frequency ํ๋ผ๋ฏธํฐ(d/m/y)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. d๋ ์ผ์, m์ ์, y๋ ์ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ค์์ 20200810๋ถํฐ 20201212๊น์ง์ ์ผ์ฑ์ ์ ์๋ณ OHLCV ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_market_ohlcv("20200810", "20201212", "005930", "m")
print(df.head(3))
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋
๋ ์ง
2020-08-31 57600 59900 54000 54000 303002023
2020-09-30 54100 61300 54100 58200 426302298
2020-10-31 57500 61500 56600 56600 327557687
get_market_ohlcv() ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฒญํ ๋ง์ง๋ง ์ผ์ ๊ธฐ์ค์ผ๋ก ์์ ์ฃผ๊ฐ๋ฅผ ๋ฐ์ํ์ฌ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. adjusted ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํด์ ์์ ์ฃผ๊ฐ๊ฐ ๋ฐ์๋์ง ์์ OHLCV ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์๋ ์์ต๋๋ค.
df = stock.get_market_ohlcv("20180427", "20180504", "005930", adjusted=False)
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๋ฑ๋ฝ๋ฅ
๋ ์ง
2018-04-27 2669000 2682000 2622000 2650000 606216 1611240055340 1.65
2018-04-30 0 0 0 2650000 0 0 0.00
2018-05-02 0 0 0 2650000 0 0 0.00
2018-05-03 0 0 0 2650000 0 0 0.00
2018-05-04 53000 53900 51800 51900 39565391 2078017927600 -2.08
get_stock_ticker_list() ํจ์์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ์ข
๋ชฉ์ OHLCV๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ํ ๋ฒ์ ๋๋ฌด ๋ง์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ฉด KRX ์๋ฒ๊ฐ ์ฐจ๋จํ ์ ์์ผ๋ฏ๋ก time ๋ชจ๋์ ์ฌ์ฉํด์ 1์ด ์ง์ฐ ํ ์์ฒญํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค.
import time
for ticker in stock.get_stock_ticker_list():
df = stock.get_market_ohlcv("20181210", "20181212", ticker)
print(df.head())
time.sleep(1)
2.1.1.3 ์ ์ฒด ์ข
๋ชฉ ์์ธ ์กฐํ
get_market_ohlcv
ํจ์๋ ์
๋ ฅ๋ ์ผ์์ ์ฝ์คํผ
์ ์ข
๋ชฉ ์์ธ๋ฅผ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_market_ohlcv("20210122")
print(df.head(3))
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๋ฑ๋ฝ๋ฅ
ํฐ์ปค
095570 4190 4245 4160 4210 216835 910274405 0.839844
006840 25750 29550 25600 29100 727088 20462325950 12.570312
027410 5020 5250 4955 5220 1547629 7990770515 4.191406
๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ ํน์ ์์ฅ์ ์ง์ ํด์ ์ข
๋ชฉ ์์ธ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
- ์ฝ์คํผ(KOSPI)/์ฝ์ค๋ฅ(KOSDAQ)/์ฝ๋ฅ์ค(KONEX) ์์ฅ์ ์ง์ํฉ๋๋ค.
ALL
์ ์
๋ ฅํ๋ฉด ์ ์ฒด ์์ฅ์ ์กฐํํฉ๋๋ค.- ๊ฐ์ ์
๋ ฅํ์ง ์๋๋ค๋ฉด ์ฝ์คํผ ์์ฅ์ ์กฐํํฉ๋๋ค.
df = stock.get_market_ohlcv("20200831", market="KOSPI")
df = stock.get_market_ohlcv("20200831", market="KOSDAQ")
df = stock.get_market_ohlcv("20200831", market="KONEX")
2.1.1.4 ๋ชจ๋ ์ข
๋ชฉ์ ๊ฐ๊ฒฉ ๋ณ๋ ์กฐํ
get_market_price_change
ํจ์๋ ์
๋ ฅ๋ ๊ธฐ๊ฐ ๋์์ ๊ฐ๊ฒฉ ๊ฐ๊ฒฉ ๋ณ๋ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
๋ค์ ์ฝ๋๋ 20180301-20180320 ๋์์ ๊ฐ๊ฒฉ ๋ณ๋ํญ์ ์กฐํํฉ๋๋ค.
.
df = stock.get_market_price_change("20180301", "20180320")
print(df.head(2))
์ข
๋ชฉ๋ช
์๊ฐ ์ข
๊ฐ ๋ณ๋ํญ ๋ฑ๋ฝ๋ฅ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ
000020 ๋ํ์ฝํ 11400 12300 900 7.89 4573591 54852078400
000030 ์ฐ๋ฆฌ์ํ 16600 15550 -1050 -6.33 21956076 345083853864
์์์ผ์ ์๊ฐ ํน์ ์ ์ผ ์ข
๊ฐ๋ฅผ ๊ฐ๊ฒฉ ๋ณ๋ ๋ฐ์ดํฐ์ ์๊ฐ๋ก ์ฌ์ฉํ ์ ์๋๋ฐ, KRX ์น์๋ฒ๋ ์ ์ผ ์ข
๊ฐ๋ฅผ ์๊ฐ๋ก ๋ฐํํฉ๋๋ค. ์ฆ 20180301 ์ ์ผ ์ข
๊ฐ๋ฅผ ์๊ฐ,
20180320์ ์ข
๊ฐ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ํ์ฝํ(000020)์ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๋ฉด 2018/03/02์ ์ ์ผ ์์
์ผ 2018/02/28์ ์ข
๊ฐ๋ฅผ ์๊ฐ๋ก ์ฌ์ฉํ ๊ฒ์ ์ ์ ์์ต๋๋ค.
df = stock.get_market_ohlcv("20180227", "20180320", "000020")
print(df.head())
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋
๋ ์ง
2018-02-27 12200 12350 11800 12050 406559
2018-02-28 11950 12300 11400 11400 570361
2018-03-02 11450 11750 11400 11550 301574
2018-03-05 11650 11750 11100 11250 365544
2018-03-06 11450 11600 11300 11350 162679
์
๋ ฅ๋ ๊ธฐ๊ฐ์ ์์ฅ ํ์ง ๋๋ ์ข
๋ชฉ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฝ์ด(051170)์ ํด๋น ๊ธฐ๊ฐ์ ์์ฅ ํ์ง๊ฐ ๋์ผ๋ฏ๋ก ์ข
๊ฐ๊ฐ 0, ๋ฑ๋ฝํญ์ด -100%๋ก ํ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
print(df.loc["051170"])
์ข
๋ชฉ๋ช
์ฌ์ฝ์ด
์๊ฐ 1360
์ข
๊ฐ 0
๋ณ๋ํญ -1360
๋ฑ๋ฝ๋ฅ -100
๊ฑฐ๋๋ 0
๊ฑฐ๋๋๊ธ 0
get_market_price_change
ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก KOSPI
์์ฅ์ ์กฐํํฉ๋๋ค. market
ํ๋ผ๋ฏธํฐ์ KOSDAQ
๋๋ ALL
์ ์
๋ ฅํ ์ ์์ต๋๋ค. ALL
์ ๋ชจ๋ ์์ฅ์ ๊ฐ๊ฒฉ ๋ณ๋ํญ์ ์กฐํํฉ๋๋ค.
df = stock.get_market_price_change("20180301", "20180320", market="KOSDAQ")
print(df.head(2))
2.1.1.5 ์ข
๋ชฉ๋ณ DIV/BPS/PER/EPS ์กฐํ
get_market_fundamental
ํจ์๋ ์ฝ์คํผ ์์ฅ์ DIV/BPS/PER/EPS/PBR๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_market_fundamental("20210108")
print(df.head(2))
BPS PER PBR EPS DIV DPS
ํฐ์ปค
095570 6802 4.621094 0.669922 982 6.609375 300
006840 62448 11.687500 0.409912 2168 2.960938 750
๋ ๋ฒ์ฌ market
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์์ฅ์ ์กฐํํ ์ ์์ต๋๋ค.
- KOSPI / KOSDAQ / KONEX / ALL ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
df = stock.get_market_fundamental("20210104", market="KOSDAQ")
print(df.head(2))
BPS PER PBR EPS DIV DPS
ํฐ์ปค
060310 745 0.000000 3.029297 0 0.000000 0
054620 10530 0.000000 0.759766 0 0.000000 0
2.1.1.6 ์ผ์๋ณ DIV/BPS/PER/EPS ์กฐํ
get_market_fundamental
ํจ์๋ ํน์ ์ข
๋ชฉ์ ๋ํด ์
๋ ฅ๋ ๊ธฐ๊ฐ์ DIV/BPS/PER/EPS/PBR๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_market_fundamental("20210104", "20210108", "005930")
print(df.head(2))
BPS PER PBR EPS DIV DPS
๋ ์ง
2021-01-04 37528 26.218750 2.210938 3166 1.709961 1416
2021-01-05 37528 26.500000 2.240234 3166 1.690430 1416
get_market_fundamental() ํจ์์ frequency ํ๋ผ๋ฏธํฐ(d/m/y)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. d๋ ์ผ์, m์ ์, y๋ ์ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ค์์ 20180810๋ถํฐ 20181212๊น์ง์ ์ผ์ฑ์ ์ ์๋ณ DIV/BPS/PER/EPS๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ด๋ ํด๋น ์์ ์ข
๊ฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
df = stock.get_market_fundamental("20200101", "20200430", "005930", freq="m")
print(df.head(2))
BPS PER PBR EPS DIV DPS
๋ ์ง
2020-01-31 35342 8.539062 1.559570 6461 2.570312 1416
2020-02-29 35342 8.851562 1.620117 6461 2.480469 1416
2.1.1.7 ์ผ์๋ณ ๊ฑฐ๋์ค์ ์ถ์ด (๊ฑฐ๋๋๊ธ)
์ง์ ๋ ๊ธฐ๊ฐ ๋์์ ์ผ์๋ณ๋ก ์ ๋ ฌ๋ (์๋งค์) ๊ฑฐ๋๋์ ์ป์ด์ต๋๋ค. ๋น์ผ์ ์ต์ข
๋งค๋งค๋ด์ญ์ ์คํ 6์ ์ดํ์ ์ ๊ณต๋ฉ๋๋ค. ๋ค์์ ์ผ์ฑ์ ์ (005930)์ 2021-01-15๋ถํฐ 2021-01-22๊น์ง์ ๊ฑฐ๋๋๊ธ์ ์ป์ด์ต๋๋ค.
df = stock.get_market_trading_value_by_date("20210115", "20210122", "005930")
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -440769209300 25442287800 661609085600 -246282164100 0
2021-01-18 42323535000 22682344800 14829121700 -79835001500 0
2021-01-19 95523053500 -3250422500 -173484213300 81211582300 0
2021-01-20 -364476214000 22980632900 430115581000 -88619999900 0
2021-01-21 -60637506300 -27880854000 250285510000 -161767149700 0
๋งค์
ํน์ ๋งค๋
๊ธ์ก์ ์กฐํํ๊ณ ์ถ๋ค๋ฉด on
ํ๋ผ๋ฏธํฐ์ ์
๋ ฅํ ์ ์์ต๋๋ค. ์
๋ ฅํ์ง ์๋๋ค๋ฉด ์๋งค์
๊ธ์ก์ด ์กฐํ๋ฉ๋๋ค.
df = stock.get_market_trading_value_by_date("20210115", "20210122", "005930", on='๋งค๋')
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 1505250243300 19525756900 925426195700 525029741764 2975231937664
2021-01-18 1353223733500 22132983500 1883422627200 456996648400 3715775992600
2021-01-19 1205081446400 28155090000 1800734616800 407371601300 3441342754500
2021-01-20 1147190346800 10015618200 643413644500 405119540200 2205739149700
2021-01-21 878411497500 41184362100 851899126900 439714802000 2211209788500
2021-01-22 1218085354000 12679395000 813950599700 672919902820 2717635251520
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ KOSPI
, KOSDAQ
, KONEX
๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ์์ฅ์ ๊ฑฐ๋๋๊ธ์ ์กฐํํฉ๋๋ค. ALL
์ ์
๋ ฅํ๋ฉด ์ธ ๊ฐ์ ์์ฅ์ ํฉ์น ํตํฉ ๊ฑฐ๋๋๊ธ์ ์กฐํํฉ๋๋ค.
df = stock.get_market_trading_value_by_date("20210115", "20210122", "KOSPI")
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -1414745885546 54444293672 2113924037705 -753622445831 0
2021-01-18 -278880716957 -26004926379 514299140387 -209413497051 0
2021-01-19 593956459208 21472281148 -1025418915468 409990175112 0
2021-01-20 -1234485992694 34510184945 1436793223994 -236817416245 0
2021-01-21 -292666343147 -13168420832 -62476631241 368311395220 0
2021-01-22 -1364772011847 24513231108 1608263875827 -268005095088 0
์์ฅ์ ๊ฑฐ๋๋๊ธ์ ์กฐํํ ๋๋ ETF
, ETN
ELW
์ ํฌํจ ์ฌ๋ถ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ฐ์ ์ง์ ํ์ง ์๋๋ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๊ฐ์์ ๋ฐํํฉ๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_value_by_date("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True)
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -1536570309441 63110174617 2251672617980 -778212483156 0
2021-01-18 -601428111357 -27000808439 494341183227 134087736569 0
2021-01-19 544654406338 21787409868 -968965427363 402523611157 0
2021-01-20 -1227642472619 32139813590 1444113501769 -248610842740 0
2021-01-21 -284899892322 -19072459127 -61503500921 365475852370 0
2021-01-22 -1436249980782 27300779998 1724185991547 -315236790763 0
detail
์ต์
์ ์ถ๊ฐํ๋ฉด ์์ธํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_value_by_date("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True, detail=True)
print(df.head())
๊ธ์ตํฌ์ ๋ณดํ ํฌ์ ์ฌ๋ชจ ์ํ ๊ธฐํ๊ธ์ต ์ฐ๊ธฐ๊ธ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ์ธ๊ตญ์ธ ์ ์ฒด
๋ ์ง
2021-01-15 -991569370471 -101879326615 -73654664921 -47097103944 202104737955 -4226413080 -520248168365 63110174617 2251672617980 -780253717173 2041234017 0
2021-01-18 -234901037556 -72240710086 101791257920 -22451555756 29622542645 9331964150 -412580572674 -27000808439 494341183227 132145345642 1942390927 0
2021-01-19 1095649201830 -16407303019 -132856710155 12116061569 1776752770 -1933723125 -413689873532 21787409868 -968965427363 401864885550 658725607 0
2021-01-20 -642974676550 -63074125224 -93392192931 -2355882539 -17889264145 -1573759250 -406382571980 32139813590 1444113501769 -250687123305 2076280565 0
2021-01-21 354360314201 -107524405663 -12601355617 21898580074 -113225122905 -158268629075 -269539273337 -19072459127 -61503500921 363801344664 1674507706 0
2021-01-22 -560016181741 -100333954630 -225483850440 -115127797322 -52404985300 -362456555 -382520754794 27300779998 1724185991547 -320015572886 4778782123 0
2.1.1.8 ์ผ์๋ณ ๊ฑฐ๋์ค์ ์ถ์ด (๊ฑฐ๋๋)
์ผ์๋ณ ์์ฅ์ ๊ฑฐ๋๋์ ์กฐํํฉ๋๋ค. ๋น์ผ์ ์ต์ข
๋งค๋งค๋ด์ญ์ ์คํ 6์ ์ดํ์ ์ ๊ณต๋ฉ๋๋ค. ๋ค์์ ์ผ์ฑ์ ์ (005930)์ 2021-01-15๋ถํฐ 2021-01-22๊น์ง์ ๊ฑฐ๋๋์ ์ป์ด์ต๋๋ค.
df = stock.get_market_trading_volume_by_date("20210115", "20210122", "005930")
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -5006115 288832 7485785 -2768502 0
2021-01-18 505669 262604 151228 -919501 0
2021-01-19 1139258 -34023 -2044543 939308 0
2021-01-20 -4157919 262408 4917655 -1022144 0
2021-01-21 -712099 -321732 2890389 -1856558 0
2021-01-22 -6384793 56478 9884815 -3556500 0
๋งค์
ํน์ ๋งค๋
๊ฑฐ๋๋๋ง์ ์กฐํํ๊ณ ์ถ๋ค๋ฉด on
ํ๋ผ๋ฏธํฐ์ ์
๋ ฅํ ์ ์์ต๋๋ค. ์
๋ ฅํ์ง ์๋๋ค๋ฉด ์๋งค์
์๋์ด ์กฐํ๋ฉ๋๋ค.
df = stock.get_market_trading_volume_by_date("20210115", "20210122", "005930", on='๋งค๋')
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 16944750 216653 10371182 5899224 33431809
2021-01-18 15709256 258096 21942253 5318346 43227951
2021-01-19 13912581 323382 20956376 4702705 39895044
2021-01-20 13121791 114341 7346474 4628521 25211127
2021-01-21 10093381 473635 9714878 5036117 25318011
2021-01-22 13833201 144197 9236255 7648008 30861661
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ KOSPI
, KOSDAQ
, KONEX
๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ์์ฅ์ ๊ฑฐ๋๋์ ์กฐํํฉ๋๋ค. ALL
์ ์
๋ ฅํ๋ฉด ์ธ ๊ฐ์ ์์ฅ์ ํฉ์น ํตํฉ ๊ฑฐ๋๋์ ์กฐํํฉ๋๋ค.
df = stock.get_market_trading_volume_by_date("20210115", "20210122", "KOSPI")
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -20393142 8435634 29119751 -17162243 0
2021-01-18 -5700054 -1198498 15316328 -8417776 0
2021-01-19 7216278 -246496 -24395243 17425461 0
2021-01-20 -23038683 -793906 31606917 -7774328 0
2021-01-21 -18443990 -7082091 8365421 17160660 0
2021-01-22 -20475792 -775181 34931834 -13680861 0
์์ฅ์ ๊ฑฐ๋๋์ ์กฐํํ ๋๋ ETF
, ETN
ELW
์ ํฌํจ ์ฌ๋ถ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ฐ์ ์ง์ ํ์ง ์๋๋ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๊ฐ์์ ๋ฐํํฉ๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_volume_by_date("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True)
print(df.head())
๊ธฐ๊ดํฉ๊ณ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธํฉ๊ณ ์ ์ฒด
๋ ์ง
2021-01-15 -26571037 8455599 37942108 -19826670 0
2021-01-18 -65039501 -757841 39922005 25875337 0
2021-01-19 -41855511 4320588 31709703 5825220 0
2021-01-20 -23038880 -2562184 38031657 -12430593 0
2021-01-21 -38539026 -8798430 38195538 9141918 0
2021-01-22 -63205133 509838 75540851 -12845556 0
detail
์ต์
์ ์ถ๊ฐํ๋ฉด ์์ธํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_volume_by_date("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True, detail=True)
print(df.head())
๊ธ์ตํฌ์ ๋ณดํ ํฌ์ ์ฌ๋ชจ ์ํ ๊ธฐํ๊ธ์ต ์ฐ๊ธฐ๊ธ ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ์ธ๊ตญ์ธ ์ ์ฒด
๋ ์ง
2021-01-15 -30909240 -1400206 2245052 -2307623 11071023 102571 -5372614 8455599 37942108 -19793169 -33501 0
2021-01-18 -70318619 -1883526 9224883 10962 3203493 394649 -5671343 -757841 39922005 25583326 292011 0
2021-01-19 -24047200 -161246 -11083467 -1024629 216630 -150452 -5605147 4320588 31709703 5392346 432874 0
2021-01-20 -10187734 -1024404 -3957101 -523064 -556527 163402 -6953452 -2562184 38031657 -12710114 279521 0
2021-01-21 -13155430 -3602153 -2107802 -742226 -3466644 -8481152 -6983619 -8798430 38195538 8855139 286779 0
2021-01-22 -48208418 -1650768 -3068328 -501431 -3056403 191684 -6911469 509838 75540851 -13149752 304196 0
2.1.1.9 ํฌ์์๋ณ ๊ฑฐ๋์ค์ ์ถ์ด (๊ฑฐ๋๋๊ธ)
์ง์ ๋ ๊ธฐ๊ฐ ๋์์ ํฌ์์๋ณ๋ก ์ ๋ ฌ๋ (์๋งค์) ๊ฑฐ๋๋๊ธ์ ์ป์ด์ต๋๋ค. ๋น์ผ์ ์ต์ข
๋งค๋งค๋ด์ญ์ ์คํ 6์ ์ดํ์ ์ ๊ณต๋ฉ๋๋ค. ๋ค์์ ์ผ์ฑ์ ์ (005930)์ 2021-01-15๋ถํฐ 2021-01-22๊น์ง์ ๊ฑฐ๋๋๊ธ์ ์ป์ด์ต๋๋ค.
df = stock.get_market_trading_value_by_investor("20210115", "20210122", "005930")
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 2580964135000 2309054317700 -271909817300
๋ณดํ 153322228800 44505136200 -108817092600
ํฌ์ 258073006600 150715203700 -107357802900
์ฌ๋ชจ 65167773900 60862926800 -4304847100
์ํ 3369626100 4004806100 635180000
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ KOSPI
, KOSDAQ
, KONEX
๋ฅผ ์ง์ ํ๋ฉด ๊ฐ ์์ฅ์ ๊ฑฐ๋๋๊ธ์ ์กฐํํฉ๋๋ค. ALL
์ ์
๋ ฅํ๋ฉด ์ธ ๊ฐ์ ์์ฅ์ ํฉ์น ํตํฉ ๊ฑฐ๋๋๊ธ์ ์กฐํํฉ๋๋ค.
df = stock.get_market_trading_value_by_investor("20210115", "20210122", "KOSPI")
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 9827334289654 9294592831462 -532741458192
๋ณดํ 912820396542 560818697065 -352001699477
ํฌ์ 1790231574897 1421181450288 -369050124609
์ฌ๋ชจ 830445404788 665802837480 -164642567308
์ํ 58624439870 37109603010 -21514836860
์์ฅ์ ๊ฑฐ๋๋๊ธ์ ์กฐํํ ๋๋ ETF
, ETN
ELW
์ ํฌํจ ์ฌ๋ถ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ฐ์ ์ง์ ํ์ง ์๋๋ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๊ฐ์์ ๋ฐํํฉ๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_value_by_investor("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True)
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 15985568261831 15006116511544 -979451750287
๋ณดํ 1219035502445 757575677208 -461459825237
ํฌ์ 2235561259511 1799363743367 -436197516144
์ฌ๋ชจ 999084910863 846067212945 -153017697918
์ํ 886226324790 936210985810 49984661020
2.1.1.10 ํฌ์์๋ณ ๊ฑฐ๋์ค์ ์ถ์ด (๊ฑฐ๋๋)
์ง์ ๋ ๊ธฐ๊ฐ ๋์์ ํฌ์์๋ณ๋ก ์ ๋ ฌ๋ (์๋งค์) ๊ฑฐ๋๋์ ์ป์ด์ต๋๋ค. ๋น์ผ์ ์ต์ข
๋งค๋งค๋ด์ญ์ ์คํ 6์ ์ดํ์ ์ ๊ณต๋ฉ๋๋ค. ๋ค์์ ์ผ์ฑ์ ์ (005930)์ 2021-01-15๋ถํฐ 2021-01-22๊น์ง์ ๊ฑฐ๋๋์ ์ป์ด์ต๋๋ค.
df = stock.get_market_trading_volume_by_investor("20210115", "20210122", "005930")
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 29455909 26450600 -3005309
๋ณดํ 1757287 509535 -1247752
ํฌ์ 2950680 1721970 -1228710
์ฌ๋ชจ 745727 696135 -49592
์ํ 38675 46394 7719
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ KOSPI
, KOSDAQ
, KONEX
๋ฅผ ์ง์ ํ๋ฉด ๊ฐ ์์ฅ์ ๊ฑฐ๋๋์ ์กฐํํฉ๋๋ค. ALL
์ ์
๋ ฅํ๋ฉด ์ธ ๊ฐ์ ์์ฅ์ ํฉ์น ํตํฉ ๊ฑฐ๋๋์ ์กฐํํฉ๋๋ค.
df = stock.get_market_trading_volume_by_investor("20210115", "20210122", "KOSPI")
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 137969209 127697577 -10271632
๋ณดํ 15737709 8577242 -7160467
ํฌ์ 46872846 34307243 -12565603
์ฌ๋ชจ 20780475 16342937 -4437538
์ํ 2236667 632814 -1603853
์์ฅ์ ๊ฑฐ๋๋์ ์กฐํํ ๋๋ ETF
, ETN
ELW
์ ํฌํจ ์ฌ๋ถ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ฐ์ ์ง์ ํ์ง ์๋๋ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๊ฐ์์ ๋ฐํํฉ๋๋ค. ์ต์
์ KOSPI
, KOSDAQ
, KONEX
์กฐํํ ๋๋ง ์ ํจํฉ๋๋ค.
df = stock.get_market_trading_volume_by_investor("20210115", "20210122", "KOSPI", etf=True, etn=True, elw=True)
print(df.head())
๋งค๋ ๋งค์ ์๋งค์
ํฌ์์๊ตฌ๋ถ
๊ธ์ตํฌ์ 1857447354 1660620713 -196826641
๋ณดํ 29594468 19872165 -9722303
ํฌ์ 69348190 60601427 -8746763
์ฌ๋ชจ 31673292 26585281 -5088011
์ํ 44279242 51690814 7411572
2.1.1.11 ํฌ์์๋ณ ์๋งค์ ์์์ข
๋ชฉ
get_market_net_purchases_of_equities
ํจ์๋ ์๋งค์ ๊ธ์ก ์์๋ก ์ ๋ ฌ๋ ์ข
๋ชฉ ๋ฆฌ์คํธ๋ฅผ ๋ฐํํฉ๋๋ค. ๋ค์์ ์ฝ์คํผ ์์ฅ์์ 2021-01-15 ๋ถํฐ 2021-01-22 ๊น์ง ๊ฐ์ธ์ ์๋งค์ ๊ธ์ก์ด ๋์ ์์๋๋ก ์ข
๋ชฉ์ ์ ๋ ฌํด์ ๋ฐํํฉ๋๋ค.
df = stock.get_market_net_purchases_of_equities("20210115", "20210122", "KOSPI", "๊ฐ์ธ")
print(df.head())
์ข
๋ชฉ๋ช
๋งค๋๊ฑฐ๋๋ ๋งค์๊ฑฐ๋๋ ์๋งค์๊ฑฐ๋๋ ๋งค๋๊ฑฐ๋๋๊ธ ๋งค์๊ฑฐ๋๋๊ธ ์๋งค์๊ฑฐ๋๋๊ธ
ํฐ์ปค
005930 ์ผ์ฑ์ ์ 79567418 102852747 23285329 6918846810800 8972911580500 2054064769700
000270 ๊ธฐ์์ฐจ 44440252 49880626 5440374 3861283906400 4377698855000 516414948600
005935 ์ผ์ฑ์ ์์ฐ 15849762 20011325 4161563 1207133611400 1528694164400 321560553000
051910 LGํํ 709872 921975 212103 700823533000 908593419000 207769886000
096770 SK์ด๋
ธ๋ฒ ์ด์
4848359 5515777 667418 1298854139000 1478890602000 180036463000
ํฌ์์ ํญ๋ชฉ์๋ ๋ค์ ์ค ํ๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ๊ธ์ตํฌ์ / ๋ณดํ / ํฌ์ / ์ฌ๋ชจ / ์ํ / ๊ธฐํ๊ธ์ต / ์ฐ๊ธฐ๊ธ / ๊ธฐ๊ดํฉ๊ณ / ๊ธฐํ๋ฒ์ธ / ๊ฐ์ธ / ์ธ๊ตญ์ธ / ๊ธฐํ์ธ๊ตญ์ธ / ์ ์ฒด
2.1.1.12 ์ข
๋ชฉ๋ณ ์๊ฐ ์ด์ก ์กฐํ
get_market_cap
ํจ์๋ ํน์ ์ผ์์ ์ข
๋ชฉ๋ณ ์๊ฐ์ด์ก/๊ฑฐ๋๋/๊ฑฐ๋๋๊ธ/์์ฅ์ฃผ์์/์ธ๊ตญ์ธ๋ณด์ ์ฃผ์์๋ฅผ ์กฐํํฉ๋๋ค.
์๊ฐ์ด์ก๊ณผ ๊ฑฐ๋๋๊ธ์ ๋จ์๋ ์์
๋๋ค. ์ธ๊ตญ์ธ๋ณด์ ์ฃผ์์๋ D-2 (์์
์ผ ๊ธฐ์ค)์ผ ๊น์ง ์ ํจํ ๊ฐ์ด ์ถ๋ ฅ๋๋ฉฐ, D-1์ผ์ 0์ผ๋ก ํ๊ธฐ๋ฉ๋๋ค.
df = stock.get_market_cap("20200625")
print(df.head())
์๊ฐ์ด์ก ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ์์ฅ์ฃผ์์ ์ธ๊ตญ์ธ๋ณด์ ์ฃผ์์
์ข
๋ชฉ์ฝ๋
091990 17366306280400 2104287 239476471400 151406332 29741147
028300 5228972500000 556246 56188336400 52289725 6574994
068760 4880465749600 662319 90479992800 35806792 2929762
196170 3960853850000 1534967 431736743900 13995950 1481879
096530 2911976220000 1759610 200374704500 26234020 3071909
2.1.1.13 ์ผ์๋ณ ์๊ฐ ์ด์ก ์กฐํ
get_market_cap
ํจ์๋ ํน์ ์ข
๋ชฉ์ ์ผ์๋ณ ์๊ฐ์ด์ก์ ์กฐํํฉ๋๋ค. ๊ฑฐ๋๋/๊ฑฐ๋๋๊ธ/์์ฅ์ฃผ์์๊ฐ ํจ๊ป ์กฐํ๋ฉ๋๋ค.
df = stock.get_market_cap("20190101", "20190131", "005930")
print(df.head())
์๊ฐ์ด์ก ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ์์ฅ์ฃผ์์
๋ ์ง
2015-07-20 187806655 128928 165366199000 147299337
2015-07-21 186039063 194055 244129106000 147299337
2015-07-22 184566069 268323 333813094000 147299337
2015-07-23 181767382 208965 259446564000 147299337
2015-07-24 181030885 196584 241383636000 147299337
get_market_cap() ํจ์์ frequency ํ๋ผ๋ฏธํฐ(d/m/y)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
d๋ ์ผ์, m์ ์, y๋ ์ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ค์์ 20200101๋ถํฐ 20200430๊น์ง์ ์๋ณ ์๊ฐ์ด์ก์ ์กฐํํฉ๋๋ค.
์๊ฐ์ด์ก๊ณผ ์์ฅ์ฃผ์์๋ ์๋ณ ๋ง์ง๋ง ๊ฑฐ๋์ผ์ ๊ฐ์ ์ฌ์ฉํ๋ฉฐ, ๊ฑฐ๋๋๊ณผ ๊ฑฐ๋๋๊ธ์ ํฉ์ฐ๋ ๊ฒฐ๊ณผ๊ฐ
์ถ๋ ฅ๋ฉ๋๋ค. ์กฐํ ๊ธฐ๊ฐ์ด ๊ธธ ์๋ก ๋ฐ์ดํฐ๋ฅผ ํ๋ํ๊ธฐ ๊น์ง์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
df = stock.get_market_cap("20200101", "20200430", "005930", "m")
print(df.head())
์๊ฐ์ด์ก ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ์์ฅ์ฃผ์์
๋ ์ง
2020-01-31 336695736 319891636 18809460519447 5969782550
2020-02-29 323562214 360007160 21055346438502 5969782550
2020-03-31 285057117 856741868 42269216023680 5969782550
2020-04-30 298489128 424101937 20785194256247 5969782550
2.1.1.14 ํฐ์ปค๋ณ ์ธ๊ตญ์ธ ๋ณด์ ๋ ๋ฐ ์ธ๊ตญ์ธ ํ๋์์ง๋ฅ
get_exhaustion_rates_of_foreign_investment
ํจ์๋ ์์ฅ์ฃผ์์/์ธ๊ตญ์ธํ๋์๋/์ธ๊ตญ์ธ๋ณด์ ์๋/์ธ๊ตญ์ธํ๋์์ง๋ฅ ์ ๋ณด๋ฅผ
์กฐํํฉ๋๋ค. ์ธ๊ตญ์ธ ๋ณด์ ์๋ ๋ฐ ํ๋์์ง์จ์ ์ฅ๊ฐ์ ์์ ๊ธฐ์ค(๊ธ์ต๊ฐ๋
์ ์ธ๊ตญ์ธํฌ์ ๊ด๋ฆฌ์์คํ
์ ๊ณต ์ ์ผ์ ํ์ ์น)์
๋๋ค.
df = stock.get_exhaustion_rates_of_foreign_investment('20200703')
print(df.head())
์์ฅ์ฃผ์์ ๋ณด์ ์๋ ์ง๋ถ์จ ํ๋์๋ ํ๋์์ง์จ
ํฐ์ปค
003490 94844634 12350096 13.023438 47412833 26.046875
003495 1110794 29061 2.619141 555286 5.230469
015760 641964077 127919592 19.937500 256785631 49.812500
017670 80745711 28962369 35.875000 39565398 73.187500
020560 223235294 13871465 6.210938 111595323 12.429688
๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ market
์ ์ฝ์คํผ(KOSPI)/์ฝ์ค๋ฅ(KOSDAQ)/์ฝ๋ฅ์ค(KONEX) ์์ฅ์ ์ง์ ํด์ ์กฐํํ ์ ์์ต๋๋ค.
df = stock.get_exhaustion_rates_of_foreign_investment('20200703', "KOSPI")
print(df.head())
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ balance_limit
์ True
๋ก ์ง์ ํ๋ฉด ์ธ๊ตญ์ธ ๋ณด์ ํ๋์ ์ ํ ์ข
๋ชฉ๋ง ๊ฒ์ํ ์ ์์ต๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด False
์
๋๋ค.
df = stock.get_exhaustion_rates_of_foreign_investment('20200703', "KOSPI",
balance_limit=True)
print(df.head())
2.1.1.15 ์ผ์๋ณ ์ธ๊ตญ์ธ ๋ณด์ ๋ ๋ฐ ์ธ๊ตญ์ธ ํ๋์์ง๋ฅ
get_exhaustion_rates_of_foreign_investment
ํจ์๋ ํน์ ํ ์ข
๋ชฉ์ ์ผ์๋ณ๋ก ์ ๋ ฌ๋ ์์ฅ์ฃผ์์/์ธ๊ตญ์ธํ๋์๋/์ธ๊ตญ์ธ๋ณด์ ์๋/์ธ๊ตญ์ธํ๋์์ง๋ฅ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค. ์ธ๊ตญ์ธ ๋ณด์ ์๋ ๋ฐ ํ๋์์ง์จ์ ์ฅ๊ฐ์ ์์ ๊ธฐ์ค(๊ธ์ต๊ฐ๋
์ ์ธ๊ตญ์ธํฌ์ ๊ด๋ฆฌ์์คํ
์ ๊ณต ์ ์ผ์ ํ์ ์น)์
๋๋ค.
df = stock.get_exhaustion_rates_of_foreign_investment("20210108", "20210115", "005930")
print(df.head())
2.1.2 ์ธ๋ฑ์ค ์กฐํ API
์ฝ์คํผ ์ธ๋ฑ์ค๋ฅผ ์กฐํํฉ๋๋ค.
2.1.2.1 ์ธ๋ฑ์ค ์ข
๋ฅ ์กฐํ
get_index_ticker_list() ํจ์๋ ์ฝ์คํผ ์ธ๋ฑ์ค๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
tickers = stock.get_index_ticker_list()
print(tickers)
['1001', '1028', '1034', '1035', '1167', '1182', ...]
ํ์ฌ์ ์ธ๋ฑ์ค์ ๊ณผ๊ฑฐ์ ์ธ๋ฑ์ค๊ฐ ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ์ผ์๋ฅผ ์
๋ ฅํ๋ฉด ์
๋ ฅํ ์ผ์์ ์กด์ฌํ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ ํฉ๋๋ค.
tickers = stock.get_index_ticker_list("19800104")
์ฝ์ค๋ฅ ์ธ๋ฑ์ค๋ฅผ ์กฐํํ ๋๋ market
์ต์
์ ์ถ๊ฐํฉ๋๋ค.
tickers = stock.get_index_ticker_list(market='KOSDAQ')
get_index_name
ํจ์๋ฅผ ์ฌ์ฉํด์ ํฐ์ปค์ ์ด๋ฆ์ ์ป์ ์ ์์ต๋๋ค.
for ticker in stock.get_index_ticker_list():
print(ticker, stock.get_index_ticker_name(ticker))
1001 ์ฝ์คํผ
1028 ์ฝ์คํผ 200
1034 ์ฝ์คํผ 100
1035 ์ฝ์คํผ 50
1167 ์ฝ์คํผ 200 ์ค์ํ์ฃผ
1182 ์ฝ์คํผ 200 ์ด๋ํ์ ์ธ ์ง์
1244 ์ฝ์คํผ200์ ์ธ ์ฝ์คํผ์ง์
1150 ์ฝ์คํผ 200 ์ปค๋ฎค๋์ผ์ด์
์๋น์ค
1151 ์ฝ์คํผ 200 ๊ฑด์ค
1152 ์ฝ์คํผ 200 ์ค๊ณต์
1153 ์ฝ์คํผ 200 ์ฒ ๊ฐ/์์ฌ
1154 ์ฝ์คํผ 200 ์๋์ง/ํํ
1155 ์ฝ์คํผ 200 ์ ๋ณด๊ธฐ์
1156 ์ฝ์คํผ 200 ๊ธ์ต
1157 ์ฝ์คํผ 200 ์ํ์๋น์ฌ
1158 ์ฝ์คํผ 200 ๊ฒฝ๊ธฐ์๋น์ฌ
1159 ์ฝ์คํผ 200 ์ฐ์
์ฌ
1160 ์ฝ์คํผ 200 ํฌ์ค์ผ์ด
1005 ์์๋ฃํ
1006 ์ฌ์ ์๋ณต
1007 ์ข
์ด๋ชฉ์ฌ
1008 ํํ
1009 ์์ฝํ
1010 ๋น๊ธ์๊ด๋ฌผ
1011 ์ฒ ๊ฐ๊ธ์
1012 ๊ธฐ๊ณ
1013 ์ ๊ธฐ์ ์
1014 ์๋ฃ์ ๋ฐ
1015 ์ด์์ฅ๋น
1016 ์ ํต์
1017 ์ ๊ธฐ๊ฐ์ค์
1018 ๊ฑด์ค์
1019 ์ด์์ฐฝ๊ณ ์
1020 ํต์ ์
1021 ๊ธ์ต์
1022 ์ํ
1024 ์ฆ๊ถ
1025 ๋ณดํ
1026 ์๋น์ค์
1027 ์ ์กฐ์
1002 ์ฝ์คํผ ๋ํ์ฃผ
1003 ์ฝ์คํผ ์คํ์ฃผ
1004 ์ฝ์คํผ ์ํ์ฃผ
1224 ์ฝ์คํผ 200 ๋น์ค์ํ 30%
1227 ์ฝ์คํผ 200 ๋น์ค์ํ 25%
1232 ์ฝ์คํผ 200 ๋น์ค์ํ 20%
2.1.2.3 ์ธ๋ฑ์ค ๊ตฌ์ฑ์ข
๋ชฉ ์กฐํ
์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ์๋ ์ข
๋ชฉ์ ํฐ์ปค๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค. 1005
๋ ์ฌ์ ์๋ณต ์ธ๋ฑ์ค๋ก, ์ด๋ 37๊ฐ์ ์ข
๋ชฉ์ผ๋ก ๊ตฌ์ฑ๋ผ ์์์ ์ ์ ์์ต๋๋ค.
pdf = stock.get_index_portfolio_deposit_file("1005")
print(len(pdf), pdf)
37 ['011150', '097950', '023150', '005610', '002140', ...]
2.1.2.3 ์ธ๋ฑ์ค OHLCV ์กฐํ
get_index_ohlcv() ํจ์๋ ์
๋ ฅ๋ ๊ธฐ๊ฐ ๋์์ ์ธ๋ฑ์ค OHLCV๋ฅผ ์กฐํํฉ๋๋ค. ๋ค์์ 20190101-20190228 ๋์์ "์ฝ์คํผ 200" ์ธ๋ฑ์ค์ OHLCV๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_index_ohlcv("20190101", "20190228", "1028")
print(df.head(2))
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋
20190102 263.350006 263.769989 257.470001 258.230011 69950000
20190103 258.190002 258.700012 255.350006 255.770004 90521000
get_index_ohlcv() ํจ์์ frequency ํ๋ผ๋ฏธํฐ(d/m/y)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
d๋ ์ผ์, m์ ์, y๋ ์ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ค์์ 20190101๋ถํฐ 20190228๊น์ง์ "์ฝ์คํผ 200"์ ์๋ณ OHLCV๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_index_ohlcv("20190101", "20190228", "1028", "m")
print(df.head(2))
์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋
201901 263.350006 288.869995 254.550003 285.890015 2157758000
201902 287.070007 290.320007 280.019989 283.799988 1498968000
2.1.2.4 ์ธ๋ฑ์ค ์์ฅ ์ ๋ณด ์กฐํ
get_index_listing_date() ํจ์๋ ์ธ๋ฑ์ค์ ์์ฅ์ผ ๋ฐ ๊ธฐ์ค๋น์ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_index_listing_date("KOSPI")
print(df.head())
๊ธฐ์ค์์ ๋ฐํ์์ ๊ธฐ์ค์ง์ ์ข
๋ชฉ์
์ง์๋ช
์ฝ์คํผ 1980.01.04 1983.01.04 100.0 796
์ฝ์คํผ 200 1990.01.03 1994.06.15 100.0 201
์ฝ์คํผ 100 2000.01.04 2000.03.02 1000.0 100
์ฝ์คํผ 50 2000.01.04 2000.03.02 1000.0 50
์ฝ์คํผ 200 ์ค์ํ์ฃผ 2010.01.04 2015.07.13 1000.0 101
ํ๋ผ๋ฏธํฐ์๋ KRX
/KOSPI
/KOSDAQ
/ํ
๋ง๋ฅผ ์
๋ ฅํ ์ ์์ต๋๋ค.
2.1.2.5 ์ธ๋ฑ์ค ๋ฑ๋ฝ๋ฅ ์กฐํ
get_index_price_change
ํจ์๋ ์ง์์ ๋ฑ๋ฝ๋ฅ /๊ฑฐ๋๋/๊ฑฐ๋๋๊ธ์ ๋ฐํํ๋ฉฐ, KRX / KOSPI / KOSDAQ ์ธ ๊ฐ์ ์ง์๋ฅผ
์ง์ํฉ๋๋ค.
์ฝ์คํผ, ์ฝ์ค๋ฅ ์ง์์ ํต๊ณ(๊ฑฐ๋๋, ๊ฑฐ๋๋๊ธ ๋ฑ)๋ ์ธ๊ตญ์ฃผ ๋ฑ๊น์ง ํฌํจํ ์์ฅ ์ ์ฒด ํต๊ณ์
๋๋ค.
df = stock.get_index_price_change("20200520", "20200527", "KOSDAQ")
print(df.head())
์๊ฐ ์ข
๊ฐ ๋ฑ๋ฝ๋ฅ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ
์ฝ์ค๋ฅ์ง์ 696.36 724.59 4.05 10488319776 62986196230829
์ฝ์ค๋ฅ 150 1065.42 1102.57 3.49 729479528 18619100922088
์ ์กฐ 2266.76 2371.51 4.62 4855249693 27936884984652
์์๋ฃยท๋ด๋ฐฐ 9253.67 9477.11 2.41 156868081 1171238893745
์ฌ์ ยท์๋ฅ 141.03 147.24 4.40 107124162 449845448978
2.1.2.6 ์ธ๋ฑ์ค fundamental ์กฐํ
get_index_fundamental
ํจ์๋ ํน์ ์ข
๋ชฉ์ ์ง์ ๋ ๊ธฐ๊ฐ ๋์ PER/PBR/๋ฐฐ๋น์์ต๋ฅ ์ ์กฐํํฉ๋๋ค. ๋ค์ ์ฝ๋๋ 20210101
์์ 20210130
๊น์ง์ ์ฝ์คํผ ์ง์์ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_index_fundamental("20210101", "20210130", "1001")
print(df.head())
์ข
๊ฐ ๋ฑ๋ฝ๋ฅ PER ์ ํPER PBR ๋ฐฐ๋น์์ต๋ฅ
2021-01-04 2944.45 2.47 30.200001 0.0 1.19 1.44
2021-01-05 2990.57 1.57 30.680000 0.0 1.20 1.42
2021-01-06 2968.21 -0.75 30.450001 0.0 1.20 1.43
2021-01-07 3031.68 2.14 31.110001 0.0 1.22 1.40
2021-01-08 3152.18 3.97 32.349998 0.0 1.27 1.35
ํ๋์ ๋ ์ง๋ฅผ ์
๋ ฅํ๋ฉด ํน์ ์ผ์ ๋ชจ๋ ์ง์์ PER/PBR/๋ฐฐ๋น์์ต๋ฅ ์ ์กฐํํฉ๋๋ค.
df = stock.get_index_fundamental("20210122")
print(df.head())
์ข
๊ฐ ๋ฑ๋ฝ๋ฅ PER ์ ํPER PBR ๋ฐฐ๋น์์ต๋ฅ
์ง์๋ช
์ฝ์คํผ 3140.63 -0.64 32.259998 0.0 1.27 1.35
์ฝ์คํผ 200 427.13 -0.73 29.760000 0.0 1.36 1.39
์ฝ์คํผ 100 3266.10 -0.78 28.910000 0.0 1.36 1.41
์ฝ์คํผ 50 3008.02 -0.79 28.530001 0.0 1.40 1.38
์ฝ์คํผ 200 ์ค์ํ์ฃผ 1264.5 0.40 62.820000 0.0 1.19 0.98
2.1.3 ๊ณต๋งค๋ API
KRX๋ (T+2)์ผ ์ดํ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ต๊ทผ ์์
์ผ์ด 20190405๋ผ๋ฉด 20190403์ผ์ ํฌํจํ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
2.1.3.1 ์ข
๋ชฉ๋ณ ๊ณต๋งค๋ ํํฉ
get_shorting_status_by_date() ๋ฉ์๋๋ ์์์ผ/์ข
๋ฃ์ผ/ํฐ์ปค ์ธ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ๊ณต๋งค๋ ํํฉ์ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_shorting_status_by_date("20181210", "20181212", "005930")
print(df)
๋น์ผ ์๊ณ ์ (์ ์ผ ์๊ณ + ๋น์ผ ๊ณต๋งค๋ - ๋น์ผ ์ํ) ์๋์ ์ ํํ๊ฒ ์ผ์นํ์ง ์์ ์ ์์ต๋๋ค.
์ด๋ ํฌ์์๊ฐ ๋ณด์ ํ ๊ณต๋งค๋์๊ณ ๋น์จ์ด ์์ฅ์ฃผ์์์ 0.01% ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ ๋ณด๊ณ ์ ์๋ฌด๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ง๊ณ๋์ง ์์ ์ ์์ต๋๋ค.
๊ณต๋งค๋ ์๊ณ ๊ณต๋งค๋๊ธ์ก ์๊ณ ๊ธ์ก
20190401 154884 3403293 6981626250 153318349650
20190402 186528 3435390 8529586850 157169092500
20190403 211750 3380137 9837895500 157514384200
2.1.3.2 ์ข
๋ชฉ๋ณ ๊ณต๋งค๋ ๊ฑฐ๋ ์ ๋ณด
get_shorting_volume_by_ticker
ํจ์๋ ์
๋ ฅ๋ฐ์ ์ผ์์ ๊ณต๋งค๋ ๊ฑฐ๋๋ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
df = stock.get_shorting_volume_by_ticker("20210125")
print(df.head(3))
๊ณต๋งค๋ ๋งค์ ๋น์ค
ํฐ์ปค
095570 32 180458 0.020004
006840 79 386257 0.020004
027410 18502 8453962 0.219971
์ฝ์คํผ(KOSPI
)/์ฝ์ค๋ฅ(KOSDAQ
)/์ฝ๋ฅ์ค(KONEX
)์ ๊ณต๋งค๋ ๊ฑฐ๋๋์ ์กฐํํ ์ ์์ต๋๋ค. ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์ฝ์คํผ๊ฐ ์ ํ๋ฉ๋๋ค.
df = stock.get_shorting_volume_by_ticker("20210125", "KOSDAQ")
print(df.head())
๊ณต๋งค๋ ๋งค์ ๋น์ค
ํฐ์ปค
060310 0 328833 0.000000
054620 0 106187 0.000000
265520 0 285869 0.000000
์กฐํํ๋ ค๋ ์ฆ๊ถ์ ์ธ๋ถ ์ข
๋ฅ๋ฅผ ๋ฆฌ์คํธ๋ก ์ง์ ํ ์ ์์ต๋๋ค. ๋ฆฌ์คํธ์ ์ฌ์ฉ๋ ์ ์๋ ์์ธ ๊ตฌ๋ถํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ์
, ETF
, ETN
, ELW
, ์ ์ฃผ์ธ์๊ถ์ฆ์๋ฐ์ฆ๊ถ
, ์์ต์ฆ๊ถ
df = stock.get_shorting_volume_by_ticker("20210125", include=["์ฃผ์", "ELW])
print(df.head())
get_shorting_value_by_ticker
ํจ์๋ ์
๋ ฅ๋ฐ์ ์ผ์์ ๊ณต๋งค๋ ๊ฑฐ๋๋๊ธ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ get_shorting_volume_by_ticker
ํจ์์ ๋์ผํฉ๋๋ค.
2.1.3.3 ์ผ์๋ณ ๊ณต๋งค๋ ๊ฑฐ๋ ํํฉ
get_shorting_volume_by_date() ํจ์๋ ์
๋ ฅ๋ฐ์ ์ข
๋ชฉ์ ๋ํด ์ฃผ์ด์ง ๊ธฐ๊ฐ ๋์์ ๊ณต๋งค๋ ๊ฑฐ๋ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
df = df = stock.get_shorting_volume_by_date("20210104", "20210108", "005930")
print(df.head(3))
๊ณต๋งค๋ ๋งค์ ๋น์ค
๋ ์ง
2021-01-04 9279 38655276 0.020004
2021-01-05 169 35335669 0.000000
2021-01-06 967 42089013 0.000000
2.1.3.4 ํฌ์์๋ณ ๊ณต๋งค๋ ๊ฑฐ๋ ํํฉ (๊ฑฐ๋๋)
get_shorting_investor_volume_by_date
ํจ์๋ ์์์ผ/์ข
๋ฃ์ผ ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ํด๋น ๊ธฐ๊ฐ๋์ ์ฝ์คํผ ์ข
๋ชฉ์ ํฌ์์๋ณ ๊ณต๋งค๋ ๊ฑฐ๋๋์ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_shorting_investor_volume_by_date("20190401", "20190405", "KOSPI")
print(df.head()) print(df)
๊ธฐ๊ด ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ ํฉ๊ณ
20190401 3402249 133996 5702788 200 9239233
20190402 2883434 139801 5580395 0 8603630
20190403 3589910 127075 6375248 0 10092233
20190404 3200221 119193 5604505 1405 8925324
20190405 3163018 134396 6882981 1754 10182149
market ์ต์
์ ์ฌ์ฉํ๋ฉด ์ฝ์ค๋ฅ์ ๊ณต๋งค๋ ๊ฑฐ๋๋์ ์กฐํํ ์ ์์ต๋๋ค. ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์ฝ์คํผ๊ฐ ์ ํ๋ฉ๋๋ค.
df = stock.get_shorting_investor_volume_by_date("20190401", "20190405", "KOSDAQ")
print(df.head())
๊ธฐ๊ด ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ ํฉ๊ณ
20190401 913528 398779 5283672 0 6595979
20190402 841544 267618 7295980 249 8405391
20190403 874047 208539 6526794 0 7609380
20190404 1136765 192503 6566776 0 7896044
20190405 1051807 232488 6618597 0 7902892
2.1.3.5 ํฌ์์๋ณ ๊ณต๋งค๋ ๊ฑฐ๋ ํํฉ (๊ฑฐ๋๋๊ธ)
get_shorting_investor_value_by_date
ํจ์๋ ์์์ผ/์ข
๋ฃ์ผ ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ํด๋น ๊ธฐ๊ฐ๋์ ์ฝ์คํผ ์ข
๋ชฉ์ ํฌ์์๋ณ ๊ณต๋งค๋ ๊ฑฐ๋๋๊ธ์ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_shorting_investor_value_by_date("20190401", "20190405", "KOSPI")
print(df.head())
๊ธฐ๊ด ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ ํฉ๊ณ
20190401 105536073368 2936388505 168285844893 30302100 276788608866
20190402 96384728941 2951117600 160734480125 0 260070326666
20190403 112539971387 2169492030 180355524574 0 295064987991
20190404 92635400253 2294543280 175873863029 10918080 270814724642
20190405 90581343837 1221266912 150558110496 2218810 242362940055
์ฝ์ค๋ฅ์ ๊ณต๋งค๋ ๊ฑฐ๋๋ ๋ํ ์กฐํํ ์ ์์ต๋๋ค.
df = stock.get_shorting_investor_value_by_date("20190401", "20190405", "KOSDAQ")
print(df.head())
๊ธฐ๊ด ๊ฐ์ธ ์ธ๊ตญ์ธ ๊ธฐํ ํฉ๊ณ
20190401 20345961749 2766677625 69741628204 0 92854267578
20190402 18131296688 1614215195 65974380594 7009350 85726901827
20190403 12288386154 2796139160 83568208742 0 98652734056
20190404 23535031919 2293798208 70410033688 0 96238863815
20190405 26473311289 2117625828 70100665837 0 98691602954
2.1.3.6 ์ข
๋ชฉ๋ณ ๊ณต๋งค๋ ์๊ณ ํํฉ
get_shorting_balance_by_date
๋ฉ์๋๋ ์์์ผ/์ข
๋ฃ์ผ ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ํด๋น ๊ธฐ๊ฐ๋์ ๊ณต๋งค๋ ์๊ณ ์ ๋ณด๋ฅผ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค.
df = stock.get_shorting_balance_by_date("20190401", "20190405", "005930")
print(df.head())
๊ณต๋งค๋์๊ณ ์์ฅ์ฃผ์์ ๊ณต๋งค๋๊ธ์ก ์๊ฐ์ด์ก ๋น์ค
๋ ์ง
20190401 3403293 5969782550 153318349650 268938703877500 0.06
20190402 3435390 5969782550 157169092500 273117551662500 0.06
20190403 3380137 5969782550 157514384200 278191866830000 0.06
์กฐํ ์๋๋ ์กฐํ ๊ธฐ๊ฐ์ ๋น๋กํด์ ์ฆ๊ฐํฉ๋๋ค.
2.1.3.7 ๊ณต๋งค๋ ๊ฑฐ๋๋น์ค ์์ 50 ์ข
๋ชฉ
get_shorting_trade_top50
๋ฉ์๋๋ ์กฐํ์ผ์๋ฅผ ์
๋ ฅ๋ฐ์ ํด๋น์ผ ์ฝ์คํผ ์ข
๋ชฉ์ ๊ฑฐ๋ ๋น์ค TOP 50์ DataFrame์ผ๋ก ๋ฐํํฉ๋๋ค. ๊ฑฐ๋ ๋น์ค์ ๊ฑฐ๋๋๊ธ/๊ฑฐ๋๋๊ธ
๋ก ๊ณ์ฐํฉ๋๋ค.
df = stock.get_shorting_volume_top50("20210129")
print(df.head())
์์ ๊ณต๋งค๋๊ฑฐ๋๋๊ธ ์ด๊ฑฐ๋๋๊ธ ๊ณต๋งค๋๋น์ค ์ง์ 40์ผ๊ฑฐ๋๋๊ธํ๊ท ๊ณต๋งค๋๊ฑฐ๋๋๊ธ์ฆ๊ฐ์จ ์ง์ 40์ผ๊ณต๋งค๋ํ๊ท ๋น์ค ๊ณต๋งค๋๋น์ค์ฆ๊ฐ์จ ์ฃผ๊ฐ์์ต๋ฅ
ํฐ์ปค
003545 1 38510030 915824030 4.21 5814411 6.62 0.51 8.33 -1.25
267290 2 13265200 329805000 4.02 2755259 4.82 0.66 6.14 -2.46
015890 3 15865860 428852660 3.70 8316412 1.91 1.30 2.85 -4.46
005945 4 25401240 908915950 2.79 4610634 5.51 0.44 6.40 -0.35
227840 5 13784400 546597900 2.52 3084294 4.47 0.51 4.91 -2.37
์ฝ์ค๋ฅ์ ๊ณต๋งค๋ ๊ฑฐ๋๋ ๋ํ ์กฐํํ ์ ์์ต๋๋ค.
df = stock.get_shorting_volume_top50("20210129", "KOSDAQ")
print(df.head())
์์ ๊ณต๋งค๋๊ฑฐ๋๋๊ธ ์ด๊ฑฐ๋๋๊ธ ๊ณต๋งค๋๋น์ค ์ง์ 40์ผ๊ฑฐ๋๋๊ธํ๊ท ๊ณต๋งค๋๊ฑฐ๋๋๊ธ์ฆ๊ฐ์จ ์ง์ 40์ผ๊ณต๋งค๋ํ๊ท ๋น์ค ๊ณต๋งค๋๋น์ค์ฆ๊ฐ์จ ์ฃผ๊ฐ์์ต๋ฅ
ํฐ์ปค
003800 1 2460150 140242350 1.75 1881099 1.31 2.33 0.75 1.17
018120 2 3141500 230696500 1.36 2671128 1.18 1.99 0.68 0.00
092130 3 2217850 190657900 1.16 3134340 0.71 0.76 1.52 -1.10
260930 4 1197350 126576300 0.95 641443 1.87 0.27 3.56 0.97
2.1.3.8 ์ข
๋ชฉ๋ณ ๊ณต๋งค๋ ์๊ณ TOP 50
get_shorting_balance_top50
๋ฉ์๋๋ ์กฐํ ์ผ์๋ฅผ ์
๋ ฅ๋ฐ์ ๊ณต๋งค๋ ๋น์ค์ด ๋์ ์์ 50๊ฐ ์ข
๋ชฉ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค. ๊ณต๋งค๋น์ค์ ๊ณต๋งค๋ ์๊ณ /์์ฅ์ฃผ์์
๋ก ๊ณ์ฐํฉ๋๋ค.
df = stock.get_shorting_balance_top50("20210127")
print(df.head())
์์ ๊ณต๋งค๋์๊ณ ์์ฅ์ฃผ์์ ๊ณต๋งค๋๊ธ์ก ์๊ฐ์ด์ก ๋น์ค
ํฐ์ปค
032350 1 4693027 69275662 74853780650 1.104947e+12 6.769531
042670 2 10846251 215931625 92843908560 1.848375e+12 5.019531
068270 3 6523965 134997805 2146384485000 4.441428e+13 4.828125
008770 4 1269261 39248121 106237145700 3.285068e+12 3.230469
011690 5 1604890 58494201 1957965800 7.136293e+10 2.740234
์ฝ์ค๋ฅ ๋ํ ๊ฑฐ๋๋์ ์กฐํํ ์ ์์ต๋๋ค.
df = stock.get_shorting_balance_top50("20210129", market="KOSDAQ")
print(df.head())
์์ ๊ณต๋งค๋์๊ณ ์์ฅ์ฃผ์์ ๊ณต๋งค๋๊ธ์ก ์๊ฐ์ด์ก ๋น์ค
ํฐ์ปค
215600 1 6497785 71617125 78623198500 8.665672e+11 9.070312
032500 2 2846196 39820883 217733994000 3.046298e+12 7.148438
028300 3 3483185 53013031 313834968500 4.776474e+12 6.570312
263750 4 443142 13189850 139944243600 4.165355e+12 3.359375
078130 5 4034831 126348384 18297958585 5.729899e+11 3.189453
2.2 ETX API
2.2.1 ETF
2.2.1.1 ETF ํฐ์ปค
get_etf_ticker_list
ํจ์๋ ์
๋ ฅ๋ ๋ ์ง์ ์กด์ฌํ๋ ETF ํฐ์ปค๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
tickers = stock.get_etf_ticker_list("20200717")
print(tickers[:10])
['346000', '342140', '342500', '342600', '342610', .... ]
20021014์๋ KODEX 200(069500)
๊ณผ KOSEF 200(069660)
๋ ๊ฐ์ ์ข
๋ชฉ์ด ์์ฅ๋ผ ์์์ต๋๋ค.
get_etf_ticker_list("20021014")
print(tickers)
['069500', '069660']
2.2.1.1 ETF ์ด๋ฆ
get_etf_ticker_name
ํจ์๋ ์
๋ ฅ๋ ํฐ์ปค์ ์ข
๋ชฉ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค.
tickers = stock.get_etf_ticker_list("20021014")
for ticker in tickers:
print(stock.get_etf_ticker_name(ticker))
KODEX 200
KOSEF 200
2.2.1.1 ETF OHLCV
get_etf_ohlcv_by_date
ํจ์๋ ETF์ OHLCV๋ฅผ ์ผ์๋ณ๋ก ์ถ๋ ฅํฉ๋๋ค. ๋ค์์ "๋ง์ดํฐ 200์ปค๋ฒ๋์ฝATM๋ ๋ฒ๋ฆฌ์ง(292340)"์ OHLCV๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_etf_ohlcv_by_date("20210104", "20210108", "292340")
print(df.head())
NAV ์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๊ธฐ์ด์ง์
๋ ์ง
2021-01-04 9737.23 9730 9730 9730 9730 81 788130 1303.29
2021-01-05 9756.27 9705 9990 9700 9770 6 58845 1306.59
2021-01-06 9796.98 0 0 0 9770 0 0 1306.76
2021-01-07 9723.65 9845 9855 9845 9855 2 19700 1301.65
2021-01-08 9771.73 9895 9900 9855 9885 6 59320 1306.73
get_etf_ohlcv_by_date() ํจ์์ frequency ํ๋ผ๋ฏธํฐ(d/m/y)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
d๋ ์ผ์, m์ ์, y๋ ์ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ค์์ 20200101๋ถํฐ 20200531๊น์ง์ ์๋ณ OHLCV๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_etf_ohlcv_by_date("20200101", "20200531", "292340", 'm')
print(df.head())
NAV ์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๊ธฐ์ด์ง์
๋ ์ง
2020-01-31 8910.61 8900 9270 0 8795 36559 330991070 1231.00
2020-02-29 8633.13 0 9395 0 7555 72 658080 1213.88
2020-03-31 7720.09 7520 9965 0 6030 206070 1373727350 1149.86
2020-04-30 5590.35 6055 6975 0 6975 8743 57352845 997.80
2020-05-31 6845.59 6835 7450 0 7415 1788 13057270 1107.92
2.2.1.2 ์ ์ข
๋ชฉ์ OHLCV ์กฐํ
get_etf_ohlcv_by_ticker
ํจ์๋ ์
๋ ฅ๋ ์ผ์์ ์ ์ข
๋ชฉ์ OHLCV๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_etf_ohlcv_by_ticker("20210325")
print(df.head())
NAV ์๊ฐ ๊ณ ๊ฐ ์ ๊ฐ ์ข
๊ฐ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ ๊ธฐ์ด์ง์
ํฐ์ปค
152100 41887.33 41705 42145 41585 41835 59317 2479398465 408.53
295820 10969.41 10780 10945 10780 10915 69 750210 2364.03
253150 46182.13 45640 46700 45540 46145 1561 71730335 2043.75
253160 4344.07 4400 4400 4295 4340 58943 256679440 2043.75
278420 9145.45 9055 9150 9055 9105 1164 10598375 1234.03
ํด์ผ์ ์กฐํํ๋ฉด ๋น์ด์๋ DataFrame
์ด ๋ฐํ๋ฉ๋๋ค.
> get_etf_ohlcv_by_ticker("20210321")
Empty DataFrame
Columns: []
Index: []
2.2.1.3 ์ ์ข
๋ชฉ์ ๋ฑ๋ฝ๋ฅ ์กฐํ
get_etf_price_change_by_ticker
ํจ์๋ ํน์ ๊ธฐ๊ฐ ๋์์ ์ ์ข
๋ชฉ ๋ฑ๋ฝ๋ฅ ์ ๋ฐํํฉ๋๋ค.
df = get_etf_price_change_by_ticker("20210325", "20210402")
print(df.head())
์๊ฐ ์ข
๊ฐ ๋ณ๋ํญ ๋ฑ๋ฝ๋ฅ ๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ
ํฐ์ปค
152100 41715 43405 1690 4.05 1002296 42802174550
295820 10855 11185 330 3.04 1244 13820930
253150 45770 49735 3965 8.66 13603 650641700
253160 4380 4015 -365 -8.33 488304 2040509925
278420 9095 9385 290 3.19 9114 84463155
2.2.1.4 PDF ์ ๋ณด
get_etf_portfolio_deposit_file
ํจ์๋ ETF๋ฅผ ๊ตฌ์ฑํ๋ ์ข
๋ชฉ/๋น์ค ์ ๋ณด๋ฅผ ์ป์ด์ต๋๋ค.
๋ค์์ ARIRANG 200(152100)์ PDF๋ฅผ ์กฐํํฉ๋๋ค.
df = stock.get_etf_portfolio_deposit_file("152100")
print(df.head())
๊ณ์ฝ์ ๊ธ์ก ๋น์ค
ํฐ์ปค
005930 8140.0 667480000 31.77
000660 968.0 118580000 5.69
035420 218.0 74774000 3.57
051910 79.0 72443000 3.53
068270 184.0 59616000 3.21
๋ ์ง๋ฅผ ์
๋ ฅํด์ ํน์ ์ผ์ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
df = stock.get_etf_portfolio_deposit_file("152100", "20161206")
print(df.head())
2.2.1.5 ๊ดด๋ฆฌ์จ ์ถ์ด
get_etf_price_deviation
ํจ์๋ ETF์ ์ข
๊ฐ/์์์ฐ๊ฐ์น/๊ดด๋ฆฌ์จ ์ ๋ณด๋ฅผ ์ป์ด์ต๋๋ค.
๋ค์์ ARIRANG 200๋์ผ๊ฐ์ค(295820) ์ข
๋ชฉ์ ๊ดด๋ฆฌ์จ์ ์ถ๋ ฅํฉ๋๋ค.
df = stock.get_etf_price_deviation("20200101", "20200401", "295820")
print(df.head())
์ข
๊ฐ NAV ๊ดด๋ฆฌ์จ
๋ ์ง
2020-01-02 8285 8302.580078 -0.21
2020-01-03 8290 8297.889648 -0.10
2020-01-06 8150 8145.950195 0.05
2020-01-07 8220 8226.049805 -0.07
2020-01-08 7980 7998.839844 -0.24
2.2.1.6 ์ถ์ ์ค์ฐจ์จ ์ถ์ด
get_etf_tracking_error
ํจ์๋ ETF์ ์์์ฐ๊ฐ์น/๊ธฐ์ด์ง์/์ถ์ ์ค์ฐจ ์ ๋ณด๋ฅผ ์ป์ด์ต๋๋ค.
df = stock.get_etf_tracking_error("20210104", "20210108", "295820")
print(df.head())
NAV ์ง์ ์ถ์ ์ค์ฐจ์จ
๋ ์ง
2021-01-04 10267.39 2218.76 0.82
2021-01-05 10459.99 2261.10 0.81
2021-01-06 10431.90 2254.82 0.81
2021-01-07 10648.76 2302.73 0.82
2021-01-08 10797.72 2335.10 0.82
2.2.1.7 ETF ๊ฑฐ๋ ์ค์ ์กฐํ
get_etf_trading_volumne_and_value
ํจ์๋ ๊ฑฐ๋๋๊ณผ ๊ฑฐ๋๋๊ธ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค. ์์์ผ์์ ์ข
๋ฃ์ผ์๋ฅผ ์
๋ ฅํ๋ฉด ํฌ์์๋ณ ๊ฑฐ๋ ์ค์ ์ด ์กฐํ๋ฉ๋๋ค.
df = stock.get_etf_trading_volumne_and_value("20220415", "20220422")
print(df.head())
๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ
๋งค๋ ๋งค์ ์๋งค์ ๋งค๋ ๋งค์ ์๋งค์
๊ธ์ตํฌ์ 375220036 328066683 -47153353 3559580094684 3040951626908 -518628467776
๋ณดํ 15784738 15490448 -294290 309980189819 293227931019 -16752258800
ํฌ์ 14415013 15265023 850010 287167721259 253185404050 -33982317209
์ฌ๋ชจ 6795002 7546735 751733 58320840040 120956023820 62635183780
ํฐ์ปค๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ๋ณ์ข
๋ชฉ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ๋ค์ ์ฝ๋๋ KB FnGuide ์ธํํธ ETN
(580011) ์ข
๋ชฉ์ ๊ฑฐ๋ ์ค์ ์ ์กฐํํฉ๋๋ค.
df = get_etf_trading_volume_and_value("20220908", "20220916", "580011")
print(df.head())
๊ฑฐ๋๋ ๊ฑฐ๋๋๊ธ
๋งค๋ ๋งค์ ์๋งค์ ๋งค๋ ๋งค์ ์๋งค์
INVST_NM
๊ธ์ตํฌ์ 27 25 -2 266785 243320 -23465
๋ณดํ 0 0 0 0 0 0
ํฌ์ 0 0 0 0 0 0
์ฌ๋ชจ 0 0 0 0 0 0
์ํ 0 0 0 0 0 0
๊ธฐํ๊ธ์ต 0 0 0 0 0 0
์ฐ๊ธฐ๊ธ ๋ฑ 0 0 0 0 0 0
๊ธฐ๊ดํฉ๊ณ 27 25 -2 266785 243320 -23465
๊ธฐํ๋ฒ์ธ 0 0 0 0 0 0
๊ฐ์ธ 25 27 2 243320 266785 23465
์ธ๊ตญ์ธ 0 0 0 0 0 0
๊ธฐํ์ธ๊ตญ์ธ 0 0 0 0 0 0
์ ์ฒด 52 52 0 510105 510105 0
์ถ๊ฐ ์ ๋ณด๋ฅผ ์
๋ ฅํ๋ฉด ์ผ์๋ณ๋ก ์ธ๋ถ ๋ด์ญ์ ์กฐํํฉ๋๋ค.
query_type1
์ ๊ฑฐ๋๋๊ธ
๊ณผ ๊ฑฐ๋๋
์ค ํ๋๋ฅผ ์
๋ ฅํฉ๋๋ค.query_type2
๋ ์๋งค์
, ๋งค์
, ๋งค๋
์ค ํ๋๋ฅผ ์
๋ ฅํฉ๋๋ค.
df = get_etf_trading_volume_and_value("20220415", "20220422", "๊ฑฐ๋๋๊ธ", "์๋งค์")
print(df.head())
๊ธฐ๊ด ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธ ์ ์ฒด
๋ ์ง
2022-04-15 25346770535 -138921500 17104310255 -42312159290 0
2022-04-18 -168362290065 -871791310 88115812520 81118268855 0
2022-04-19 -36298873785 7555666910 -1968998025 30712204900 0
2022-04-20 -235935697655 8965445880 19247888605 207722363170 0
2022-04-21 -33385835805 2835764290 35920390975 -5370319460 0
ํฐ์ปค๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ๋ณ์ข
๋ชฉ์ ์ผ์๋ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
df = get_etf_trading_volume_and_value("20220908", "20220916", "580011", "๊ฑฐ๋๋๊ธ", "์๋งค์")
print(df.head())
๊ธฐ๊ด ๊ธฐํ๋ฒ์ธ ๊ฐ์ธ ์ธ๊ตญ์ธ ์ ์ฒด
๋ ์ง
2022-09-08 -3570 0 3570 0 0
2022-09-13 -10205 0 10205 0 0
2022-09-14 -65 0 65 0 0
2022-09-15 -65 0 65 0 0
2022-09-16 -9560 0 9560 0 0
2.2.2 ETN
2.2.2.1 ETN ํฐ์ปค
get_etn_ticker_list
ํจ์๋ ์
๋ ฅ๋ ๋ ์ง์ ์กด์ฌํ๋ ETN ํฐ์ปค๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
tickers = stock.get_etn_ticker_list("20141215")
print(tickers)
['550001', '550002', '500001', '500002']
2.2.2.1 ETF ์ด๋ฆ
get_etn_ticker_name
ํจ์๋ ์
๋ ฅ๋ ํฐ์ปค์ ์ข
๋ชฉ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค.
tickers = stock.get_etn_ticker_list("20141215")
for ticker in tickers:
print(stock.get_etn_ticker_name(ticker))
QV Big Vol ETN
QV WISE ๋ฐฐ๋น ETN
์ ํ K200 USD ์ ๋ฌผ ๋ฐ์ด์
ETN
์ ํ USD K200 ์ ๋ฌผ ๋ฐ์ด์
ETN
2.2.3 ELW
2.2.3.1 ELW ํฐ์ปค
get_elw_ticker_list
ํจ์๋ ์
๋ ฅ๋ ๋ ์ง์ ์กด์ฌํ๋ ELW ํฐ์ปค๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
tickers = stock.get_elw_ticker_list("20200306")
print(tickers)
['58F194', '58F195']
2.2.3.1 ELW ์ด๋ฆ
get_etn_ticker_name
ํจ์๋ ์
๋ ฅ๋ ํฐ์ปค์ ์ข
๋ชฉ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค.
tickers = stock.get_elw_ticker_list("20200306")
for ticker in tickers:
print(stock.get_elw_ticker_name(ticker))
KBF194SKํ์ด๋์ฝ
KBF195์ผ์ฑ์ ์์ฝ
2.3 ์ฑ๊ถ API
2.3.1 ์ฑ๊ถ ์์ต๋ฅ
2.3.1.1 ์ฅ์ธ ์ฑ๊ถ์์ต๋ฅ - ์ ์ข
๋ชฉ
KRX๊ฐ ์ ๊ณตํ๋ 11 ์ข
๋ฅ์ ์ฅ์ธ ์ฑ๊ถ์์ต๋ฅ ์ ์ถ๋ ฅํฉ๋๋ค.
df = bond.get_otc_treasury_yields("20190208")
print(df)
์์ต๋ฅ ๋ฑ๋ฝํญ
์ฅ์ธ ์ผ์๋ณ ์ฑ๊ถ์์ต๋ฅ
๊ตญ๊ณ ์ฑ 1๋
1.743 -0.008
๊ตญ๊ณ ์ฑ 3๋
1.786 -0.015
๊ตญ๊ณ ์ฑ 5๋
1.853 -0.023
๊ตญ๊ณ ์ฑ 10๋
1.965 -0.030
๊ตญ๊ณ ์ฑ 20๋
2.039 -0.022
๊ตญ๊ณ ์ฑ 30๋
2.034 -0.021
๊ตญ๋ฏผ์ฃผํ 1์ข
5๋
1.935 -0.023
ํ์ฌ์ฑ AA-(๋ฌด๋ณด์ฆ 3๋
) 2.234 -0.015
ํ์ฌ์ฑ BBB-(๋ฌด๋ณด์ฆ 3๋
) 8.318 -0.014
CD(91์ผ) 1.860 0.000
2.3.1.1 ์ฅ์ธ ์ฑ๊ถ์์ต๋ฅ - ๊ฐ๋ณ์ข
๋ชฉ
ํน์ ์ฑ๊ถ์ ์ผ์๋ณ ์ฅ์ธ ์ฑ๊ถ์์ต๋ฅ ์ ์ถ๋ ฅํฉ๋๋ค.
df = bond.get_otc_treasury_yields("20220104", "20220204", "๊ตญ๊ณ ์ฑ2๋
")
print(df.head())
์์ต๋ฅ ๋๋น
์ผ์
2022-01-04 1.717 0.007
2022-01-05 1.791 0.074
2022-01-06 1.878 0.087
2022-01-07 1.895 0.017
2022-01-10 1.902 0.007
์ธ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์๋ ๋ค์์ ๊ฐ์ด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๊ตญ๊ณ ์ฑ1๋
, ๊ตญ๊ณ ์ฑ3๋
, ๊ตญ๊ณ ์ฑ5๋
, ๊ตญ๊ณ ์ฑ10๋
, ๊ตญ๊ณ ์ฑ20๋
, ๊ตญ๊ณ ์ฑ30๋
, ๊ตญ๋ฏผ์ฃผํ1์ข
5๋
, ํ์ฌ์ฑAA-
, ํ์ฌ์ฑBBB-
2.3.1.2 ์งํ ์์ต๋ฅ
2.4 ๊น์ด ์๋ ํต๊ณ API
2.4.1 ์ฐธ๊ณ ์ ๋ณด API
2.4.1.1 ๊ธฐ์
์ ๋ณด API
get_stock_major_changes
ํจ์๋ ๊ธฐ์
์ ์ฃผ์ ๋ณ๋์ฌํญ์ ์กฐํํฉ๋๋ค.
df = stock.get_stock_major_changes("005930")
df.head()
์ํธ๋ณ๊ฒฝ์ ์ํธ๋ณ๊ฒฝํ ์
์ข
๋ณ๊ฒฝ์ ์
์ข
๋ณ๊ฒฝํ ์ก๋ฉด๋ณ๊ฒฝ์ ์ก๋ฉด๋ณ๊ฒฝํ ๋ํ์ด์ฌ๋ณ๊ฒฝ์ ๋ํ์ด์ฌ๋ณ๊ฒฝํ
๋ ์ง
1975-06-11 - ์ผ์ฑ์ ์๊ณต์
์ฃผ - - 0 0 - -
1979-03-13 - - - - 1000 500 - -
1984-03-23 ์ผ์ฑ์ ์๊ณต์
์ฃผ ์ผ์ฑ์ ์์ฃผ - - 0 0 - -
1987-01-05 - - - - 500 5000 - -
2000-01-20 - - - - 0 0 ์ด๊ฑดํฌ์ค์ข
์ฉ์ด์ค์ฐ์ดํ์์ง๋์ ๋ฌธ๋ณ๋ ์ด๊ฑดํฌ์ค์ข
์ฉ์ด์ค์ฐ์ดํ์์ง๋์ ์ต๋์์ด์ํ์ํ๊ท
2001-03-21 - - - - 0 0 ์ด๊ฑดํฌ์ค์ข
์ฉ์ด์ค์ฐ์ดํ์์ง๋์ ์ต๋์์ด์ํ์ํ๊ท์ด๊ธฐํ์ด์์ํฉ์ฐฝ๊ทํ์ฉ์ธ ์ด๊ฑดํฌ์ค์ข
์ฉ์ดํ์์ด์ค์ฐ์ง