KRX data scraping


License
MIT
Install
pip install pykrx==1.0.45

Documentation

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 = 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    ์ด๊ฑดํฌ์œค์ข…์šฉ์ด์œค์šฐ์ดํ•™์ˆ˜์ง„๋Œ€์ œ์ตœ๋„์„์ด์ƒํ˜„์ž„ํ˜•๊ทœ์ด๊ธฐํƒœ์ด์ƒ์™„ํ™ฉ์ฐฝ๊ทœํ•œ์šฉ์™ธ           ์ด๊ฑดํฌ์œค์ข…์šฉ์ดํ•™์ˆ˜์ด์œค์šฐ์ง„