feat: initial project setup - Merton-KMV model, data pipeline, .agents workflows
This commit is contained in:
34
.agents/references/architecture.md
Normal file
34
.agents/references/architecture.md
Normal 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 → 등급별 부도율
|
||||
```
|
||||
26
.agents/references/conventions.md
Normal file
26
.agents/references/conventions.md
Normal 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 또는 빈 문자열로 대체하지 않음
|
||||
8
.agents/references/known-issues.md
Normal file
8
.agents/references/known-issues.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Known Issues — 과거 실패 기록
|
||||
|
||||
> 이 파일은 에이전트가 같은 실수를 반복하지 않도록 실패를 기록합니다.
|
||||
> 세션 종료 시 자동으로 새 이슈를 추가합니다.
|
||||
|
||||
---
|
||||
|
||||
(아직 기록된 이슈가 없습니다.)
|
||||
31
.agents/references/tech-stack.md
Normal file
31
.agents/references/tech-stack.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user