# 012_majorHolderDeep 실험 현황

## 주제
사업보고서 "주주에 관한 사항" 섹션에서 추가 데이터 추출: 5% 이상 주주, 소액주주 현황, 의결권 현황

## 최종 결과

| 지표 | 수치 |
|------|------|
| 5% 이상 주주 파싱 성공률 | **100%** (217/217 섹션 보유 종목) |
| 소액주주 파싱 성공률 | **100%** (214/214 섹션 보유 종목) |
| 의결권 파싱 성공률 | **100%** (223/223 섹션 보유 종목) |

## 실험 파일

| 파일 | 설명 | 상태 |
|------|------|------|
| 001_explore.py | 삼성전자/SK하이닉스/NAVER 주주 섹션 전체 내용 탐색 | 완료 |
| 002_multiCompany.py | 10개 종목 패턴 비교 — 4개 추가 테이블 발견 | 완료 |
| 003_parser.py | 초기 파서 — 5% 주주 버그 (소액주주 혼입) | 완료 |
| 003b_debug.py | 5% 주주 실패 원인 분석 — 셀 인덱스 문제 | 완료 |
| 003c_fixedParser.py | 수정 파서 — 10/10 성공 (신한지주 주석행 혼입) | 완료 |
| 003d_finalParser.py | 최종 파서 — 10/10 완벽 | 완료 |
| 004_fullTest.py | 267개 종목 전체 테스트 — 100% 성공 | 완료 |
| 005_failAnalysis.py | 실패 종목 분석 — 모두 "해당없음" (파서 오류 0) | 완료 |

## 발견 사항

### "VII. 주주에 관한 사항" 공통 구조
1. 최대주주 + 특수관계인 주식소유 현황 (기존 majorHolder)
2. 최대주주 관련 정보 (기본정보, 재무현황, 사업현황)
3. 최대주주 변동현황
4. **주식의 분포 — 5% 이상 주주** ★
5. **주식의 분포 — 소액주주** ★
6. 주가 및 주식거래실적

### "3. 주주총회 등에 관한 사항" 구조
- 투표제도
- 소수주주권
- 경영권 경쟁
- **의결권 현황** ★
- 주식사무
- 주주총회 의사록

### 5% 이상 주주 테이블 구조 (2가지)
1. `| 구분 | 주주명 | 소유주식수 | 지분율(%) | 비고 |` — 일부 종목
2. `| 5% 이상 주주 | 삼성생명 | 513,535,800 | 8.60 | 특별계정 포함 |` — 대부분

### 소액주주 테이블 (통일)
`| 소액주주 | 주주수 | 전체주주수 | 비율 | 소액주식수 | 총발행주식수 | 비율 | 비고 |`

### 의결권 테이블 (통일)
`| 구분 | 주식의 종류 | 주식수 | 비고 |`
- A(발행주식총수) ~ F(행사가능) 항목, 보통주/우선주 분리

### 비파싱 케이스 (정상)
- 스팩: 5% 이상 주주 전부 "-" (해당없음)
- 비상장 자회사: 소액주주 "-" 또는 "소액주주가 없습니다"

## 완료
- [x] 패키지 모듈화 — `finance/majorHolder/` 확장 (shareholderOverview 함수 추가)
- [x] API_SPEC.md 업데이트
- [x] CLAUDE.md 업데이트
