10  순위·조건검색

10.1 이름으로 종목 찾기

코드를 모르면 이름으로 찾습니다. 이름은 모호할 수 있어("삼성전자"는 "삼성전자우"도 매치) 후보를 모두 돌려줍니다 — 코드를 골라 stock()에 넘기세요. (stock()은 이름을 받지 않습니다.)

kis.domestic.search("삼성전자")
kis.domestic.search("에코프로", market="KOSDAQ")  # 부분매치, 시장 한정(all/KOSPI/KOSDAQ)

hits = kis.domestic.search("카카오")
kis.domestic.stock(hits[0].symbol).quote()

각 후보(DomesticListing)는 symbol(6자리 코드) / name / market. 첫 호출은 KOSPI·KOSDAQ 종목 마스터를 받아 저장해 둡니다(이후로는 저장된 걸 재사용).

10.2 오늘의 순위

kis.domestic.ranking.* — 급등주·거래량·시총 같은 시장 전체 순위.

ranking = kis.domestic.ranking

ranking.by_change(direction="gainers")  # 상승률 상위
ranking.by_change(direction="losers")   # 하락률 상위
ranking.by_volume()                     # 거래량 상위
ranking.by_market_cap()                 # 시가총액 상위

각 행(RankedStock)은 rank / symbol / name / price / change / change_percent / volume:

for row in ranking.by_change(direction="gainers")[:10]:
    print(f"{row.rank:2d}. {row.name:10s} {row.price:>8,}  {row.change_percent:>6}%")

순위별 고유 지표(공매도량·신용잔고 등)는 각 결과의 _raw 에 있습니다.

더 있는 순위:

ranking.by_short_sale(window="1d")                     # 공매도 상위
ranking.by_credit_balance()                            # 신용잔고 상위
ranking.by_near_high_low()                             # 신고가/신저가 근접
ranking.by_dividend(start="20240101", end="20240630")  # 배당률 상위
ranking.by_disparity()                                 # 이격도
ranking.by_volume_power()                              # 체결강도
ranking.by_views()                                     # HTS 조회 상위

10.3 조건검색 (HTS 저장조건)

HTS(홈트레이딩) 앱에 저장해둔 조건검색을 불러 실행합니다. 조건검색·관심종목은 HTS 로그인 아이디(user_id)가 필요합니다. HTS 아이디는 사용자당 하나라 credentials.json 최상위에 한 번 넣어 두면(KISConfig.set_hts_id("..."); 또는 KIS_HTS_ID 환경변수) 모든 프로필이 공유하고 user_id 를 생략할 수 있습니다. 아니면 호출마다 직접 넘깁니다.

# 최상위 hts_id 저장: KISConfig.set_hts_id("your_hts_id")  (또는 KIS_HTS_ID 환경변수)

kis.domestic.saved_screens()                       # 저장된 조건 목록 (user_id 는 최상위 공유 hts_id)
kis.domestic.saved_screen_stocks(sequence="0")     # 특정 조건의 종목들
kis.domestic.saved_screens(user_id="your_hts_id")  # 또는 직접 지정

10.4 관심종목

kis.domestic.watchlist_groups()             # 관심종목 그룹 (user_id 는 최상위 공유 hts_id)
kis.domestic.watchlist(group_code="…")      # 그룹 안 종목

10.5 재무·가치 순위

재무비율·밸류에이션으로 정렬된 순위도 있습니다.

ranking.by_finance_ratio(year=2024)  # 재무비율
ranking.by_valuation(year=2024)      # 밸류에이션(PER/PBR 등)
ranking.by_profit_asset(year=2024)   # 수익성·자산

10.6 시간외·예상·기타 순위

ranking.by_bulk_trades(side="buy")                     # 대량체결건수
ranking.by_quote_balance(metric="net_buy")             # 호가잔량
ranking.by_interest()                                  # 관심종목 등록상위
ranking.by_preferred_disparity()                       # 우선주 괴리율
ranking.by_expected_close()                            # 장마감 예상체결
ranking.by_expected_execution_change(direction="gainers")   # 장전 예상체결 등락
ranking.by_company_trades(side="buy", start="20240101", end="20240131")  # 당사매매 종목

ranking.by_after_hours_balance(side="ask")              # 시간외 잔량
ranking.by_after_hours_change(direction="gainers")          # 시간외 등락률
ranking.by_after_hours_expected_change(direction="gainers") # 시간외 예상체결 등락
ranking.by_after_hours_volume()                             # 시간외 거래량

(ELW 스크리너·순위는 ELW 챕터에 있습니다.)