feat: initial project setup - Merton-KMV model, data pipeline, .agents workflows

This commit is contained in:
EDF Agent
2026-03-11 19:59:38 +09:00
commit a20a7207c4
28 changed files with 3212 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Architecture — EDF 프로젝트 구조
## 개요
주식 변동성 기반 한국 등급별 부도율 산출 (Merton-KMV 모형)
## 디렉토리 구조
```
EDF/
├── .agents/ # 에이전트 워크플로우 시스템
├── config/
│ └── settings.yaml # API 키, 모델 파라미터
├── src/
│ ├── data/
│ │ ├── krx_fetcher.py # KRX 주가/시총/변동성 수집
│ │ └── dart_fetcher.py # DART 재무제표 수집
│ ├── models/
│ │ └── merton.py # Merton DD/EDF 산출
│ ├── calibration/ # 보정, 블렌딩 (미구현)
│ └── validation/ # 백테스팅, 검증 (미구현)
├── data/ # 수집된 데이터
├── outputs/ # 결과물
├── docs/
│ ├── technical_methodology.md # 기술 문서
│ └── devlog/ # 세션별 작업 기록
└── requirements.txt
```
## 핵심 파이프라인
```
KRX 주가 → 변동성 계산 → Merton 풀이 → DD/EDF → Shadow Rating → 등급별 부도율
```

View File

@@ -0,0 +1,26 @@
# Conventions — EDF 프로젝트 코딩 컨벤션
## Python 스타일
- PEP 8 준수
- Type hints 사용 권장
- Docstring: Google style
## 커밋 메시지
```
<type>(<scope>): <description>
type: feat|fix|refactor|test|docs|chore|ci|infra
scope: data|model|calibration|validation (선택)
```
## 파일 네이밍
- 모듈: `snake_case.py`
- 클래스: `PascalCase`
- 함수: `snake_case`
- 상수: `SCREAMING_SNAKE_CASE`
## 데이터 처리
- 금액 단위: 원화 (원 단위 그대로, 변환하지 않음)
- 날짜 형식: `YYYYMMDD` (KRX/DART 호환)
- 변동성: 연환산 (annualized)
- NaN 처리: `np.nan` 사용, 0 또는 빈 문자열로 대체하지 않음

View File

@@ -0,0 +1,8 @@
# Known Issues — 과거 실패 기록
> 이 파일은 에이전트가 같은 실수를 반복하지 않도록 실패를 기록합니다.
> 세션 종료 시 자동으로 새 이슈를 추가합니다.
---
(아직 기록된 이슈가 없습니다.)

View File

@@ -0,0 +1,31 @@
# Tech Stack — EDF 프로젝트 기술 스택
## 언어
- **Python 3.10+** (miniforge3/envs/edf)
## 핵심 패키지
| 패키지 | 용도 |
|--------|------|
| `numpy`, `pandas` | 데이터 처리 |
| `scipy` | Merton 비선형 방정식 풀이 (fsolve) |
| `statsmodels` | Ordered Probit (Shadow Rating) |
| `pykrx` | KRX 주가/시총 수집 |
| `opendart-reader` | DART 재무제표 API |
| `arch` | GARCH 변동성 모형 |
| `scikit-learn` | ML 보조 모형 |
| `matplotlib`, `plotly`, `seaborn` | 시각화 |
| `pyyaml` | 설정 파일 |
| `tqdm` | 프로그레스 바 |
## 외부 서비스
| 서비스 | URL | 용도 |
|--------|-----|------|
| DART OpenAPI | opendart.fss.or.kr | 재무제표 (무료, API 키 필요) |
| KRX | data.krx.co.kr | 주가 데이터 (pykrx 경유) |
| Gitea | git.variet.net | 소스코드 관리 |
| Vikunja | plan.variet.net | 태스크 관리 |
## Python 경로
```
C:\ProgramData\miniforge3\envs\edf\python.exe
```