# Dti Calculator

> 한국 주택담보대출 DTI(총부채상환비율) 계산 및 DTI 기준 최대 대출 가능액 역산. 신DTI 산정기준, 서민·실수요자 우대(--seomin) 반영. 사용자가 "DTI 계산", "DTI 한도", "소득 대비 상환비율", "신DTI 기준 대출 한도"를 물어볼 때 사용. 단일 DTI 만 필요한 경우 사용하고, LTV·DSR 까지 동시에 보려면 loan-affordability 스킬을 사용. Korean DTI (Debt-To-Income) ratio calculator with 서민·실수요 60% override.

- Skill: `bancakim/dti-calculator` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add bancakim/dti-calculator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bancakim/dti-calculator/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: BancaKim (https://skillmd.com/u/bancakim)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/bancakim/dti-calculator

---


# DTI (총부채상환비율) 계산기

## ⚠️ 필수 규칙

**반드시 `python skills/dti-calculator/references/calculator.py` CLI를 실행하여 정확한 수치를 계산하세요.**
- DTI 비율 질문 → `python skills/dti-calculator/references/calculator.py calculate` 실행
- 최대 대출 가능액 질문 → `python skills/dti-calculator/references/calculator.py max-loan` 실행

## Workflow

### 1. 사용자 입력 파싱 및 필수 정보 확인

| 파라미터 | 필수 | 기본값 허용 | 설명 |
|---------|:---:|:----------:|------|
| annual_income | ✅ | ❌ | 연소득 (만원) |
| loan_amount | ✅* | ❌ | 대출금액 (만원) *calculate용 |
| **region** | ✅ | ❌ | **되물어야 함.** 투기과열(40%)/조정대상(50%)/비규제(60%) |
| **is_seomin** | | ❌ 자동판정 | 무주택 + 연소득 7천만 이하면 `--seomin` 플래그 추가 → 지역 불문 60% |
| loan_rate | | ✅ 4.5 | 금리 (%) |
| loan_months | | ✅ 360 | 기간 (개월) |

**⚠️ region이 불명확하면 CLI 실행 전 반드시 되묻기:**
- "매물이 어디에 있나요? 지역에 따라 DTI 한도가 40%~60%로 달라집니다."

**⚠️ 서민·실수요자 자동 체크 (반드시 수행):**
사용자가 **무주택 + 부부합산 연소득 7천만원 이하**이면 반드시 `--seomin` 플래그를 추가하세요.
- 미적용 시: 투기과열 40% / 조정대상 50% / 비규제 60% (일반 차주 기준)
- 적용 시: 지역 불문 **60%** (서민·실수요자 우대)
- 두 조건 중 하나라도 빠지면 자격 없음. 무주택 여부·소득 모두 확인 후 적용.

### 2. CLI 실행 (필수!)

상황에 맞는 명령을 실행합니다.

**DTI 계산 예시:**
```
python skills/dti-calculator/references/calculator.py calculate \
  --annual-income 5000 \
  --loan-amount 30000 \
  --loan-rate 4.5 \
  --loan-months 360 \
  --region 투기과열 \
  --existing-mortgages '[{"balance":10000,"rate":3.5,"remaining_months":240,"method":"원리금균등"}]' \
  --other-loans '[{"balance":5000,"rate":5.0}]'
```

**DTI 기준 최대 대출 가능액 역산:**
```
python skills/dti-calculator/references/calculator.py max-loan \
  --annual-income 5000 \
  --loan-rate 4.5 \
  --loan-months 360 \
  --region 투기과열
```

**서민·실수요자 (무주택 + 소득 7천만 이하) — `--seomin` 필수:**
```
python skills/dti-calculator/references/calculator.py max-loan \
  --annual-income 6500 \
  --loan-rate 4.5 \
  --loan-months 360 \
  --region 투기과열 \
  --seomin
```

### 3. 결과 해석

- DTI 비율과 한도 대비 여유/초과 정도
- 초과 시: 대출금액 축소, 상환기간 연장, 기타대출 상환 등 개선 방안
- **DTI는 기타대출의 이자만 포함** (DSR보다 느슨함을 안내)

## 핵심 규제 데이터

### DTI 한도율
| 지역 | DTI 한도 |
|------|:-------:|
| 투기지역·투기과열지구 | **40%** |
| 조정대상지역 | **50%** |
| 비규제지역 | **60%** |
| 서민·실수요자 (연소득 7천만 이하 무주택) | **60%** |

### 신DTI 산정 공식
```
신DTI(%) = (A + B + C) / 연소득 × 100
A = 해당 주담대 연간 원리금 상환액
B = 기존 주담대 연간 원리금 상환액
C = 기타대출 연간 이자 상환액 ← DSR과의 핵심 차이 (이자만!)
```

### DTI vs DSR 차이
- **DTI**: 기타대출의 **이자만** 포함, 스트레스 가산 없음
- **DSR**: **모든** 대출 **원리금** 포함, 스트레스 가산금리 적용
- 현행 실무에서 DTI와 DSR **모두** 통과해야 대출 승인

> ⚠️ **DTI 단독 수치는 실제 대출한도가 아닙니다.** DSR(스트레스 가산 포함) 및 LTV·가격대별 절대한도와 함께 가장 낮은 한도가 승인되며, 실제 승인액은 개별 금융기관의 신용평가·소득증빙·담보감정에 따라 달라집니다. 종합 한도는 `loan-affordability` 스킬을 사용하고, 정확한 조건은 해당 금융기관에 직접 확인하세요.

## 관련 스킬
- `dsr-calculator`: DSR 계산 (전체 부채 원리금 기준, 스트레스 포함)
- `ltv-calculator`: 담보가치 기준 한도
- `loan-affordability`: LTV·DTI·DSR 동시 적용 종합 한도

