Sector Classification

Classifies companies into investment sectors based on the WICS (Wise Industry Classification Standard). Uses a 3-tier priority system and provides sector-specific valuation parameters.

Usage

from dartlab.engines.sector import classify, getParams

info = classify("삼성전자", kindIndustry="통신 및 방송 장비 제조업")
info.sector          # Sector.IT
info.industryGroup   # IndustryGroup.SEMICONDUCTOR
info.confidence      # 1.0
info.source          # "override"

params = getParams(info)
params.discountRate  # 13.0 (%)
params.perMultiple   # 15
params.label         # "반도체"

classify()

classify(companyName: str, kindIndustry: str = None, mainProducts: str = None) -> SectorInfo
ParameterTypeDescription
companyNamestrCompany name
kindIndustrystr (optional)KIND industry name (KSIC-based)
mainProductsstr (optional)Main products text

3-Tier Classification Priority

TierMethodConfidenceTarget
1Manual override0.95~1.0~100 large caps (삼성전자, SK하이닉스, etc.)
2Keyword analysis0.6~0.9Keyword matching from main products text
3KSIC mapping0.7KIND industry name to WICS mapping (200+ items)

If no match is found at any tier, returns Sector.UNKNOWN (confidence 0.0).

SectorInfo

FieldTypeDescription
sectorSectorWICS major classification (11 sectors)
industryGroupIndustryGroupWICS mid-level classification (47 groups)
confidencefloatConfidence score (0.0~1.0)
sourcestrClassification basis (“override”, “keyword”, “ksic”, “unknown”)

Sector (11 Major Classifications)

ValueKoreanEnglish
ENERGY에너지Energy
MATERIALS소재Materials
INDUSTRIALS산업재Industrials
CONSUMER_DISC경기관련소비재Consumer Discretionary
CONSUMER_STAPLES필수소비재Consumer Staples
HEALTHCARE건강관리Healthcare
FINANCIALS금융Financials
ITITIT
COMMUNICATION커뮤니케이션서비스Communication Services
UTILITIES유틸리티Utilities
REAL_ESTATE부동산Real Estate

getParams()

getParams(sectorInfo: SectorInfo) -> SectorParams

Uses mid-level parameters if available; otherwise falls back to major classification parameters.

SectorParams

FieldTypeDescription
discountRatefloatDiscount rate (%)
growthRatefloatGrowth rate (%)
perMultiplefloatPER multiple
pbrMultiplefloatPBR multiple
evEbitdaMultiplefloatEV/EBITDA multiple
labelstrSector label (Korean)

Sector parameters are benchmark values reflecting industry characteristics. Used in DCF, PER/PBR band analysis, etc.

Examples

from dartlab.engines.sector import classify, getParams, Sector

# Large cap — Immediately classified via manual override
info = classify("SK하이닉스")
print(info)  # SectorInfo(IT/반도체, conf=1.00, src=override)

# Mid/small cap — Keyword-based classification
info = classify("에코프로비엠", mainProducts="양극재, 이차전지 소재")
print(info)  # SectorInfo(IT/2차전지, conf=0.90, src=keyword)

# KSIC-based classification
info = classify("미래에셋증권", kindIndustry="증권 중개업")
print(info)  # SectorInfo(FINANCIALS/증권, conf=0.70, src=ksic)

# Valuation parameters
params = getParams(info)
print(f"PER: {params.perMultiple}, Discount rate: {params.discountRate}%")