API 레퍼런스 개요¶
ecos-reader의 전체 API 문서입니다.
모듈 구조¶
ecos/
├── __init__.py # Public API
├── client.py # API 클라이언트
├── config.py # 설정 관리
├── parser.py # 응답 파서
├── exceptions.py # 예외 클래스
├── constants.py # 상수 정의
└── indicators/ # 지표 모듈
├── interest_rate.py
├── prices.py
├── growth.py
└── money.py
Public API¶
설정 함수¶
| 함수 | 설명 |
|---|---|
set_api_key(key) |
API 키 설정 |
load_env() |
.env 파일에서 환경 변수 로드 |
set_client(client) |
전역 기본 클라이언트 설정 |
setup_logging(level) |
로깅 설정 |
캐시 관리¶
| 함수 | 설명 |
|---|---|
enable_cache() |
캐시 활성화 |
disable_cache() |
캐시 비활성화 |
clear_cache() |
캐시 초기화 |
금리 지표¶
| 함수 | 설명 |
|---|---|
get_base_rate(start_date, end_date) |
한국은행 기준금리 |
get_treasury_yield(maturity, start_date, end_date) |
국고채 수익률 |
get_yield_spread(start_date, end_date) |
장단기 금리차 |
물가 지표¶
| 함수 | 설명 |
|---|---|
get_cpi(start_date, end_date) |
소비자물가지수 |
get_core_cpi(start_date, end_date) |
근원 CPI |
get_ppi(start_date, end_date) |
생산자물가지수 |
성장 지표¶
| 함수 | 설명 |
|---|---|
get_gdp(frequency, basis, start_date, end_date) |
GDP |
get_gdp_deflator(start_date, end_date) |
GDP 디플레이터 |
통화 지표¶
| 함수 | 설명 |
|---|---|
get_money_supply(indicator, start_date, end_date) |
통화량 |
get_bank_lending(sector, start_date, end_date) |
은행 대출 |
클래스¶
EcosClient¶
API 클라이언트 클래스
from ecos import EcosClient
client = EcosClient(
api_key=None, # API 키 (기본값: 환경 변수)
timeout=30, # 타임아웃 (초)
max_retries=3, # 최대 재시도 횟수
use_cache=True # 캐시 사용 여부
)
메서드¶
get_statistic_search(...)- 통계 데이터 조회get_statistic_table_list(...)- 통계 목록 조회
예외 클래스¶
EcosConfigError¶
설정 관련 오류 (예: API 키 미설정)
from ecos import EcosConfigError
try:
df = ecos.get_base_rate()
except EcosConfigError as e:
print(f"설정 오류: {e}")
EcosNetworkError¶
네트워크 연결 오류
from ecos import EcosNetworkError
try:
df = ecos.get_base_rate()
except EcosNetworkError as e:
print(f"네트워크 오류: {e}")
EcosAPIError¶
API 응답 오류
from ecos import EcosAPIError
try:
df = ecos.get_base_rate()
except EcosAPIError as e:
print(f"API 오류 [{e.code}]: {e.message}")
타입¶
모든 지표 함수는 pandas.DataFrame을 반환합니다.
DataFrame 스키마¶
기본 스키마¶
장단기 금리차 스키마¶
{
'date': datetime64[ns], # 날짜
'long_yield': float64, # 10년물 수익률
'short_yield': float64, # 3년물 수익률
'spread': float64, # 금리차
'unit': object # 단위
}
상수¶
통계 코드¶
ecos-reader 내부에서 사용하는 통계 코드는 ecos.constants 모듈에 정의되어 있습니다.
날짜 형식¶
| 주기 | 형식 | 예시 |
|---|---|---|
| 일간 | YYYYMMDD | 20240101 |
| 월간 | YYYYMM | 202401 |
| 분기 | YYYYQN | 2024Q1 |
| 연간 | YYYY | 2024 |