116 lines
3.1 KiB
Python
116 lines
3.1 KiB
Python
from typing import Dict, Optional, Any
|
|
|
|
from kiwoom_rest_api.core.sync_client import make_request
|
|
|
|
def get_investor_trend(
|
|
stock_code: str,
|
|
period: str = "D",
|
|
start_date: Optional[str] = None,
|
|
end_date: Optional[str] = None,
|
|
access_token: Optional[str] = None,
|
|
) -> Dict[str, Any]:
|
|
"""
|
|
투자자별 매매동향 (KA-STOCK-013)
|
|
|
|
Args:
|
|
stock_code: 종목코드 (6자리)
|
|
period: 기간분류코드 (D:일봉, W:주봉, M:월봉)
|
|
start_date: 조회 시작 날짜 (YYYYMMDD)
|
|
end_date: 조회 끝 날짜 (YYYYMMDD)
|
|
access_token: OAuth 액세스 토큰
|
|
|
|
Returns:
|
|
투자자별 매매동향 데이터
|
|
"""
|
|
endpoint = "/stock/investor"
|
|
params = {
|
|
"FID_COND_MRKT_DIV_CODE": "J",
|
|
"FID_INPUT_ISCD": stock_code,
|
|
"FID_PERIOD_DIV_CODE": period,
|
|
}
|
|
|
|
if start_date:
|
|
params["FID_INPUT_DATE_1"] = start_date
|
|
|
|
if end_date:
|
|
params["FID_INPUT_DATE_2"] = end_date
|
|
|
|
return make_request(
|
|
endpoint=endpoint,
|
|
params=params,
|
|
access_token=access_token,
|
|
)
|
|
|
|
def get_market_investor_trend(
|
|
market_code: str = "0",
|
|
period: str = "D",
|
|
start_date: Optional[str] = None,
|
|
end_date: Optional[str] = None,
|
|
access_token: Optional[str] = None,
|
|
) -> Dict[str, Any]:
|
|
"""
|
|
전체 시장별 투자자 매매동향 (KA-STOCK-014)
|
|
|
|
Args:
|
|
market_code: 시장분류코드 (0:전체, 1:코스피, 2:코스닥)
|
|
period: 기간분류코드 (D:일봉, W:주봉, M:월봉)
|
|
start_date: 조회 시작 날짜 (YYYYMMDD)
|
|
end_date: 조회 끝 날짜 (YYYYMMDD)
|
|
access_token: OAuth 액세스 토큰
|
|
|
|
Returns:
|
|
시장별 투자자 매매동향 데이터
|
|
"""
|
|
endpoint = "/stock/investor/market"
|
|
params = {
|
|
"FID_COND_MRKT_DIV_CODE": market_code,
|
|
"FID_PERIOD_DIV_CODE": period,
|
|
}
|
|
|
|
if start_date:
|
|
params["FID_INPUT_DATE_1"] = start_date
|
|
|
|
if end_date:
|
|
params["FID_INPUT_DATE_2"] = end_date
|
|
|
|
return make_request(
|
|
endpoint=endpoint,
|
|
params=params,
|
|
access_token=access_token,
|
|
)
|
|
|
|
def get_program_trading(
|
|
market_code: str = "0",
|
|
start_date: Optional[str] = None,
|
|
end_date: Optional[str] = None,
|
|
access_token: Optional[str] = None,
|
|
) -> Dict[str, Any]:
|
|
"""
|
|
프로그램 매매현황 (KA-STOCK-015)
|
|
|
|
Args:
|
|
market_code: 시장분류코드 (0:전체, 1:코스피, 2:코스닥)
|
|
start_date: 조회 시작 날짜 (YYYYMMDD)
|
|
end_date: 조회 끝 날짜 (YYYYMMDD)
|
|
access_token: OAuth 액세스 토큰
|
|
|
|
Returns:
|
|
프로그램 매매현황 데이터
|
|
"""
|
|
endpoint = "/stock/program"
|
|
params = {
|
|
"FID_COND_MRKT_DIV_CODE": market_code,
|
|
}
|
|
|
|
if start_date:
|
|
params["FID_INPUT_DATE_1"] = start_date
|
|
|
|
if end_date:
|
|
params["FID_INPUT_DATE_2"] = end_date
|
|
|
|
return make_request(
|
|
endpoint=endpoint,
|
|
params=params,
|
|
access_token=access_token,
|
|
)
|