Skip to content

Commit

Permalink
거래실적 추이 API의 년/월/일별 통계 기능 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-yoo committed May 27, 2020
1 parent 79ee7ec commit 03d7da0
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 13 deletions.
32 changes: 26 additions & 6 deletions pykrx/stock/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,20 +139,39 @@ def get_market_fundamental_by_ticker(date, market="ALL"):
return df


def get_market_trading_volume_by_date(fromdate, todate, market="KOSPI"):
def get_market_trading_volume_by_date(fromdate, todate, market="KOSPI", freq='d'):
"""
:param fromdate: 조회 시작 일자 (YYYYMMDD)
:param todate : 조회 종료 일자 (YYYYMMDD)
:param market : KOSPI / KOSDAQ / KONEX
:param freq : d - 일 / m - 월 / y - 년
:return : 거래실적(거래량) 추이 DataFrame
"""
if isinstance(fromdate, datetime.datetime):
fromdate = _datetime2string(fromdate)
if isinstance(todate, datetime.datetime):
todate = _datetime2string(todate)
return krx.get_market_trading_volume_by_date(fromdate, todate, market)
df = krx.get_market_trading_volume_by_date(fromdate, todate, market)
how = {'전체': 'sum', '주권': 'sum', '투자회사': 'sum', '부동산투자회사': 'sum'}
return resample_ohlcv(df, freq, how)


def get_market_trading_value_by_date(fromdate, todate, market="KOSPI"):
def get_market_trading_value_by_date(fromdate, todate, market="KOSPI", freq='d'):
"""
:param fromdate: 조회 시작 일자 (YYYYMMDD)
:param todate : 조회 종료 일자 (YYYYMMDD)
:param market : KOSPI / KOSDAQ / KONEX
:param freq : d - 일 / m - 월 / y - 년
:return : 거래실적(거래대금) 추이 DataFrame
"""
if isinstance(fromdate, datetime.datetime):
fromdate = _datetime2string(fromdate)
if isinstance(todate, datetime.datetime):
todate = _datetime2string(todate)
return krx.get_market_trading_value_by_date(fromdate, todate, market)

df = krx.get_market_trading_value_by_date(fromdate, todate, market)
how = {'전체': 'sum', '주권': 'sum', '투자회사': 'sum', '부동산투자회사': 'sum'}
return resample_ohlcv(df, freq, how)


# -----------------------------------------------------------------------------
Expand Down Expand Up @@ -290,8 +309,9 @@ def get_etf_tracking_error(fromdate, todate, ticker):
# df = get_market_ticker_name("000660")
# df = get_market_fundamental_by_date("20180301", "20180320", '005930')
# df = get_market_fundamental_by_date("20180301", "20180320", '005930')
# df = get_market_trading_volume_by_date("20200519", "20200526", 'KOSPI')
# df = get_market_trading_value_by_date("20200519", "20200526", 'KOSPI')
# df = get_market_trading_volume_by_date("20190101", "20200430", 'KOSPI', 'm')
df = get_market_trading_value_by_date("20190101", "20200430", 'KOSPI', 'm')

# tickers = get_index_ticker_list("20190225", "KOSDAQ")
# print(tickers)
# df = get_shorting_status_by_date("20181210", "20181212", "005930")
Expand Down
2 changes: 1 addition & 1 deletion pykrx/version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@

__version__ = '0.1.20'
__version__ = '0.1.21'
4 changes: 2 additions & 2 deletions pykrx/website/krx/market/wrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ def get_market_trading_volume_by_date(fromdate, todate, market):
"""거래실적 추이(거래량)
:param fromdate: 조회 시작 일자 (YYYYMMDD)
:param todate : 조회 종료 일자 (YYYYMMDD)
:param market : KRX / KOSPI / KOSDQA
:param market : KOSPI / KOSDQA / KONEX
:return : 거래실적 추이 DataFrame
전체 주권 투자회사 부동산투자회사
2020-05-26 1017804023 1008972681 6436255 1438271
Expand All @@ -159,7 +159,7 @@ def get_market_trading_value_by_date(fromdate, todate, market):
"""거래실적 추이 (거래대금)
:param fromdate: 조회 시작 일자 (YYYYMMDD)
:param todate : 조회 종료 일자 (YYYYMMDD)
:param market : KRX / KOSPI / KOSDQA
:param market : KOSPI / KOSDQA / KONEX
:return : 거래실적 추이 DataFrame (단위:원)
전체 주권 투자회사 부동산투자회사
2020-05-26 12545313579 12524370281 3260524 7982490
Expand Down
75 changes: 71 additions & 4 deletions readme.MD
Original file line number Diff line number Diff line change
Expand Up @@ -170,21 +170,60 @@ print(df.head(2))
```



#### 2.1.1.6 일자별 거래실적 추이 (거래량)
일자별 시장의 거래량을 반환하며, KOSPI / KOSDAQ / KONEX 세 개의 시장을 지원합니다.
거래량/거래대금 합계 항목은 주식(외국주,DR포함), 증권투자회사, REITs, 선박투자회사, 사회간접자본투융자회사가 포함되어 있습니다.
거래량/거래대금 합계 항목은 주식(외국주,DR포함), 증권투자회사, REITs, 선박투자회사, 사회간접자본투융자회사가 포함되어 있습니다.
다음은 20200519부터 20200526까지의 코스피 시장의 거래량을 조회합니다.
```python
df = stock.get_market_trading_volume_by_date(("20200519", "20200526", "KOSPI")
df = stock.get_market_trading_volume_by_date("20200519", "20200526", "KOSPI")
print(df.head())
```

```text
전체 주권 투자회사 부동산투자회사
2020-05-26 1017804023 1008972681 6436255 1438271
2020-05-25 641458990 612379841 27522107 1021316
2020-05-22 847467288 830997456 13472156 2173679
2020-05-21 601199346 596327758 2325716 1780149
2020-05-20 699446970 694915934 2694839 750944
2020-05-19 773414630 768223852 2757578 1388145
```

get_market_trading_volume_by_date() 함수에 frequency 파라미터(d/m/y)를 추가할 수 있습니다.
d는 일자, m은 월, y는 연도를 의미합니다.
다음은 20190101부터 20200430까지의 코스피 시장의 월별 거래량을 조회합니다.
조회 기간이 길 수록 데이터를 획득하기 까지의 시간이 오래 걸립니다.
```python
df = stock.get_market_trading_volume_by_date("20190101", "20200430", 'KOSPI', 'm')
print(df.head(3))
```
```text
전체 주권 투자회사 부동산투자회사
2019-01-31 9455197243 9396785789 7324224 27940494
2019-02-28 6882554315 6765527306 76382819 18746555
2019-03-31 6458055507 6396184712 31053864 10150022
2019-04-30 9689748201 9633731691 24109062 13114697
2019-05-31 11242891618 11035793990 174971346 8322116
2019-06-30 11256687016 11165308011 63350329 7728551
2019-07-31 11908954060 11861793768 13732005 8719223
2019-08-31 10472131195 10413239092 35732754 8393235
2019-09-30 8620782748 8575378827 12374697 19586615
2019-10-31 8884391876 8691205576 79066415 95132499
2019-11-30 10737647300 10643145456 20988187 55223123
2019-12-31 10188752704 10084698309 15048729 67814102
2020-01-31 13096066333 12932674911 115038146 33171722
2020-02-29 13959766513 13859033739 55311245 24867257
2020-03-31 17091025314 16420762826 587444499 35827491
2020-04-30 21045120912 20563831992 433164334 21533267
```


#### 2.1.1.7 일자별 거래실적 추이 (거래대금)
일자별 시장의 거래 대금을 원 단위로 반환하며 KOSPI / KOSDAQ / KONEX 세 개의 시장을 지원한다.
거래량/거래대금 합계 항목은 주식(외국주,DR포함), 증권투자회사, REITs, 선박투자회사, 사회간접자본투융자회사가 포함되어 있습니다.
다음은 20200519 20200526까지의 코스피 시장의 거래대금을 조회합니다.
```python
df = stock.get_market_trading_value_by_date(("20200519", "20200526", "KOSPI")
df = stock.get_market_trading_value_by_date("20200519", "20200526", "KOSPI")
print(df.head())
```

Expand All @@ -198,6 +237,34 @@ print(df.head())
2020-05-19 11918300290000 11900636354000 1651565000 6939447000
```

get_market_trading_value_by_date() 함수에 frequency 파라미터(d/m/y)를 추가할 수 있습니다.
d는 일자, m은 월, y는 연도를 의미합니다.
다음은 20190101부터 20200430까지의 코스피 시장의 월별 거래량을 조회합니다.
조회 기간이 길 수록 데이터를 획득하기 까지의 시간이 오래 걸립니다.
```python
df = stock.get_market_trading_value_by_date("20200519", "20200430까지의", "KOSPI")
print(df.head())
```

```text
전체 주권 투자회사 부동산투자회사
2019-01-31 123269550914000 123049300164000 9690417000 47380235000
2019-02-28 95521375665000 95279515644000 57578557000 27728378000
2019-03-31 98439945172000 98204744252000 35131873000 28568929000
2019-04-30 118322428665000 118069714956000 39043819000 39676308000
2019-05-31 113039830438000 112541206401000 210877140000 28758383000
2019-06-30 87408487937000 87093560231000 85868670000 28547788000
2019-07-31 101867676824000 101564931052000 21235732000 34579757000
2019-08-31 97918870796000 97708798192000 46548490000 26389913000
2019-09-30 85892320216000 85709046159000 22752600000 46422436000
2019-10-31 92843022820000 92001076728000 80860416000 596662793000
2019-11-30 111659054432000 111127491686000 32485174000 342113891000
2019-12-31 101309950337000 100734572762000 30997368000 326555661000
2020-01-31 128693460706000 128290845358000 110348331000 150912924000
2020-02-29 151657715892000 151317792568000 55100734000 109493433000
2020-03-31 222127870179000 221149218369000 421917472000 157278138000
2020-04-30 216059109836000 215484656910000 268498158000 89320057000
```

### 2.1.2 인덱스 조회 API
코스피 인덱스를 조회합니다.
Expand Down

0 comments on commit 03d7da0

Please sign in to comment.