Releases: eddmpython/dartlab
Releases · eddmpython/dartlab
v0.9.0
Changed
- SNAKEID_ALIASES 통합:
labels.py(L0)에 42개 alias dict 통합.mapper.py의EDGAR_TO_DART_ALIASES는 L0 참조로 전환. 중복 제거. - EDGAR report extractor 리팩토링:
loadXbrlTags()공용 헬퍼 추출. XBRL 기반 7개 extractor에서 CIK/path/parquet 보일러플레이트 제거. - macro 엔진 11축 확장: 기존 5축(사이클/금리/자산/심리/유동성)에 예측/위기/재고/기업집계/교역/종합 6축 추가. 축별 기여도 추적.
- 전략 신호 강도/신뢰도:
StrategySignal에strength(0.0~1.0) +confidence(high/medium/low) 필드 추가. 40개 전략 전수 반영. - macro spec 구조화: 각 축 메타데이터를 label/description/when/key_output 구조로 확장. 내부 방법론(Hamilton RS, Kalman DFM, Nelson-Siegel) 명시.
- edgarBuilder targetAccounts 순서 수정: 정의 전 참조 버그 해결.
Fixed
- credit history 데이터 갱신: 삼성전자/SK하이닉스/LG화학/NAVER 4개사 평가 이력 추가.
v0.8.9
Changed
- UI 구조 전면 재편:
vscode/+ui/→ui/vscode/,ui/web/,ui/shared/통합. 확장 본체와 webview가ui/vscode/한 곳에. - shared 코드 분리: chart, api, markdown 렌더러를
ui/shared/로 추출. web/vscode 중복 제거. - macro 엔진 확장: 위기감지/재고사이클/교역조건/수익률곡선/기업실적 집계 모듈 추가.
- EDGAR report 14 apiType: auditOpinion, executive, majorHolder 등 SEC XBRL 기반 구조화 추출.
- FRED catalog 14그룹: commodities, yieldcurve, flowoffunds 등 7개 그룹 추가.
Fixed
- CI 워크플로우 경로:
vscode/webview→ui/vscode/webview일괄 수정. - 서버 SPA 경로:
ui/build→ui/web/build수정 (web.py, embed.py). - 품질 게이트 baseline: macro 확장에 따른 E/F 함수 수, vulture 수 반영.
- test_embed: widget 미구현 상태에서 skip 처리.
- test_fred: FRED catalog 그룹 수 7→14 반영.
Full Changelog: v0.8.8...v0.8.9
v0.8.8 — credit v3 + macro + analysis TTM
Added
- credit v3 Notch Adjustment: 기업 특성(규모/공기업/캡티브/지주/CAPEX) 기반 등급 보정. 30개사 60% 적중.
- credit Track B 금융업: 은행/보험/증권 전용 5축 (자본적정성/수익성/자산건전성/유동성/사업안정성). 신한지주 AA+ 정확 일치.
- CHS 부도확률 모델 연동: 주가 기반 ±1 notch 시장 보정. EPS 역산 shares 추정.
- 별도재무제표(OFS) 블렌딩: 캡티브 금융/지주사에서 연결 50% + 별도 50% 블렌딩. 현대차 별도 차입금 1.9조 vs 연결 58조 자동 감지.
- analysis 14축 TTM 환산: 연간 컬럼 없는 기업(금융지주/일부 대기업) 분기→연환산. KB금융 ROE 0.09%→8.41%.
- macro 엔진: 5축(사이클/금리/자산/심리/유동성) 시장 레벨 매크로 분석. Company 불필요.
- forecast 이익 연동: 영업이익/순이익을 매출전망×마진추세로 연동 예측.
- AI 멀티턴 메모리: keyMetrics 구조화 수치 저장. 3턴 이후 이전 분석 수치 참조 가능.
- company-reports 블로그: 6막 재무 서사 기반 기업분석 보고서 카테고리 (LG화학/KT&G/대한항공).
Changed
- 시스템 프롬프트 69% 압축: 333→110줄. 도구 나열→라우팅 테이블 전환. 상한 150줄/5,000자.
- credit 업종 기준표 10개: 반도체/비철/항공/지주/통신 D/EBITDA 완화, 유틸 유동비율 완화.
- 금융업 현금및예치금 fallback: 금융지주 BS 구조 대응.
Fixed
- 금융업 revenue 정의: 이자수익→금융이익 우선 (KB금융 영업이익률 2363%→135.8%).
- 이자비용 CF fallback: IS에 이자비용 없는 기업도 ICR 계산 (대한항공 None→1.38).
- FCF 음수 FOCF/Debt 스킵: CAPEX 집약 기업 축1 과대평가 방지.
- consensus stale cache: 전 소스 실패 시 24시간 이전 캐시 반환.
v0.8.7
Added
- OAuth 코드 수동 입력: 방화벽 환경에서 브라우저 주소창 URL을 복사해서 붙여넣기로 인증
- OAuth 로그인 시 auth URL 화면 표시: 브라우저가 안 열릴 때 링크 직접 클릭 가능
v0.8.6
Added
- OAuth 수동 토큰 입력: 방화벽 환경에서 다른 PC의 토큰을 붙여넣어 ChatGPT 연결 가능
v0.8.5
Added
- VSCode 프로바이더 연결 플로우: provider 선택 시 바로 연결 시작 (API 키 InputBox, OAuth 브라우저 로그인)
- VSCode OAuth 로그인: ChatGPT 선택 시 PKCE 브라우저 로그인 + callback 자동 처리
- stdio needCredential/oauthStart 프로토콜: extension ↔ Python 백엔드 간 인증 흐름
Changed
- VSCode 웰컴 화면: 프로바이더 설정 카드로 재구성 (키 발급 + 연결 버튼)
- 입력창 항상 활성: 서버 상태와 무관하게 입력 가능
- 자동설치: Windows PowerShell 5.x 호환 (
;구분자) - 에러 메시지: UI에서
dartlab.setup(...)CLI 안내 제거, provider 변경 유도 - provider label: "무료" 표현 전체 제거
Fixed
- provider 인증 에러 무시:
except Exception: pass→ ImportError만 무시, 나머지는 사용자에게 표시 - fixture integration 테스트: CI DARTLAB_DATA_DIR 연동, 62개 테스트 추가
- 노트북 정합성: c.insights 잔존 참조, corpName→종목명 전수 수정
v0.8.4
Added
- ops/architecture.md: 전체 청사진 — 레이어, 엔진, 규칙, 데이터 출력, 신규 기능 체크리스트
- ops/testing.md: 테스트 체계 — 마커, 커버리지 목표, CI 규칙
- 테스트 1,148개 추가: 843→1,991 passed (20개 신규 테스트 파일, 9개 엔진 전체 커버)
- numpy base 의존성 추가 (quant 엔진 필수)
Changed
- scan 데이터 일관성 통일: 전 축 종목코드+종목명 첫 2컬럼 (governance/debt/capital/workforce/account/ratio 수정)
- c.insights 제거: analysis("financial", "종합평가")로 통합 — 엔진 내부 기능 Company 직접 노출 금지
Fixed
- annualColsFromPeriods 인자 순서 버그: 8개 파일 23곳에서 _MAX_YEARS가 basePeriod로 잘못 전달
- CI --benchmark-disable: 테스트 타임아웃 방지
v0.8.3
Changed
- quant 독립 엔진 격상: analysis 축에서 분리 →
c.quant(),dartlab.quant()독립 진입점 복원 - quant 코드 통합: analysis/quantCalcs.py, technicalAnalysis.py 삭제 → quant/extended.py로 로직 통합
- quant 신규 metric:
c.quant("divergence")재무-기술적 괴리,c.quant("flags")기술적 플래그 - credit healthScore:
cr["healthScore"]추가 (100-score, 높을수록 건전) - viz AI 연동: 도메인 차트(revenue/cashflow/profitability) sandbox import + 프롬프트 유도
- README 전면 정비: credit/viz/extras/아키텍처/안정성 v0.8.2 반영
- AI 프롬프트 #29-#30: credit score 의미 명시, viz 도메인 차트 우선 안내
- 문서 체계 점검: ops/ 전체, import 방향, 엔진 일관성 전수조사 통과
Removed
c.analysis("quant", "기술적분석")—c.quant()로 대체analysis/financial/quantCalcs.py— quant 엔진으로 통합analysis/financial/technicalAnalysis.py— quant/extended.py로 이동
v0.8.2
Added
- credit 독립 엔진: dartlab 독립 신용평가 체계 (dCR). 7축 가중 + 업종 세분화 + CHS 부도확률.
c.credit()진입점 - quant → analysis 축 통합:
c.analysis("quant", "기술적분석")— 25개 기술 지표 + 9개 매매 신호 - 금융업 수익성 분석: 은행/보험 이자수익 기반 marginTrend 지원 (KB금융 등)
- AI 종합분석 6막 서사: 기업 전반 질문에 analysis 3축 자동 실행 + 인과 해석 구성
- AI quant+재무 교차 검증: 기술적 지표와 재무분석 결합 투자 판단
- 보고서 렌더링 개편: 게이지바 + 문단서사 + 변화화살표
Changed
- analysis↔credit 상호의존 완전 제거: 같은 L2지만 상호 import 0건. review가 블록식 조합
- AI 프롬프트 #26~#28: 종합분석 섹션, quant 섹션, review 금지 + analysis 기반 서사 해석
- ops/ 문서 전면 정비: analysis 14축 체계, credit 독립 명시, vectorStore/DDG 참조 제거
- VSCode 확장 개선: oauth-codex provider 지원
Fixed
- 금융업 marginTrend=None: 은행 IS에 매출액 없는 문제 → 이자수익 기반 분기
- test_ai_no_build: _check_built_ui → _checkBuiltUi camelCase 수정
- 보고서 품질: 지주사 모순/트리거 비현실/OCF 비정상 수정
v0.8.1
Breaking Changes
하위호환 없음. API가 변경되었습니다.
제거된 루트 함수 (14개)
dartlab.governance(), dartlab.capital(), dartlab.debt(), dartlab.workforce(), dartlab.network(), dartlab.digest(), dartlab.forecast(), dartlab.valuation(), dartlab.simulation(), dartlab.research(), dartlab.insights(), dartlab.audit(), dartlab.scanAccount(), dartlab.scanRatio()
대체: dartlab.scan("governance"), c.analysis("valuation", "가치평가") 등 엔진("그룹", "축") 패턴.
제거된 Company 메서드 (4개)
c.forecast(), c.valuation(), c.simulation(), c.research()
대체: c.analysis("forecast", "매출전망"), c.analysis("valuation", "가치평가") 등.
Changed
- 엔진 호출방식 2단계 통일:
analysis("financial", "수익성"),scan("financial", "profitability") - accessor 패턴 추가:
c.analysis.financial.profitability(),dartlab.scan.financial.growth()— IDE 자동완성 지원 - 한글/영문 양방향 alias:
analysis("financial", "profitability")=analysis("financial", "수익성") __init__.py700줄 삭제: 엔진 함수만 유지- 전체 문서/독스트링/AI 패턴/노트북 신 패턴 일괄 변환 (20파일 70곳+)
- MCP 도구 2단계 호출 지원 (
companyAnalysisaxis+sub 파라미터)
마이그레이션 가이드
# Before (0.8.0)
c.analysis("수익성")
c.forecast()
c.valuation()
dartlab.governance()
dartlab.scan("profitability")
# After (0.8.1)
c.analysis("financial", "수익성") # 또는 c.analysis.financial.profitability()
c.analysis("forecast", "매출전망") # 또는 c.analysis.forecast()
c.analysis("valuation", "가치평가") # 또는 c.analysis.valuation()
dartlab.scan("governance") # 변경 없음
dartlab.scan("financial", "profitability") # 또는 dartlab.scan.financial.profitability()