IT/SW Dev.

쉬운 AI Coding - pykiwoom 이용하여 예수금 조회 코드 작성

부티형 2025. 2. 10. 20:16
반응형

출처 : 부티형

 

1. block_request()를 이용한 주가 조회

  • opt10001 TR을 사용하여 종목의 현재가 정보를 가져옵니다.
  • 종목코드는 다음과 같습니다:
    • 삼성전자: "005930"
    • 현대자동차: "005380"

2. 코드

반응형
from pykiwoom.kiwoom import Kiwoom
import time

# 키움증권 OpenAPI+ 객체 생성
kiwoom = Kiwoom()

# 로그인
kiwoom.CommConnect(block=True)
print("로그인 완료")

# 종목 코드 설정 (삼성전자, 현대자동차)
stocks = {
    "삼성전자": "005930",
    "현대자동차": "005380"
}

# 현재가 조회 함수
def get_current_price(stock_code):
    data = kiwoom.block_request(
        "opt10001",
        종목코드=stock_code,
        output="주식기본정보",
        next=0
    )
    return data["현재가"][0]  # 데이터는 리스트 형태로 반환되므로 첫 번째 값을 가져옴

# 삼성전자와 현대자동차 현재가 조회
for stock_name, stock_code in stocks.items():
    current_price = get_current_price(stock_code)
    print(f"{stock_name} 현재가: {current_price} 원")

3. 코드 설명

  1. CommConnect(block=True)를 이용해 로그인을 진행합니다.
  2. opt10001 요청을 통해 종목의 현재가 정보를 가져옵니다.
  3. stocks 딕셔너리를 활용하여 삼성전자와 현대자동차의 종목 코드를 설정합니다.
  4. get_current_price(stock_code) 함수를 통해 종목별 현재가를 가져옵니다.
  5. block_request()는 데이터를 딕셔너리 형태로 반환하므로 "현재가" 키를 사용하여 값을 추출합니다.

4. 실행 결과 예시

로그인 완료
삼성전자 현재가: 75,500 원
현대자동차 현재가: 194,000 원

참고:

  • block_request()는 요청 후 응답을 받을 때까지 블록(blocking) 되는 함수입니다.
  • opt10001 TR은 실시간 조회가 아닌 요청 시점의 데이터를 반환합니다.
  • HTS 또는 영웅문이 실행된 상태에서 실행해야 정상 동작합니다.
반응형