한국투자증권에서는 투자 의사결정에 도움이 되는 다양한 고급 데이터를 제공하고 있습니다. 이번에는 투자자 동향과 매매 패턴을 보다 심층적으로 분석할 수 있는 세 가지 특화 API를 살펴보겠습니다.
장중에 외국인과 기관의 매매 동향을 추정하여 제공하는 API로, 실시간으로 주요 투자 주체의 움직임을 파악하는 데 유용합니다.
{
"bsop_hour_gb": "5", // 입력구분(1~5시점)
"frgn_fake_ntby_qty": "-30000", // 외국인 순매수량(추정)
"orgn_fake_ntby_qty": "121000", // 기관 순매수량(추정)
"sum_fake_ntby_qty": "91000" // 외국인+기관 합산 순매수량(추정)
}
이 API는 장중에 외국인과 기관의 매매 추세를 파악하여 단기적인 투자 전략을 수립하는 데 도움이 됩니다. 특히 다음과 같은 상황에서 유용합니다:
# 외국인과 기관이 동시에 매수세를 보이는지 판단하는 예시 코드
def check_strong_buying_power(data):
latest_data = data[0] # 가장 최근 시점 데이터
if float(latest_data["frgn_fake_ntby_qty"]) > 0 and float(latest_data["orgn_fake_ntby_qty"]) > 0:
return "외국인과 기관 모두 매수세 강함"
elif float(latest_data["sum_fake_ntby_qty"]) > 0:
return "외인+기관 합산 매수세 우위"
else:
return "매도세 우위"
주식의 가격대별 거래량 분포를 제공하여 주요 매물대와 거래 집중 구간을 파악할 수 있는 API입니다.
{
"data_rank": "1", // 거래량 순위
"stck_prpr": "3255", // 해당 가격
"cntg_vol": "124515", // 해당 가격대 거래량
"acml_vol_rlim": "14.69" // 전체 대비 거래량 비중(%)
}
이 API는 주요 매물대를 파악하여 지지/저항 구간을 분석하는 데 매우 유용합니다:
# 주요 매물대 식별 함수 예시
def identify_key_price_levels(data, threshold=10):
key_levels = []
for price_data in data:
if float(price_data["acml_vol_rlim"]) > threshold:
key_levels.append({
"price": price_data["stck_prpr"],
"volume_ratio": price_data["acml_vol_rlim"]
})
return key_levels
특정 종목의 일별 매수체결량과 매도체결량 데이터를 제공하는 API입니다.
{
"stck_bsop_date": "20240126", // 거래일자
"total_seln_qty": "5285722", // 매도체결량
"total_shnu_qty": "4520816" // 매수체결량
}
이 API는 매수/매도 세력의 균형을 파악하여 향후 가격 움직임을 예측하는 데 활용할 수 있습니다:
# 매수/매도 비율 변화 트렌드 분석 함수 예시
def analyze_buy_sell_ratio_trend(data, window=5):
ratios = []
for daily_data in data:
buy_vol = float(daily_data["total_shnu_qty"])
sell_vol = float(daily_data["total_seln_qty"])
ratio = buy_vol / sell_vol if sell_vol > 0 else 0
ratios.append(ratio)
# 최근 n일 평균 비율과 그 이전 n일 평균 비율 비교
recent_avg = sum(ratios[:window]) / window
previous_avg = sum(ratios[window:window*2]) / window
if recent_avg > previous_avg * 1.1:
return "매수세 강화 추세"
elif recent_avg < previous_avg * 0.9:
return "매도세 강화 추세"
else:
return "매수/매도 균형 유지"
위 세 가지 API를 함께 활용하면 보다 정교한 투자 의사결정 시스템을 구축할 수 있습니다:
외인/기관 추정 데이터와 실제 매수/매도 체결량 비교:
매물대 정보와 외인/기관 매매 정보 통합 분석:
종합 시장 심리 지표 개발:
# 종합 시장 심리 지표 계산 예시
def calculate_market_sentiment(foreign_inst_data, price_level_data, buy_sell_data):
# 1. 외인/기관 순매수 강도 (정규화)
f_i_power = float(foreign_inst_data[0]["sum_fake_ntby_qty"]) / 1000000 # 백만 단위 정규화
# 2. 주요 매물대 집중도
concentration = 0
for item in price_level_data[:3]: # 상위 3개 가격대
concentration += float(item["acml_vol_rlim"])
concentration = concentration / 100 # 비율 정규화
# 3. 최근 3일 매수/매도 비율 평균
buy_sell_ratios = []
for i in range(3):
if i < len(buy_sell_data):
buy_vol = float(buy_sell_data[i]["total_shnu_qty"])
sell_vol = float(buy_sell_data[i]["total_seln_qty"])
ratio = buy_vol / sell_vol if sell_vol > 0 else 0
buy_sell_ratios.append(ratio)
avg_ratio = sum(buy_sell_ratios) / len(buy_sell_ratios) if buy_sell_ratios else 0
# 4. 종합 시장 심리 지표 (0~100)
sentiment = (f_i_power * 0.5 + (1 - concentration) * 0.2 + avg_ratio * 0.3) * 100
sentiment = max(0, min(sentiment, 100)) # 0~100 범위 제한
if sentiment > 70:
return "매우 긍정적", sentiment
elif sentiment > 50:
return "긍정적", sentiment
elif sentiment > 30:
return "부정적", sentiment
else:
return "매우 부정적", sentiment
한국투자증권의 고급 API들은 단순한 시세 정보를 넘어 투자자들의 행동과 시장 심리를 심층적으로 분석할 수 있는 데이터를 제공합니다. 이러한 API들을 효과적으로, 그리고 창의적으로 조합하여 활용한다면, 보다 정교하고 정확한 투자 의사결정이 가능해질 것입니다.