반응형

- 한국투자증권 open api 연결

- 조건검색


https://apiportal.koreainvestment.com/community/10000000-0000-0011-0000-000000000003

 

KIS Developers

잠시만 기다려 주세요

apiportal.koreainvestment.com

안녕하세요.
한국투자증권 KIS Developers입니다.

고객님 종목조건검색을 활용한 파이썬 샘플코드는 준비되어 있지 않은 점 양해 부탁드립니다.

아래 포스트맨 샘플코드에 종목조건검색이 포함되어 있으니 해당 플랫폼에서 API 호출 테스트 및 output 값을 확인하시면서 
고객님의 요건에 맞는 기능을 제작하여 사용하시는 것을 추천드립니다.

https://github.com/koreainvestment/open-trading-api/tree/main/postman

+
추가적으로 아래 유튜버 조코딩님이 작성하신 한국투자 API를 활용한 파이썬 자동매매코드를 참고하실 수 있습니다. (다만 아래 샘플에는 조건검색 내용은 없습니다)
https://github.com/youtube-jocoding/koreainvestment-autotrade
APP_KEY = ""
APP_SECRET = ""

#계좌번호 앞 8자리
CANO = ""
#계좌번호 뒤 2자리
ACNT_PRDT_CD = "01"

#실전투자
URL_BASE = "https://openapi.koreainvestment.com:9443"

import requests
import json
import datetime
import time

def get_access_token():
    """토큰 발급"""
    headers = {"content-type":"application/json"}
    body = {"grant_type":"client_credentials",
    "appkey":APP_KEY,
    "appsecret":APP_SECRET}
    PATH = "oauth2/tokenP"
    URL = f"{URL_BASE}/{PATH}"
    res = requests.post(URL, headers=headers, data=json.dumps(body))
    ACCESS_TOKEN = res.json()["access_token"]
    return ACCESS_TOKEN

def hashkey(datas):
    """암호화"""
    PATH = "uapi/hashkey"
    URL = f"{URL_BASE}/{PATH}"
    headers = {
    'content-Type' : 'application/json',
    'appKey' : APP_KEY,
    'appSecret' : APP_SECRET,
    }
    res = requests.post(URL, headers=headers, data=json.dumps(datas))
    hashkey = res.json()["HASH"]
    return hashkey

def get_conser():
    """종목조건검색목록조회"""
    PATH = "/uapi/domestic-stock/v1/quotations/psearch-title"
    # ?user_id=abc1234&seq=0
    URL = f"{URL_BASE}/{PATH}"
    headers = {"Content-Type":"application/json",
            "authorization": f"Bearer {ACCESS_TOKEN}",
            "appKey":APP_KEY,
            "appSecret":APP_SECRET,
            "tr_id":"HHKST03900300"}
    params = {
    "user_id":"abcd",
    }
    res = requests.get(URL, headers=headers, params=params)
    return res.json()['output2']

def get_conser_list(a_seq="0"):
    """종목조건검색종목조회"""
    PATH = "/uapi/domestic-stock/v1/quotations/psearch-result"
    # ?user_id=abc1234&seq=0
    URL = f"{URL_BASE}/{PATH}"
    headers = {"Content-Type":"application/json",
            "authorization": f"Bearer {ACCESS_TOKEN}",
            "appKey":APP_KEY,
            "appSecret":APP_SECRET,
            "tr_id":"HHKST03900400"}
    params = {
    "user_id":"abcd",
    "seq":a_seq,
    }
    res = requests.get(URL, headers=headers, params=params)
    return res.json()['output2']
    
    
ACCESS_TOKEN = get_access_token()

# 조건검색 목록 조회
conser = get_conser()
print(conser)

# 조건검색 종목 조회
conser_list = get_conser_list(a_seq='0')
print(conser_list)
반응형

+ Recent posts