virtual-insanity
← 리포트 목록

기업분석 v4 표준 + 5장 서사 + 정정 룰 (비나텍 사이클 학습)

2026-05-06 기업분석 [기업분석, 보고서표준, v4, 5장서사, 밸류에이션, PDF빌드, 차트정합성]

기업분석 v4 표준 + 5장 서사 + 정정 룰

비나텍 v3 → v7 사이클에서 해리 직접 지적으로 축적한 13개 룰. 다음 기업분석에서 처음부터 적용.

1. 5장 서사 구조 (전면 재구성 시 강제)

Act 페이지 서사 다음 Act 연결 한 줄
표지·Exec P01-03 한 줄 결론 + 5 시나리오 + 글로벌 위치 매트릭스 + 5대 발견
Act 1 산업 P04-09 매크로 변수 → 산업 트리거 → 회사 위치 → 헤게모니·후발주자 "그렇다면 가격이 왜 이렇게 됐나"
Act 2 가격 P10-13 주가 시계열·수급·PER 리레이팅 분해·셀사이드 격차·다년도 PER 함축 "그게 가능한가, 회사 펀더는 어디까지"
Act 3 회사 P14-18 재무·OPM 분해·peer 비교·해자·CapEx 사이클·CB 희석 "우리가 다르게 보는 것은 무엇인가"
Act 4 엣지 P19-22 엣지 3개·셀사이드 격차 본질·시장 함축 가중치 역산 "그래서 어떻게"
Act 5 결론 P23-27 5 시나리오·확률가중 TP·1Q26 매트릭스·Trip-wire·KPI
부록 P28-30 민감도·출처·데이터 갭

총 30p 강제 (페이지 인플레 금지). 산업 심층은 Act 1에 흡수, 별도 4p × 4 추가 금지.

2. 밸류에이션 4대 원칙

2.1 괴리 크면 본 분석 의심

  • 본 분석 TP vs 현재가 격차 -25% 이상 → 가정 재검증
  • Bull 가중치가 시장보다 너무 낮은 건 아닌지 의심
  • 시장 함축 가중치 역산 필수: (현재가 - 본 분석 TP) ÷ (Bull TP - Bear TP) = 시장이 부여한 추가 Bull 가중치

2.2 Bear floor = BPS × PBR 1.5~2배 (절대 위반 금지)

  • 적자 회사라도 청산 가치 (BPS) 가 floor
  • 1.5배: 사업 가치 일부 잔존 + 자산 청산
  • 1.0배: 사실상 파산. 30% 확률 부여 비현실
  • PER을 적자 회사에 적용 금지 (산출 자체 불가)

2.3 시나리오별 다중 멀티플

시나리오 멀티플 이유
Tail- (펀더 붕괴) PBR 0.7~1.0배 청산 가치
Bear (저수익/적자 재발) PBR 1.5~2.5배 + PSR 5~7배 자산 + 매출
Base (정상 흑자) PER 30~40배 + PSR 8~10배 전통 그로스
Bull (가속 성장) PER 50~60배 + PSR 12~15배 모멘텀
Tail+ (폭발 성장) PER 65~80배 글로벌 peer 동조

2.4 시장 함축 가정 역산 매트릭스 (필수)

가중치 본 분석 시장 함축 (현재가 역산) 격차
Bull NN% NN% ±NN%p
Bear NN% NN% ±NN%p
Tail- NN% NN% ±NN%p

→ 격차의 본질 = "어느 가중치 차이가 -NN% 다운사이드의 NN%를 설명하는가" 한 줄

3. 산업 분석 5대 검증

3.1 비나텍 위치 검증 매트릭스 (헤게모니·독자성·후발주자)

항목 점수 (5점) 근거
채널 독점 (LTSA·계약) 계약 규모, 만기, 갱신 조건
한국 점유율 1위 / niche / no
글로벌 점유율 빅3 대비 위치
진입 장벽 재설계 필요 / 인증 / 기술
계약 절대 규모 ★★ (작으면 강조) 매출 비중 / 단가 GW 비례
후발 가능성 차세대 시스템 재설계 + 인증 + 시간

3.2 Bill of Materials (BOM) 비중 강제

  • 회사가 "독점 공급"이라도 BOM 비중이 작으면 매출 절대 규모 작음
  • BOM 표 강제: 글로벌 핵심 / 한국 후발 / 비중 추정

3.3 글로벌 밸류체인 매트릭스 (해리 정확한 표현)

  • "한국 두 축" 같은 동격 묶기 금지 (다른 부품 카테고리는 동격 아님)
  • 글로벌 핵심 + 한국 후발 분리
  • 비나텍/대상 회사 = "ecosystem의 한 보조 부품 공급사" (1차 핵심 아님)

3.4 매출 베타 정정

  • 일반론 (AI 데이터센터 UPS) → 실제 채널 (블룸 단일)
  • 모니터링 변수 = 단일 고객 분기 실적·hyperscaler 단일 수주

3.5 CapEx 사이클 검증 룰 (해리 직접 지적)

  • "CapEx 둔화 = 사이클 통과" 자동 결론 금지
  • 시공 단계 분리: 부지 → 건축 → 설비 → 가동 → 감가상각
  • 자금 조달 (CB·유증) 시점 vs 시공 시점 매칭
  • 미래 신공장 시공 일정으로 CapEx 재진입 가능성 검증

4. EPS·확률가중 TP 산출 룰

4.1 발행주식수 양쪽 케이스

  • DART (등기 시점) vs KRX (현재 거래량) 차이 명시
  • CB·BW 잠재 희석 (전환가 × 발행 규모) 별도 시나리오

4.2 CB 잠재 희석 시나리오 강제

시나리오 희석 전 EPS 희석 후 EPS 희석 후 TP
Bear -28% TP 압축
Base -28% TP 압축
Bull -28% TP 압축
Tail+ -28% TP 압축

4.3 확률가중 TP 단일값

확률가중 TP = Σ (확률 × 시나리오 TP)
vs 현재가 = ±NN% 다운사이드/업사이드

5. PDF 빌드 레이아웃 강제 룰

5.1 표 (Table)

  • colWidths 절대 폭 명시 (균등 분배 금지)
  • wrap=CJK 한국어 자동 줄바꿈
  • 폰트 8pt 이하
  • KeepTogether (페이지 분할 금지)
  • 헤더 NAVY 배경 + WHITE 텍스트
  • 행 배경 줄무늬 (LIGHT 교대)

5.2 차트 (Image)

  • MAX_W 160mm / MAX_H 60mm (페이지당 1차트 + 1표 강제)
  • 비율 유지하며 max 적용
  • hAlign='CENTER'

5.3 페이지 분할

  • ## P0N. 헤드라인 으로 PageBreak 강제
  • 차트 토큰은 헤드라인 직후 + 표 직전 (KeepTogether로 묶기)
  • TOTAL_PAGES = 1차 빌드 후 실제 값으로 갱신

5.4 한글 폰트

  • AppleGothic 등록 필수 (/System/Library/Fonts/Supplemental/AppleGothic.ttf)
  • Arial Unicode 절대 금지 (한글 깨짐)

6. 차트-본문 정합성 검증 (해리 직접 지적)

6.1 빌드 후 검증 필수

  1. 차트의 숫자 = 본문의 숫자 일치 확인 (예: 차트 +1,100bp vs 본문 +2,350bp = 충돌)
  2. 차트 가독성: 폰트·라벨·출처 위치 확인
  3. 페이지별 thumbnail 생성 후 메인 세션이 직접 검토
  4. 페이지 매핑: 헤드라인 P14 = 실제 풋터 P14 일치

6.2 충돌 발생 시

  • 본문을 차트에 맞추거나 (실측 기준이 더 정확하면 차트 우선)
  • 차트 재빌드 (분석이 진화한 경우)
  • 둘 다 못하면 충돌 차트는 제거

7. 출처 클린업 룰

7.1 1차 출처만

  • DART 사업/분기/자율공시
  • 한국거래소 (KRX)
  • FnGuide 컨센
  • 회사 IR (URL 명시)
  • yfinance / KIS API
  • KSD / LBMA / FRED
  • 한경/매경/이데일리 보도

7.2 절대 금지

  • .md, .json 파일명 인용
  • 내부 분석 문서 경로 (L4_L6.md L6-1 등)
  • 셀사이드 본문 결론 인용 (격차 분석용으로만 보존)
  • "v3 → v4 정정" 내부 표기

8. 서브에이전트 운용 룰

8.1 stall 위험

  • 단일 에이전트에 30p 본문 통째 작성 시키면 stall 잦음
  • 분할: 페이지 그룹 5~7p 단위로 4~6 에이전트
  • 또는 메인 세션이 직접 작성 (Write 1회로 25p 가능, opus 1M)

8.2 결과 검증 강제

  • 에이전트 결과 보고만 믿지 말 것
  • 파일 직접 ls + grep + 페이지별 thumbnail 확인
  • 보완 에이전트가 본 에이전트 stall 후 v4.1 본문에 두 페이지만 추가하고 "v5 완료"라고 보고하는 사례 발생 (실제는 v5 본문 자체가 안 만들어짐)

8.3 메인 세션 직접 작성 트리거

  • 에이전트 stall 2회 → 메인 직접 작성
  • 도구 호출 700+ 누적 → STOP + 보고
  • 진전 0% 보고 → 메인 직접 작성

9. 보고서 산출물 표준 디렉토리 구조

~/knowledge-agent/400-reports/{날짜}_{회사}_{티커}_v{N}/
├── data/                          # 1차 데이터 (5개)
│   ├── dart_raw.md, dart_summary.json
│   ├── ir_raw.md, ir_summary.json
│   ├── quote_raw.md, quote_summary.json, price_series.csv
│   ├── sellside_comparison.md, sellside_raw.json
│   └── vault_summary.md, vault_related.json
├── analysis/                      # 8-Layer 분석 (4개)
│   ├── L1_L2_v2.md (마스터)
│   ├── L3_L5.md
│   ├── L4_L6.md
│   └── L7_L8.md
├── disagreements.md               # 셀사이드 격차
├── outline_v2.md                  # 30p 페이지 매핑
├── main_v{N}.md                   # 통합 본문 (한 작가)
├── charts/                        # 차트 10개 (matplotlib)
├── images/                        # 표지·디바이더 5개
├── build_pdf_v{N}.py              # 빌드 스크립트
└── output/{회사}_v{N}_본보고서.pdf # 최종 산출물

10. 메모리·볼트·스킬 3중 저장

각 회사 분석 완료 시: 1. 본 노트 갱신 (이 파일) — 새 패턴 발견 시 2. 스킬 갱신 (~/.claude/skills/company-research/SKILL.md) 3. 메모리 갱신 (~/.claude/projects/-Users-ron/memory/) — 해리 직접 지적 시

관련 노트

  • [[260429_태광_023160_v4]] — 첫 v4 표준 적용 사례
  • [[260506_비나텍_126340_v4]] — v3→v7 정정 사이클 (이 노트의 학습 출처)
  • [[003 v4-스키마]] — 볼트 v4 스키마

Part 2 — 페이퍼로지 + 차트 디자인 9개 룰 (v8~v10 사이클)

기존 13개 룰에 v8~v10 사이클에서 추가된 9개 룰. 페이퍼로지 디자인 시스템 + 차트 정합성 + 페이지 번호 체계.

14. 페이퍼로지 폰트 (Paperlogy 9 굵기)

  • 한국어 PPT 특화, G마켓산스 기반, 커닝 적용
  • 다운로드: https://github.com/Freesentation/paperlogy
  • 9 굵기: Thin / ExtraLight / Light / Regular / Medium / SemiBold / Bold / ExtraBold / Black
  • 라이센스: SIL OFL (상업용 무료)

15. 글자 두께 위계 (컬러 절제)

페이퍼로지 핵심 원칙 — "두께 강조 > 컬러 강조" - H_TITLE Black 32pt → H_SUB Medium 18pt → H1 Bold 15pt → H3 Bold 11pt → Body Regular 10pt - 컬러는 NAVY/GOLD 위주

16. 차트 figure.add_axes 축 분리

fig = plt.figure(figsize=(14, 7.5))
ax = fig.add_axes([0.07, 0.13, 0.88, 0.72])  # 위 13% 여백
fig.text(0.06, 0.96, title, fontsize=22, fontweight='bold')  # 제목
fig.text(0.06, 0.91, sub, fontsize=12, style='italic')        # 부제

→ 제목·부제 axes 영역 절대 침범 안 함

17. 차트 폰트 사이즈 강제

  • 제목 22pt / 부제 12pt italic / 라벨 12pt / 어노테이션 13pt / 데이터 라벨 11pt / footer 9pt
  • 모두 fontfamily='Paperlogy' 명시

18. 차트 사이즈 215×105mm

  • CHART_MAX_W = 215 * mm
  • CHART_MAX_H = 105 * mm
  • figsize=(14, 7~7.5) inches

19. ★ → ● (페이퍼로지 글리프 호환)

  • 페이퍼로지 ★(U+2605) 미지원 → 빈 사각형(□) 렌더링
  • sed로 일괄 치환: sed 's/★/●/g' main.md

20. "Act" 영문 → "N부" 한국어

  • Act 1 — 산업 → # 1부 산업

  • 디바이더 5장 모두 한국어 큰 단어 + GOLD 큰 숫자

21. 페이지 번호 부-섹션 체계

part_counter = [0]
page_in_part = [0]
# # N부 헤딩 만나면 PartIncr Flowable로 part_counter[0]=N, page_in_part[0]=0
# 풋터: f"{part_counter[0]}-{page_in_part[0]} (전체 {pn}/{TOTAL_PAGES})"
  • 표지: 표지-1, 표지-2, 표지-3
  • 1부 산업: 1-1, 1-2, ...
  • 부록: 부록-1, 부록-2

중요: 본문 ## P0N 표기 제거 시 페이지 트리거 정정 필요 - 기존: if line.startswith('## P0') or '## P1' or '## P2' - 정정: if line.startswith('## ') and line not in [표지부제, 표지본문]

22. 페이지 다양화 패턴

  • Act 디바이더 풀 페이지: 다크 배경 + GOLD 큰 숫자 + 한국어 큰 단어 + 모티프
  • 콜아웃 박스: > 인용 → 좌측 4pt NAVY 보더 + 배경 #EEF2F7
  • 메트릭 카드 (다음 사이클): 큰 숫자 + 작은 라벨

23. GPT-image-2.0 Codex 백그라운드 위임

nohup codex exec "..." --skip-git-repo-check --ephemeral \
  -c 'mcp_servers={}' > /tmp/codex.log 2>&1 &
  • codex-cli 0.124.0 확인 필수
  • 결과는 다음 라운드 통합

24. 페이지 트리거 일관성

  • build_pdf의 페이지 분할 트리거가 ## P0/P1/P2 패턴에 의존
  • 본문 ## P0N 표기 제거 시 페이지 안 갈림 → 트리거 일반화 필수
  • 또는 본문에 별도 [PAGE] 마커 사용

누적 룰 22개 = 13 (Part 1) + 9 (Part 2)