From 2ad2f56d31bf0c1796e0ecb71f5a9fbade285976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A8=B8=EB=8B=88=ED=8E=98=EB=8B=88?= Date: Thu, 19 Mar 2026 23:18:16 +0900 Subject: [PATCH] docs: add project config docs, analysis report, and e2e signal cancel test Add CLAUDE.md and AGENTS.md for AI-assisted development guidance, analysis report with screenshots, and Playwright-based e2e test for signal cancellation flow. Co-Authored-By: Claude Opus 4.6 --- AGENTS.md | 67 ++++ CLAUDE.md | 86 ++++++ docs/plans/2026-03-18-analysis-report.md | 378 +++++++++++++++++++++++ docs/screenshots/debug-signals.png | Bin 0 -> 54026 bytes docs/screenshots/portfolio-detail.png | Bin 0 -> 40625 bytes docs/screenshots/signals-history.png | Bin 0 -> 54652 bytes docs/screenshots/signals-page.png | Bin 0 -> 54026 bytes docs/screenshots/strategy-compare.png | Bin 0 -> 35813 bytes frontend/e2e/signal-cancel.spec.ts | 152 +++++++++ frontend/package-lock.json | 64 ++++ frontend/package.json | 1 + 11 files changed, 748 insertions(+) create mode 100644 AGENTS.md create mode 100644 CLAUDE.md create mode 100644 docs/plans/2026-03-18-analysis-report.md create mode 100644 docs/screenshots/debug-signals.png create mode 100644 docs/screenshots/portfolio-detail.png create mode 100644 docs/screenshots/signals-history.png create mode 100644 docs/screenshots/signals-page.png create mode 100644 docs/screenshots/strategy-compare.png create mode 100644 frontend/e2e/signal-cancel.spec.ts diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..aadface --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,67 @@ +# AGENTS.md - galaxis-po 개발 에이전트 가이드 + +## 프로젝트 개요 +퀀트 & 퇴직연금 포트폴리오 관리 앱. +김종봉 전략 기반 백테스팅, 신호 생성, 포트폴리오 관리 기능 제공. + +## 기술 스택 +- **Backend**: FastAPI, Python 3.12, SQLAlchemy, PostgreSQL, uv +- **Frontend**: Next.js 15, React 19, TypeScript, Tailwind CSS +- **Infra**: Docker, Docker Compose + +## 디렉토리 구조 +``` +galaxis-po/ +├── backend/ +│ ├── app/ # FastAPI 앱 (main.py, api/, core/, models/) +│ ├── jobs/ # 스케줄러, 데이터 수집 잡 +│ ├── alembic/ # DB 마이그레이션 +│ └── requirements.txt / pyproject.toml +├── frontend/ # Next.js 앱 +├── docs/plans/ # 설계 문서 (구현 전 반드시 확인) +└── quant.md # 김종봉 전략 상세 가이드 +``` + +## 개발 원칙 + +### 코드 작성 시 +1. `docs/plans/` 의 관련 설계 문서를 먼저 확인할 것 +2. `quant.md` 에 전략 로직이 정의되어 있음 — 임의 변경 금지 +3. 기존 코드 스타일 유지 (Python: snake_case, TS: camelCase) +4. 모든 API 엔드포인트는 `backend/app/api/` 하위에 router로 추가 +5. DB 스키마 변경 시 alembic migration 파일 함께 생성 + +### 금지 사항 +- `.env` 파일 수정 금지 (`.env.example` 참고만 가능) +- `docker-compose.prod.yml` 임의 수정 금지 +- 테스트 없는 비즈니스 로직 추가 금지 + +### 작업 완료 조건 +- [ ] 기능 구현 +- [ ] 관련 테스트 추가 또는 기존 테스트 통과 확인 +- [ ] 타입 에러 없음 (Python: mypy / TS: tsc --noEmit) +- [ ] 작업 내용 요약 보고 + +## 자주 쓰는 명령 +```bash +# 백엔드 개발 서버 +cd backend && uv run uvicorn app.main:app --reload + +# 프론트엔드 개발 서버 +cd frontend && npm run dev + +# DB 마이그레이션 +cd backend && uv run alembic upgrade head + +# 테스트 실행 +cd backend && uv run pytest +``` + +## 보고 형식 +작업 완료 시: +``` +완료: [작업명] +변경 파일: [파일 목록] +주요 내용: [한 줄 요약] +주의사항: [있을 경우만] +``` diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..7abdd95 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,86 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +Galaxis-Po is a quant portfolio management application for DC pension (퇴직연금) investing. It implements the Kim Jong-bong (김종봉) strategy for backtesting, signal generation, and portfolio management. The strategy logic is defined in `quant.md` — do not modify it without explicit instruction. + +## Tech Stack + +- **Backend:** FastAPI, Python 3.12, SQLAlchemy, PostgreSQL, uv (package manager) +- **Frontend:** Next.js 15 (App Router), React 19, TypeScript, Tailwind CSS v4, shadcn/ui (Radix primitives) +- **Infrastructure:** Docker Compose, PostgreSQL 18 + +## Common Commands + +```bash +# Backend dev server (from repo root) +cd backend && uv run uvicorn app.main:app --reload + +# Frontend dev server +cd frontend && npm run dev + +# Run all backend tests +cd backend && uv run pytest + +# Run a single test file +cd backend && uv run pytest tests/unit/test_kjb_signal.py -v + +# Run e2e tests +cd backend && uv run pytest tests/e2e/ -v + +# DB migration +cd backend && uv run alembic upgrade head + +# Create new migration +cd backend && uv run alembic revision --autogenerate -m "description" + +# Frontend lint +cd frontend && npm run lint + +# Frontend type check +cd frontend && npx tsc --noEmit + +# Start all services via Docker +docker-compose up -d +``` + +## Architecture + +### Backend (`backend/`) + +- `app/main.py` — FastAPI app with lifespan manager (seeds admin user, starts APScheduler) +- `app/api/` — Route handlers (routers): auth, admin, portfolio, strategy, market, backtest, snapshot, data_explorer, signal +- `app/models/` — SQLAlchemy ORM models: user, stock, portfolio, signal, backtest +- `app/schemas/` — Pydantic request/response schemas +- `app/services/` — Business logic layer: + - `collectors/` — Market data collectors (pykrx for Korean stock data, DART API for financials) + - `strategy/` — Kim Jong-bong strategy implementation (signal generation, factor calculation) + - `backtest/` — Backtesting engine + - `rebalance.py` — Portfolio rebalancing logic + - `price_service.py`, `factor_calculator.py`, `returns_calculator.py` — Quant utilities +- `app/core/` — Config (pydantic-settings from `.env`), database (SQLAlchemy), security (JWT/bcrypt) +- `jobs/` — APScheduler background jobs: data collection, signal generation, portfolio snapshots +- `alembic/` — Database migrations +- `tests/` — `unit/` and `e2e/` test directories + +### Frontend (`frontend/`) + +- Next.js App Router at `src/app/` with pages: portfolio, strategy, signals, backtest, admin, login +- `src/components/` — UI components organized by domain (portfolio, strategy, charts, layout, ui) +- `src/lib/api.ts` — Backend API client +- Uses lightweight-charts for financial charts, recharts for other visualizations + +## Development Rules + +1. Check `docs/plans/` for relevant design documents before implementing features +2. All API endpoints go under `backend/app/api/` as routers +3. DB schema changes require an alembic migration +4. Do not modify `.env` or `docker-compose.prod.yml` +5. Python: snake_case; TypeScript: camelCase +6. External APIs: KIS (Korea Investment & Securities) for market data, DART for financial statements, pykrx for Korean exchange data + +## Environment + +Backend config is loaded via pydantic-settings from environment variables / `.env` file. Key variables: `DATABASE_URL`, `JWT_SECRET`, `KIS_APP_KEY`, `KIS_APP_SECRET`, `KIS_ACCOUNT_NO`, `DART_API_KEY`. See `.env.example` for reference. diff --git a/docs/plans/2026-03-18-analysis-report.md b/docs/plans/2026-03-18-analysis-report.md new file mode 100644 index 0000000..c326421 --- /dev/null +++ b/docs/plans/2026-03-18-analysis-report.md @@ -0,0 +1,378 @@ +# Galaxis-Po 코드 품질 및 완성도 심층 분석 보고서 + +**분석일:** 2026-03-18 +**분석 범위:** Backend (FastAPI), Frontend (Next.js), DB 모델, 설계 문서 + +--- + +## 목차 + +1. [미구현/불완전 기능 분석](#1-미구현불완전-기능-분석) +2. [코드 품질 이슈](#2-코드-품질-이슈) +3. [보안/안정성 이슈](#3-보안안정성-이슈) +4. [성능 이슈](#4-성능-이슈) +5. [Walk-forward 분석 구현 가능성 평가](#5-walk-forward-분석-구현-가능성-평가) +6. [종합 평가 및 권고사항](#6-종합-평가-및-권고사항) + +--- + +## 1. 미구현/불완전 기능 분석 + +### 1.1 Backend API 엔드포인트 전수 현황 + +총 **9개 라우터**, **44개 엔드포인트** + 헬스체크 1개 + +| 라우터 | 경로 접두사 | 엔드포인트 수 | 인증 필요 | +|--------|------------|:------------:|:---------:| +| auth | `/api/auth` | 4 | 부분적 | +| admin | `/api/admin` | 8 | 전체 | +| portfolio | `/api/portfolios` | 16 | 전체 | +| strategy | `/api/strategy` | 4 | 전체 | +| market | `/api/market` | 3 | 전체 | +| backtest | `/api/backtest` | 7 | 전체 | +| snapshot | `/api/portfolios/{id}` | 5 | 전체 | +| data_explorer | `/api/data` | 6 | 전체 | +| signal | `/api/signal` | 4 | 전체 | + +### 1.2 Frontend 페이지 현황 + +총 **15개 페이지**, **32개 API 호출** + +| 페이지 | 경로 | 주요 기능 | +|--------|------|----------| +| 로그인 | `/login` | SHA-256 해시 비밀번호 로그인 | +| 대시보드 | `/` | 총자산, 수익률, 자산배분 차트 | +| 포트폴리오 목록 | `/portfolio` | 포트폴리오 카드 그리드 | +| 포트폴리오 생성 | `/portfolio/new` | 이름, 유형 선택 | +| 포트폴리오 상세 | `/portfolio/[id]` | 보유종목, 거래내역, 분석 탭 | +| 리밸런싱 | `/portfolio/[id]/rebalance` | 전략 선택, 수동 가격 입력, 적용 | +| 포트폴리오 이력 | `/portfolio/[id]/history` | 스냅샷, 수익률 추이 | +| 전략 목록 | `/strategy` | 4개 전략 카드 | +| KJB 전략 | `/strategy/kjb` | 김종봉 전략 실행 | +| 멀티팩터 전략 | `/strategy/multi-factor` | 가중치 설정, 실행 | +| 퀄리티 전략 | `/strategy/quality` | F-Score 기반 | +| 가치모멘텀 전략 | `/strategy/value-momentum` | 가치+모멘텀 가중치 | +| 전략 비교 | `/strategy/compare` | 3개 전략 병렬 비교 | +| 백테스트 | `/backtest` | 생성, 결과 조회 | +| 백테스트 상세 | `/backtest/[id]` | 수익곡선, 드로다운, 거래내역 | +| 관리자 데이터 | `/admin/data` | 6개 수집기 실행/상태 | +| 데이터 탐색기 | `/admin/data/explorer` | 종목/ETF/섹터/밸류에이션 조회 | + +### 1.3 API-UI 매핑 갭 분석 + +#### API 있으나 UI 없는 항목 + +| API 엔드포인트 | 상태 | 설명 | +|---------------|------|------| +| `PUT /api/portfolios/{id}` | UI 없음 | 포트폴리오 이름/유형 수정 기능 | +| `DELETE /api/portfolios/{id}` | UI 없음 | 포트폴리오 삭제 기능 | +| `PUT /api/portfolios/{id}/targets` | UI 없음 | 목표 비중 설정 (독립 UI 없음, 리밸런싱에서 간접 사용) | +| `PUT /api/portfolios/{id}/holdings` | UI 없음 | 보유종목 직접 설정 | +| `POST /api/portfolios/{id}/transactions` | UI 없음 | 수동 거래 추가 (신호 실행 외) | +| `GET /api/portfolios/{id}/rebalance` | UI 없음 | 자동 리밸런싱 계산 (수동 계산만 UI에 있음) | +| `POST /api/portfolios/{id}/rebalance/simulate` | UI 없음 | 추가 투자 시뮬레이션 | +| `GET /api/market/stocks/{ticker}` | UI 없음 | 개별 종목 상세 정보 | +| `GET /api/market/stocks/{ticker}/prices` | UI 없음 | 개별 종목 가격 차트 (data_explorer와 중복) | +| `GET /api/market/search` | UI 없음 | 종목 검색 (독립 UI 없음) | +| `DELETE /api/backtest/{id}` | UI 없음 | 백테스트 삭제 | +| `POST /api/auth/register` | 비활성 | 코드에서 403 반환으로 비활성화됨 | +| `POST /api/admin/collect/backfill` | UI 없음 | 과거 데이터 백필 기능 | + +#### UI 있으나 실제 데이터가 아닌 항목 + +| UI 요소 | 위치 | 설명 | +|---------|------|------| +| 포트폴리오 가치 차트 | `/portfolio/[id]` | 90일 시뮬레이션 사인파 데이터 사용 (실제 스냅샷 기반 아님) | + +### 1.4 설계 문서 vs 구현 대조 + +| 설계 문서 | 구현 상태 | 미구현 항목 | +|----------|:---------:|-----------| +| Phase 1: Foundation | 완료 | - | +| Phase 2: Data Collection | 완료 | Financial collector 설계는 있으나 UI에서 직접 트리거 불가 | +| Phase 3: Portfolio Management | 대부분 완료 | 포트폴리오 수정/삭제 UI 없음, 수동 거래 입력 UI 없음 | +| Phase 4: Quant Strategy | 완료 | - | +| Phase 5: Backtest Engine | 완료 | 백테스트 삭제/비교 UI 없음 | +| Phase 6: Finishing | 부분 완료 | 종합 테스트 미흡, 프로덕션 배포 문서화 미완 | +| KJB 전략 설계 | 완료 | DailyBacktestEngine, TradingPortfolio 모두 구현 | +| 리밸런싱 설계 | 완료 | 추가 투자 시뮬레이션 UI 없음 | +| DC 시나리오 갭 분석 | 문서만 존재 | 6개 시나리오 검증 미구현 | +| 프로덕션 배포 설계 | 문서만 존재 | Nginx, SSL, 모니터링 등 미구현 | + +--- + +## 2. 코드 품질 이슈 + +### 2.1 TODO/FIXME/HACK 검색 결과 + +**결과: 0건** - Backend/Frontend 모두 TODO, FIXME, HACK, XXX, NotImplementedError 없음. + +### 2.2 에러 핸들링 이슈 + +#### Frontend - console.error만 있고 사용자 피드백 없는 경우 + +| 파일 | 위치 | 설명 | +|------|------|------| +| `frontend/src/app/signals/page.tsx` | L161, L176, L185 | `fetchTodaySignals`, `fetchHistorySignals`, `fetchPortfolios` 에러 시 console만 | +| `frontend/src/app/signals/page.tsx` | L246-254 | 포지션 사이징 API 에러 무시 | +| `frontend/src/app/admin/data/explorer/page.tsx` | L121-135 | ETF 가격 조회 에러 시 빈 배열로 대체 | +| `frontend/src/app/backtest/page.tsx` | 중첩 fetch | 내부 상세 조회 실패 시 UI 피드백 없음 | + +#### Frontend - Error Boundary 부재 + +- 전체 프론트엔드에 React Error Boundary가 없음 +- 컴포넌트 렌더링 에러 시 전체 페이지 크래시 가능 + +### 2.3 타입 안전성 이슈 + +| 위치 | 설명 | +|------|------| +| `frontend/src/app/portfolio/[id]/rebalance/page.tsx` L313 | `as { data: Portfolio[] }` 강제 캐스팅 | +| `frontend/src/app/admin/data/explorer/page.tsx` 다수 | 데이터 아이템 `as` 타입 단언 다수 사용 | + +--- + +## 3. 보안/안정성 이슈 + +### 3.1 심각도별 분류 + +#### CRITICAL - 하드코딩된 시크릿 + +| 파일 | 라인 | 내용 | +|------|------|------| +| `backend/app/core/config.py` | L14 | `database_url` 기본값에 비밀번호 포함: `postgresql://galaxy:devpassword@localhost:5432/galaxy_po` | +| `backend/app/core/config.py` | L17 | `jwt_secret` 기본값: `"dev-jwt-secret-change-in-production"` | + +> pydantic-settings로 환경변수 오버라이드 가능하나, 소스코드에 기본값이 남아 있음 + +#### HIGH - JWT 토큰 관리 + +| 이슈 | 설명 | +|------|------| +| 토큰 무효화 불가 | `POST /api/auth/logout`이 서버 측 토큰 무효화 없이 클라이언트에 의존 | +| localStorage 저장 | `frontend/src/lib/api.ts` L18,25,32 - XSS 공격 시 토큰 탈취 가능 | + +#### MEDIUM - 인증 패턴 + +| 파일 | 설명 | +|------|------| +| `backend/app/api/backtest.py` L96,143,176,217,259 | 백테스트 조회 시 `user_id` 필터 없이 전체 조회 후 소유권 확인 - 비효율적이며 정보 노출 가능 | + +### 3.2 SQL 인젝션 + +**위험도: 없음** - 모든 DB 쿼리가 SQLAlchemy ORM 사용. raw SQL 쿼리 없음. + +### 3.3 민감 정보 로깅 + +**위험도: 없음** - 비밀번호, 토큰, API 키 로깅 없음 확인. + +### 3.4 인증 없이 접근 가능한 엔드포인트 + +| 엔드포인트 | 인증 | 비고 | +|-----------|:----:|------| +| `GET /health` | 불필요 | 정상 (헬스체크) | +| `POST /api/auth/login` | 불필요 | 정상 (로그인) | +| `POST /api/auth/register` | 불필요 | 비활성화 (403 반환) | +| `POST /api/auth/logout` | 불필요 | 클라이언트 측 처리 | + +> 그 외 모든 엔드포인트는 `CurrentUser` 의존성으로 인증 필수 + +--- + +## 4. 성능 이슈 + +### 4.1 N+1 쿼리 패턴 + +| 파일 | 위치 | 심각도 | 설명 | +|------|------|:------:|------| +| `backend/app/api/backtest.py` | L71-82 | HIGH | `list_backtests`에서 모든 백테스트 순회하며 `bt.result` lazy 로딩 → N+1 | +| `frontend/src/app/portfolio/page.tsx` | L55-70 | MEDIUM | 포트폴리오 목록에서 각 포트폴리오별 detail API 개별 호출 | + +### 4.2 인덱스 누락 (DB) + +현재 인덱스: `users(email)`, `users(id)`, `job_logs(id)`, `signals(date, ticker)`, 각 테이블 PK만 존재 + +#### Tier 1 - 백테스트 성능 (긴급) + +```sql +-- 가격 데이터 (백테스트에서 가장 빈번하게 조회) +CREATE INDEX idx_price_date ON prices(date); + +-- 종목 유니버스 필터링 +CREATE INDEX idx_stock_market ON stocks(market); +CREATE INDEX idx_stock_market_cap ON stocks(market_cap DESC); + +-- 밸류에이션 스크리닝 +CREATE INDEX idx_valuation_base_date ON valuations(base_date); +``` + +#### Tier 2 - 포트폴리오/신호 (중요) + +```sql +-- 신호 조회 +CREATE INDEX idx_signal_status_date ON signals(status, date); + +-- 거래 내역 +CREATE INDEX idx_transaction_portfolio_executed ON transactions(portfolio_id, executed_at); + +-- 백테스트 목록 +CREATE INDEX idx_backtest_user_created ON backtests(user_id, created_at); +CREATE INDEX idx_backtest_status ON backtests(status); +``` + +#### Tier 3 - 최적화 + +```sql +-- 재무 데이터 +CREATE INDEX idx_financial_base_date ON financials(base_date); + +-- ETF 필터링 +CREATE INDEX idx_etf_asset_class ON etfs(asset_class); +CREATE INDEX idx_etf_price_date ON etf_prices(date); +``` + +### 4.3 대용량 데이터 처리 이슈 + +| 파일 | 위치 | 설명 | +|------|------|------| +| `backend/app/services/backtest/engine.py` | L352 | `Stock.query.all()` - 전체 종목 메모리 로드 | +| `backend/app/services/backtest/daily_engine.py` | L147-187 | 다수의 `.all()` 호출로 대용량 데이터 메모리 로드 | +| `backend/app/services/price_service.py` | L92,114,180 | 전체 가격 데이터 제한 없이 로드 | +| `backend/app/api/data_explorer.py` | L138,180 | 종목 가격 이력 페이지네이션 없이 전체 반환 | +| `backend/app/api/snapshot.py` | L49,230 | 스냅샷 전체 조회 제한 없음 | +| `backend/app/api/portfolio.py` | L39 | 포트폴리오 전체 조회 제한 없음 | + +### 4.4 비동기 작업 관리 + +| 이슈 | 설명 | +|------|------| +| 데몬 스레드 사용 | 데이터 수집기가 daemon thread로 실행 → 앱 종료 시 작업 유실 가능 | +| 작업 큐 미사용 | Celery/RQ 등 없이 in-process thread 실행 → 재시작 시 상태 복구 불가 | + +--- + +## 5. Walk-forward 분석 구현 가능성 평가 + +### 5.1 현재 백테스트 엔진 구조 + +``` +BacktestWorker.submit_backtest() + ├── strategy_type == "kjb" + │ └── DailyBacktestEngine (신호 기반 일일 매매) + │ ├── TradingPortfolio (개별 포지션 관리) + │ └── KJBSignalGenerator (매수/매도 조건 판단) + └── strategy_type != "kjb" + └── BacktestEngine (정기 리밸런싱) + ├── VirtualPortfolio (균등 가중 포트폴리오) + └── MetricsCalculator (수익률, MDD, 샤프 등) +``` + +**핵심 클래스:** +- `BacktestEngine` (engine.py) - 주기적 리밸런싱 시뮬레이션 +- `DailyBacktestEngine` (daily_engine.py) - 일일 신호 기반 매매 +- `VirtualPortfolio` - 단순 포트폴리오 (리밸런싱용) +- `TradingPortfolio` - 포지션 기반 포트폴리오 (손절/익절 관리) +- `MetricsCalculator` - 독립적 성과 지표 계산 + +### 5.2 Walk-forward 구현 가능성: **높음 (HIGHLY FEASIBLE)** + +#### 유리한 구조적 요소 + +| 요소 | 설명 | +|------|------| +| 데이터 분할 용이 | `_get_trading_days()`가 날짜 범위 필터링 지원 → 학습/검증 윈도우 분할 가능 | +| 전략 재사용성 | 전략 인스턴스화가 분리됨 → 동일 전략을 다른 기간에 실행 가능 | +| 메트릭스 독립성 | `MetricsCalculator`가 값 배열만 받음 → 백테스트 인스턴스와 무관 | +| 글로벌 상태 없음 | 각 `BacktestEngine` 인스턴스가 독립적 → 여러 기간 동시 실행 가능 | +| 결과 분리 저장 | metrics, equity curve, holdings, transactions 별도 테이블 → 학습/검증 비교 가능 | + +#### 구현 방안 + +``` +1. WalkForwardEngine 클래스 추가 + - train_window, test_window, step_size 파라미터 + - 롤링 윈도우 생성기 + +2. 각 윈도우에서: + - 학습 기간: 기존 BacktestEngine으로 전략 실행 → 최적 파라미터 도출 + - 검증 기간: 학습된 파라미터로 별도 BacktestEngine 실행 + +3. 전체 검증 기간 결과 합산 → 최종 성과 지표 계산 +``` + +#### 예상 작업량 + +| 작업 | 예상 규모 | 설명 | +|------|:---------:|------| +| `WalkForwardEngine` 클래스 | 중 | 윈도우 분할 + 순차 실행 로직 | +| 파라미터 최적화 모듈 | 중~대 | 전략별 파라미터 그리드 서치 또는 최적화 | +| DB 모델 추가 | 소 | `WalkForwardResult` 테이블 (윈도우별 결과 저장) | +| API 엔드포인트 | 소 | 생성/조회/결과 반환 | +| Frontend UI | 중 | 설정 폼 + 윈도우별 결과 시각화 | +| **총합** | **중~대 규모** | 약 5-8개 파일 신규/수정 | + +#### 주의사항 +- 백테스트 실행 시간이 윈도우 수만큼 배수로 증가 → 백그라운드 실행 필수 +- 파라미터 최적화 시 과적합(overfitting) 방지 로직 필요 +- 현재 daemon thread 방식으로는 장시간 실행에 부적합 → Celery 도입 검토 + +--- + +## 6. 종합 평가 및 권고사항 + +### 6.1 종합 스코어카드 + +| 항목 | 점수 | 평가 | +|------|:----:|------| +| 기능 완성도 | 8/10 | 핵심 기능 구현 완료, CRUD UI 일부 누락 | +| 코드 품질 | 8/10 | TODO/FIXME 없음, 일관된 코드 스타일 | +| 보안 | 6/10 | SQL 인젝션 안전, 하드코딩 시크릿/토큰 관리 취약 | +| 성능 | 5/10 | 인덱스 부재, N+1 쿼리, 무제한 데이터 로드 | +| 테스트 커버리지 | 미측정 | unit/e2e 구조 존재, 커버리지 분석 필요 | +| 프로덕션 준비도 | 4/10 | 작업 큐 없음, 모니터링/로깅 미흡 | + +### 6.2 우선순위별 권고사항 + +#### 즉시 조치 (P0) + +1. **하드코딩 시크릿 제거** - `config.py`의 database_url, jwt_secret 기본값을 환경변수 필수로 변경 +2. **DB 인덱스 추가** - Tier 1 인덱스 마이그레이션 생성 (백테스트 성능 직결) +3. **N+1 쿼리 수정** - `backtest.py` list_backtests에 `joinedload(Backtest.result)` 추가 + +#### 단기 개선 (P1) + +4. **포트폴리오 CRUD UI 완성** - 수정/삭제/수동 거래 입력 화면 추가 +5. **에러 핸들링 통일** - Frontend Error Boundary 추가, console.error를 사용자 피드백으로 전환 +6. **페이지네이션 적용** - 가격 이력, 스냅샷, 거래 내역 등 무제한 로드 수정 +7. **백테스트 삭제 UI** - 불필요한 백테스트 정리 기능 + +#### 중기 개선 (P2) + +8. **JWT httpOnly 쿠키 전환** - localStorage에서 secure cookie로 변경 +9. **작업 큐 도입** - Celery/RQ로 데이터 수집 및 백테스트 실행 안정화 +10. **포트폴리오 가치 차트 실데이터화** - 시뮬레이션 사인파 → 스냅샷 기반 실제 데이터 +11. **React Error Boundary** 추가 + +#### 장기 개선 (P3) + +12. **Walk-forward 분석 구현** - 위 평가 참고 +13. **백테스트 비교 기능** - 전략 간 성과 비교 UI +14. **DC 시나리오 검증** - 6개 시나리오 자동 검증 파이프라인 +15. **프로덕션 인프라** - Nginx, SSL, 모니터링, 로깅 체계 + +--- + +### 6.3 파일별 이슈 요약 + +| 파일 | 이슈 유형 | 심각도 | +|------|----------|:------:| +| `backend/app/core/config.py` | 하드코딩 시크릿 | CRITICAL | +| `backend/app/api/backtest.py` | N+1 쿼리, 비효율적 인증 패턴 | HIGH | +| `backend/app/services/backtest/engine.py` | 전체 종목 메모리 로드 | MEDIUM | +| `backend/app/services/backtest/daily_engine.py` | 다수 unbounded `.all()` | MEDIUM | +| `backend/app/services/price_service.py` | 무제한 가격 데이터 로드 | MEDIUM | +| `backend/app/api/data_explorer.py` | 가격 이력 페이지네이션 없음 | MEDIUM | +| `frontend/src/lib/api.ts` | localStorage 토큰 저장 | MEDIUM | +| `frontend/src/app/signals/page.tsx` | 에러 핸들링 누락 (console만) | LOW | +| `frontend/src/app/portfolio/[id]/page.tsx` | 시뮬레이션 차트 데이터 | LOW | +| DB migrations | 성능 인덱스 대부분 누락 | HIGH | diff --git a/docs/screenshots/debug-signals.png b/docs/screenshots/debug-signals.png new file mode 100644 index 0000000000000000000000000000000000000000..84f56468cddf6694d3308ff887279a6384274878 GIT binary patch literal 54026 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 V7spl@g8yL1NGiT97B~9xKL8KKKhFRF literal 0 HcmV?d00001 diff --git a/docs/screenshots/portfolio-detail.png b/docs/screenshots/portfolio-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f7f9783800f0066de0ccdd15539271eacb2764 GIT binary patch literal 40625 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 Sk%!4@K`kef@7M|C~<% literal 0 HcmV?d00001 diff --git a/docs/screenshots/signals-page.png b/docs/screenshots/signals-page.png new file mode 100644 index 0000000000000000000000000000000000000000..84f56468cddf6694d3308ff887279a6384274878 GIT binary patch literal 54026 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 V7spl@g8yL1NGiT97B~9xKL8KKKhFRF literal 0 HcmV?d00001 diff --git a/docs/screenshots/strategy-compare.png b/docs/screenshots/strategy-compare.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9feab8435212e4058e014227c1550a3cea96fc GIT binary patch literal 35813 zcmdSB_dlEeAOEY1cWLQBYj@bQt)g~S)uxRRJFOPA_YBfj)w>j}*@~bxA+c8ws`efc zBe7$|-hyy0@6Y+(&OdO@59gV(6E=LZtI!HX3i))Ld7*d-wPL1T_9$-9PEf=dQoX zw_G8qQCGMwv8Wkl3fFzznSfqZ{P=wWN=M zD7M4;#o?EcfZ?PJ;wsSWyE@u2z>Tc68ST-rb9={cCdF*1-_+Fg>OylYWhzBk#3=tI)@9YSbV2KAVGs+Y z#@k^}=393;=uqUi7*Wg(9_Kv&Tapas8!IdM0T6|wyjS6&M3tmJrnvm zp@_+6fbMg}EIPh@E4jCs6O1^;oJ4PT7o-}CQnFmvp)CJBOGM#cmZ?vl&RdQS-f5+! zql;vd(s2Q?C4@}|%BVY^&NWq5xSGjsZa&m{739}mBGrNkTBy?}O%REzm6u9o3XTdr zb9}Zoc7F8*9WizOfv(qPTZJBBE0qogl+xD4>cSseD4d4%D*LNj%D>*ob;P4Y zKBVx>9}Bzwl(g$L9fdINYn)z+NDw|-h0CuS;17H+wEi^;-^wXmjXV}@9xojCT|V?$ z8}XS&mrnTYQf{Tfo(VVA*DDQ}V69evsr@+Uo6cy#5UbYqkB{d zE^hiH;P_oDqjO+jEf&7n{%`-y%q-^|B{IWLsci#wb@dSH9Ep_Y{#Z&(QS{jCs6q@Z zj({T&Vq)Ur;$OdNMkE#tt*@_=>>s?tpIlI%lUg4uJsmfd(feq8f2T!vd?*YncJNz^ zq*e0$=TFg(7OZH{b{svcYy&WTY*qy zKi+O&7kSiqRI0YkUvh^h^_Eo%e`ganXXe>`sFKp+{16mWhYQuHTZ*u@p0&2N-sS12 z%gJeN=~hn=H?KRL`cYMNpqRL(Eay1TcRgmqim>g=*Bm~`Qd^|j2t_j*3-rGXR0^qtqF1 zD`;^Wi#i-*_myF9$BxLx=gytP@b)5P}O>zBSaom!Cb^fYd=*n48OOG(TT~3W*(zJS+`Z zefT)tJTa=jKQs&)V*nb8=#?*X6)T6Bz8|a!ZP!gnJ|3AmIwV)t?vTf8RG-Ot@Mig* zzA4%0GPpUk%?PaIvB-T%$MK1`x6seqJa#)85o3>id^`+afB9RyBpEzX<`1o+H+KmfUM!gd zTb!M(3nbMvGDY>Td#)VhF)35D_BXmKm2Mw4JiUx-fqJ^R`At^~c|`pCFQFPb32Z^7 zAbvxujh625uq$h+*LI^jAFZygUXj-SrnElw+SSf3hhtKkm}3~jx2ln=r>FO0rUK*_ zuqWg#rlz1vaUV`3|Jmb$u2olVq{cH%29#0eK`)N zxc1RNS!%!vDPyOa*ceb&(VJcp$(Fl)o1RC}$w8#{AC*ryiOuspr>ncCb@&Qh2B~I^ zpN1~sfn4!5+3wH}*i@IrNuW@Fg|-CoV#ugh@j6GXsqkoSc~gvWBv2IPH@rsTq5C@8_?J-f<9I>F4Pr!Dl4WKwDR+Mk6zCf z93=5C%l_3xM0|W!f({oKXXblRI^Kz&dmpR0TK-Nv2{N0>jWcR$LTi={uiwGWwDKz< znImI%JEJ9O6*r1R^^>>$q&nW>;Jo{UBcOi0;kwo?HyPmd0UmR_1Zc%p7Lrc4RU4vsindeB#-LInDmC_`|4JusAg_@cQJ zKi-hCdgSAHp9$ZF*KQogLxE#pzvHVcmkd(tsu-!h9PZ=K}E^;E24 z_IaK-^$Esflce&==QlpL8^DhJ>o+Ta&)<(X0z)KVsz{{{DrlCj2OX%vjl02ON4O{N zG&3Dw`jgYDbj}n{(_IInmDSZ=NL88J=A+AAVS6r4gxq=$27(R^$}DRjF}3b!P7>X= zMexVA>%vxBd2|dIN{JYsu_AkTT=gg9Qed%<#@+ge(Qho$UlbJ6`-p3p4jxhH>9IV!o8 zJS6Nv|9y-gdsV;#l*rZMB&sVCXn;4sMaqkW3 z3-0ch9cJQtqsH!q^~L>>q$uuU+PMi9mMjJW{J^LFz1A~OIKkJ6s3GR-?S#`f?`H9= zM5@{_Je2|L#4QWdxqphYM)&q&Vt$|Ck`CD)ukP%`&bBIUeYXzv&8~AI91NABx#c`` z_BS&2CzJPD7-)lR1CM4Uwpo##H#ha_d_vS*;g)piGGrfw9ccPU82MC6vBDE3>}j zDS$XS@IzZZJpGl2b{#3R&-Is{Rhd0-l0J(%HnNvz01Q zXEbw|yu;v+ZUmm#kNi$@SUyGBW zPHm$4w1&u!hoO*S3q-`Jl7!+U)dMBkWnS@Ssb)1*AAYYhr`OVSueGOh8n624{Gqq& zc)^=#1+Kg$HsvmJ&-rK5M)r|pV~*|D>zQ$eA=6g(BryAzeVV_|HZ@VUxb9=i)mT@huc zf>X`T4J*dIw_P4}_949-1 z#WnQx^))qPjc$l;KRQu@Th!@*_g_9+|22yl(oV%q&d)|i4HV)gUmBteUtvjgzE-jD zwcmy~+o0_wUrFU3bII^T^SitwJ*b0#u^&`;#Oi(Jeu8YMK*^U-%iW!wjlDgPo8#iZ zI?(M6*A%o93b`fME}Q-Yre}7kd?hNuQ3AUcRf{8Cu)r8kW8ZJ_KW1!*iR}H7(%asy ztF5iCsT=wAD+2>IV1A|Awf;~8pJN~UXOQoF=OsblS+W}oRV8DPooHL;oTGnLh_Ij7Y@1oR8@gGf058JAD-(#r0&2?l~d(PED;A|BQ?A59rQZ>*Wt=L zZxzN1tHfeGKn?dP2nd8}zFj+-Pb6WFE3CM+4iP&WK~ap&VYloAT8DL)wf-$MEq{j0 z_Rg}I-BSg9K*+i0)*&pz60Sl5_Q$(1Q5xcPoZO~$9vYo3p|>Q5^Q?sA1@M06p5H3V zH=dVhkw+wSxm~thuTD$(PPi&}QE+Lm?sdiX)_cs%Edh^uWNSW>eHe3ojR^Go|FM9t zo)2bcZU&wTGicw4`WhKqTX@p;u(%kPZ)^;%uBsX;G(c*R!d>fk8|Bx7Y~O@|=u)V} zTUw?f&NQ?xmw+Lj_>YHg+^m2ea;Xx~lGyIl)ioQ>{DZF4 zLvPxhHHG15i9=^Pt7EJyTsn6Yr52)fmoK+Fi7-sKdHHLjbS0F=(f?e9bcL*} zfAgM2y@%z#mFlbkRC z?eBKVXHh4|W zA*3WydHdXL-+NN~^@lB(8j^h2vB;f$tc2w*b*0*SdFXg2qY}55c1K(NYHUmlX17LJ zMh5>ZHNe|3I>_%cfSS_Y97@vA#UDXk+O`u>@$aRllCkx^QhAWsKk@&*x!~F*0#A-f zfqX|ZTTYr|0-9;dk@F-H?2ve`y}0HYa(uYGf7;>sx0>Xi$@$~e?an}%citaBy27?7 zU1;p_Q?gF8&#-O-bbdwlazhC1p8aTgo^_}$>=*^_9K_@8+S6r2csMhnbVM65fEZ4Y zIbBK&#oy0JNmf`h<`KO^Gs~FO*`TB};XC!TZyJ1m*mWc(DZ$obHHZpTS8FxQKiDsy zVPpFh7R^~%tM7Rq4{)pZVJBA_4ox+Li;a6|Ma`?L<<<$XbdS)6BqNbB*U{JO(}ShA z3YG>?_J&S>q8ac$PPq36X)fsCjk=YEAHVBtVn+@#8)zW2&Lpb@nN~Q6Cr)l_D60nlx2>5M=>mb{Nuy#>wKFT$AKzV{GTMYUW16R6kxe%&( zFUYfcyj+up1n;3#v|qn|>Tt~GNyQ#GB$%xM>aVZr;P1QY^`Y!y75bPkgqchN4JQZW z*r@>&ZCU0~Y8Yb|v=c~7isuUzx5NbPHyUWYQaNZm*&i7l)8qD>^z{VS?~dvZ+~!=A zaq;7sb*9^2Vh-3OAKP$b)u|%CoGG#82bG2G0>Xi$iqjTKFG#Dsz5QV|xuaS&+#Blm zy6q`7q4>qG(WWLUhAlNS$IfI#znQ*~{3$jzmSm8mpL$s_U?p=XIICy}cWWIO!WDNm z{*HPEb4dmqP(u!f3k|fZFa6U{l|i-3Hcfz)SXx+g72+)Q0M?l1E?XU%@z}oxUPTxh z%qV&&B7zw~crEwobQDo2GCfb%2-(F15NOcSB6;OB>2A5oYCfc%`pzsMyRHrqYt^g< zGxuj(uYWAAcz>{GxTn2+dYUf4Y+`usX5H3b)s8}Zu_`>#DhQ(;twL_voPEIrb$j`B z@6I_t!u@8fVS7VI_ai|Us)BES2X2|<9emO*PkxuqHC{>CiTLFioC2Gk;mhL{siZk~ zyUHKqv+fGu#_IBJxOCD(s_Gd*G)98%=4xa3=ZAe<#;df{ko;fE%gc+)%LiRIAF$*T zfk}%vjB9?*<2jxLO*eO*+qirAvL;;GwYO73;gj1q9YT5um@)=o2W#VK_Oj2PEqjM`HWMrKRNxCbd0)Ry8g(h5UZDaWl5%KYk2o z!aN%7cPW^;UQ0T?x%v6gu`xq5r-FS~&>BiyD{qwmyVuZ*F)pV+jMT=vKuYb=0CJcf zu7sL12&mmQsc=zWsEFhn?AQtwxxNmQLcbz9lq129**+|Yn)yP|jLvX8WUrNx4tgXM z9k-I{|318~F327Qd(c;`%2EBl_mBnXQicRqLh<@YZ1e;qCm?IN-+l79b|!<3!3t(u z7L>O+7ryRh1hn2@nx2sqO)AFE zXm9)PNMp0h?oJim|JW`pf_QqekB!-pNdBV=b<=#lA?TNM(cXKOZy1a#TlYN$O3pFBIT%A@01cvF{ME3Ok(COf z4pR%0hK-ovY|3J%?$cw1nCP*wF=M2~6T|&8Sv!<#_^^ubhXwvj;tL*WDyw+Evx?(H zGG?%(mVo$=iH^OT>GVabH@62-$Bewhl&se3C%6;QFFHIxT4rmI3qG11-J^rdW}z`ne-83*Wpy`Ba|+X z7IHFeG{`+29Tc~gV;b1{ErF|v4jXo*tO9&FEQ6S90{_rwu9LVvw&$5A_4QC+p%_! zPwA2zzmn$KRn$TJn5&LcdbO^SpLZ=md&YUPcywFVOprN=lrx#*B zSm2gIx*H@f<7i?~S-7IRm&bg`8^A*JqziMG05K%~vDP7L3j|7_-#)o-$Brws-N-cd z`OkqNumH$1>)(84qkuXEf>&gJ@mDbp{KLxj{HqvXr^dpe8ILT|2)BLBZsdU;qv8p6 z3v+_3g~y(W1n?Dc8Qb>~?c?ftDf_#7hIDBa#XsVfp<<7WSC>epU475{-7l*t|BF3* zz}t2TAS4;$RiJ>;xPbw-xVOJsQC|MznM);OHzPL#(SPdi2kuo~CNSz+E^`l?Gdw2g z_g+_zcvqSG<@V0g5uvOx)<{PPhWlu5L0NJT zx^VNceoQh0#KgLUeg5ri>^H}rVc-9=(!i@lapp(fu9(-9>>%}?p?u@%gQbYm{bqtg zdsqmfyufvk zwzq+qX8bNfX6;Gb_c$|5fZD8!UKC@_Gl^w!?O`dcY(%A(s+PlHwKm>|M`5%`PbzlY zZ1DfS301%BzaLJHi$9cIZ4Gtwwv*D98hH^@oPLF?kA#%fP7U4`fk7mge8Kkg!V4nh zllt|RypC|00-IoTD134d)qd7zk0*Qq9c@jKs>0Oh_`lm=+6JRXtJGu28BIqQ5BxcN zmvLFR4rO1pW`2c}m&(+=oR+JUopH5ZJ@{SRN{=(V%<sn7!@wGlwL zcsYGajb5k`JCa^iIG)gs2Ik}3ReLrz+KhKLEC@z1OW-%5K$Tn zqWAZw#H2U>h+PQjpwM1AFk9ncyUD|SeXzvc`9E_r%_!??gI!OU_90LfEejo3a0!Sb z{S_s@M?kL-ddW+zaJIq*b<&daOK<%FpHwe*QHrv!ItXVySc>mmTOY4h&taYHH78~T z4IUkN4HR~C_F_4?*=|qGu94Fn6}&{fmTI_aXp-ZSD?Cp(_X^nq{Hxej{I^l}8$Sk@ zBPS0`dF>bG=98doJ$g~}FFibiO&{#zC*QsKyV3ZThx=8!b86sxyg`nt&GcaOgu_r# z3P^5rbTo*T;CF7>SgfdWA?Y9Bwj3wM?;W{V_5bQ6byB(5`AEWQ{jYx9C`vy#3Rp7c z%gLTJu|X89Bs0~gpeF|^{Oh3dIULTVBnhfw3u5D3FCym*1)y8kC~#FkMs(%`re8yPZu+ zUr1TfRDfn#EzgWqhMcIiTubDav4fVfedW{>glO&Vyf(Uir;ManOI^!}NoQGB*jsGt zh!;L{4I2=vth7^4VGtSc0+CL?Ll`2*x$D{bXJbPoGwV`6M|31^c_2#!f zI6KA3q;i$+_vNi%dl-O8*}lK30vS>2(fRi;pP*WX70dYG_+WPv5r8A~J@jq{+?VFg5u2_?+b~+*&c^Zzm4?s`tqQTGf|)*5tW;q=ZG}Thpk2;+H*OCj&U^ z{f(zsXuh$qYu~{R93s@9yM)gPBMgzs${tJ6XnzTuu5OQt3SD5&%*^EHjKn^9OYi^@5rfth)7a>@@% zcdtmT0+AZzdWAJUE_ttW9cD~_xd8M~LkOYg%(1^XWZi*;0CI9Ph?h@_+OEEyy1U%L z!&>0)-|-Iz2Zty0;LQp9?9#uwRu_&tjwa!Rroa6c;8LQvK)nNfIlsl+;JzThr-T() zWyY14{=SuOC|A9_gs__tWm>9SkqrowpC+Fff zxuh&kwcq4nQtlgka)Isuy1zR7!m_8QJwDw%WXwne{7+oit|K_lAR`84w;&y9E+Z+A zh>3`eJ%4PVr`I!-n6p%=arhAVn zQ#NQVR3=5l%;aFX;BLqfeAM*KkBaA^q#K%ATE@4AmJq;NKFC|JSzO>`y9ooP`Qu{_ zme&A(l6ADHvdHacJ)vV7iqHcr48z7b^p0mRMS4@28$oJ@x9G{dC>$6WGnLV7hZt+08*gPp|Pr-Ps zdi&Pa&ddK6Yh{1I4Wu=;%+n+N-U91=+KSc(Y3Xj+MeB(H#Sp>CH8(%K#y+*oWzu6e z*rQ6T*qhA6z_fdhX}OK)$-t+T7l=bph^@;9x7Q95YiDMg-@Nj_!e$=8Bo#=7L&`^P?O9iF#Nx$nzi7Y9hGF!R$RGVGh)&hU_W zNexspDpC@~5~0T!%F9KHb6qIBeV-C=TgC`|NU@J6H*I zYp&U{XN!?oFxLA!fbyr-1b`_?qwvVs*jY#Y=#E~I`JC@A^e>-W-uS>a*)xGbZxBAq zK;VaCoxQoMK(q-fkxU&;oUGrT$XTzaIv~bu)pa>WuwW1<9Q4?-0uD#Qkw^>%9uX12 z3=Zj}GtM{p?ShbZ{9E4Vc?%bMxJy2>HX4X&W#>jvxm%u!a(dl$TGNj;G##KHL1{`u zg*DtPIdRQ#zcbd>-3OcAOBI-RccjFto@Z&0i;9ZchEaR~@~=$&>qiu76$V;DUawy8 zasMlB?lsoEjqMdQi-^M3#=jMX=7MS=$|9Axa>wiBXWO9F_Rw)k2Ki*y zZO&}>>ePG5c1`wz&&Gl^T3}SON^wcmg>znK%YoC4O!T0hQD}BQHSRaFAo zv0>GwFcV3^9Wey0ro$L5$pyIFl%6r|;GJqr%}~DWp_9&6gjD`#L7JV~!+}8w-JoYe zR~mc{SJ&2D#CE?JY8nt7FTmB8%J~1MJ3!fwBqfP~`MI6N*X@8nQT!uZ z`NC`Ol2`be>lRXFT2=|%(cgp-L!VNS! z^oqXy_{yI&7NuXxGfJrPfZvQX&dVe)PnPH%0hfL{dXMHpr52_qD10?G@p>LXQ`qny zC0Ib}*|dFp>-ztrEIMLJOSj3S?Sk5}iPzUe9S{7Vmo6TNgi12W3uf86y7Jrr)w{Ve zGD?&CR?pT1yA|?U1>@3u#{~F}X3fO#|2fs!3;$oJm=R$bm*UL0GC(NL&68NhCGQEZ zE#@&K9P#F414Fj0tnu);7aCm6J3+YNL(0f8%9M zq2@gTY{$tdFb4E&cpY-GwuJ|~L=Nrz+0Q@r4qp|5$%{bgDb8V5qMPz!JJtu?K|3X- zo^u(Q6ZbM^cOhSD7YavJEuL)wz=NJXd|imggqj2FL*;1t2QQ`PMa={ta=Ydobcc~u zXt?NS%gChN<@|lC;I2u$Ha9;@%xprdeexOa*}zK0v_J0Wbr%jL+!@Ts^=jtjEs8#>?%3KZAKhENc7}k>d>dN zF)WAUVJ=1#QqNxfzIi@}o2z7|*Agfd$2;AcTNWN}(~)*BkO;`p6rJqj*B;7^A5Zin zF%Zjy19s<~2;8QZ@Aj5gED)bm2$>Q_D>U>T5tlqwJLqPi1?m4-> zeS4o_JJIC|;}-l$Kw7n39OPA?b+|%a9Rgw9pQtPf7_@<;uVKSZg!@=?A`|L9npeJc z<4Nd>@rj#1g|hWY{pwPGp7(wGNDZPc1ejk@Xv-MU^R*seW>GZC! zoQhS;vVJs*8Kg&~L@*Ul1-vCyORE|mXs}A7 zcC7mC72*4m@+)SBk-~RG*F;((Bd0vZiO3kz0#4<$uWeGUSb<=@u__t7DBG)! z!p5FnZhb+-TU&?0=H*89PdU6|$A*wRfv$Zfvb-DRIqGcdgB`#g5CLb*WsA28WCCnc zOk&dMuBEj(kdt*kO45biPq+4FLX)!?-V)`ddF0X}KwdO6R5U$C^ZcvuXNkws{EANZ zTCF1gwW@R1UnR463$4@U%;` zRn|61)Sv2>l&NIEk=qM{*|#6t+S-zqsP?=K0OZd0QTRneinb<=^e6;WjItGxH5Q7>Bt>IQ4}dYHBXQfnJo~iD zP)R)_Z0Et+F|`&)7af)~jvJi)(#D{zsmmmyHKngC{k&2u*s2;0E-h)~PYuKf$_wlR zY$I+)Cy*jZ;aIAydLkc8*^32~+L$U0ZHG>zaAQzSg>fPYUd&r*uz<3N4##kE+xL~) zEhGfhln*PGl}f$J`k{0~G&-f`j=!idzskK~YLI+2Cg}vUHn+HeJ5|hz`xNI->MRR9 z)zj^bgYI&^%}Hn9Qch`Wf71fhU#<+?BhIX>Sa@Q}=LO0|AMsn&*Ndp}nOeSeaY4lu zT+K(+D{=Gh-?{wKBS|GgWl4W`ZW+Q}R{Ox-q&uG_F8x8a$z%VnJC|9sG<8zz=2k*C z0MsCzYpFKD3-{p;c0EM%)Jv-vOSu{%ZE@Gi$59sqW^WY82~a}7tw;u*Zi_o_dM%2W z--hk>!~AyU{HbAZU#=hKVa8X_LKnf9T3#YDX5gfU+KL3{**RhU4+~&Sm}Ox5WqL^D zkyFB|rB{**Ta4=j zfQj>%o7E(kWX#9^SZ62ZVBGb?V8PzT(4@B{eFuA{C`QEimBBMBShx z4%6J*f%pGvnH*vz=99+1qASBd4#k_A0LEhbtcZ|}7$!ec!-cDy)LR`zrx?*kgkNq{ z32vbdN2zf}a(uO&89C?g`~si0avklY{#aLf8DiHsWwUCz7EdH2d?^&7HT zPU4-kiD_qa7HjM1M)m`gqTKdh7%R~p?z8>I0$X{88|JxhSDPDQw^>7*}=9Ozo`A|U;`b>YX_hAJ8$;z_f&&kw$W9)l= zDX31)5Or;5zEznVU~9AR4Yqlcs7eu@EKuoQRckuc*c~CTM9aZk z$iI}D0RzA&TWSRm7-u7a-+9FECJmt<1{t>bykkT(wtykCKNeRJ+ z1Qz>VN$;Ai!@?s{Gt zHzh@>Ni7JpFftA!d7;Y)d|$oV1!V}D1|qRbZ=RQc9xKvjJZxJ)>Xrr=Td83KX1R$b z1_?|T1=V2xP?R$eg@v^OHlvLbN|KljIXfcU^R!u=mV+vrOt<15wsd|k}ECo;BD<-_@1bUS`1tPN^FG#sC9~Y@%Z@DD8sOZ zLhPlyGA1k!N+>Dknp1By<^hV27MBs3GE?^_8N8~LZ( z3F{8>dtByK)&@X();5J!54M5%%+1Hyjh->5wNZoQ+Uo-Q@jUrpF*6`k&qyZr>$)E2 z=d*-lez5lsyJ0(LFj%6=1w;vxjGpn@YXs-MRC*0$by^TvQHJ>U-$xG1^94is{zhoI z^IllA{$O}|KCli6zMK$~mqh&*VqGrW*jyhRFQuG!X-hwhKre9@OzVAyNKD8$p3YvmnsvLymIlw^FJGhj;bMX`5X=Y!q#w~9?X5mqzM?3`CQk@4`u z@9E;~ze}$@nR^X6u6keL!zbbwdv#OVslR_@l^K>_d(=Yk?+pywv@~=cntm$!LQ)a;#@(PuCnqJn zLBZo*dgbJ{gHh%1y`*K+auB8c?V3S&kC3jGp5#Py0BdUdWp0xBN_(FOs33OzaZDuA zSQL_;e`(DJvmWWz-gT%N65Cs2A>ru?=`fmZ09_NFlXlPqXJm6GzCT9=DBi zjAQ7@1rTsMHbIOXpU}iPaF6BBq_K1Sqk4B%sdoH$h6=)A-^T%kd@)>LHl2YNuwab# z@b!Lp`yz7j^~cEeoAz1PR$b?l{k@;r3VD!ISJGUEzH`^u;qe7;bYnf0e1S;UjlAmg zy2JY>{@f*;D*wtP`2p&_)L{9AN6|okf8(g8OO(eQ&EQumq~n>JSLN+&ZT)L77;c&2t@zAEz!~>T#>;3^CL|zM=F+IuO}t~Q z>oK6zT#8bah+|g5g(mgM85wnfS+P$H3q3YUqm?&!kikuy;9GXF z298>OaLTswgm#!dvz1p)LMCqrA8%IM_&Vh)|IBbyUF(AQ!=vlp&63U7W3>9`E!9gr zJ?7s2OnK!;?_#L)>=Zg)F~FfyWpYbgJy6~^3lvAFSW!xM1WR0A8>r92Lsa#76#cF4 zz0}il(Q~nSVVfY@xty5!rdI!~tGr;W$NO>L&nha}&ykBO?uNY51HD{qMuNf&(c86w zQd+?*HJ(MzTHIG=ZW^5Iw@1geUWsuiBBg8{$)rS@;&NT2gqGRXO&Jq#1;#46N+7wl z@xs;LvkN|J%A2oG#kZoretwhJq<>rLX>rssiE{hN3kHoj^N;9r{xs*Crt>%O}PsW*NL1geiZRa@UmcMtf@7;x}IkuWkD@vFh)fQ1lhxPr3Vkf-b$L zY;E>`yY#Af^Tzgys9tD#jH?FBMcHj-r@1mas@&rrCd#~Uv$&~-rsn>}fxNV~W=D1I z&-wNJXyj0)pNKbjmilDbXoB}ar*rT0;0HbT#T zm!bK}S1J&!TOX@m0veC(35#!ZvVsKUA@+FMH{{vF6XcvFm9mdztK^95%m*_9smNGW z=_p1<54XRq;~84bX&xsN=j!>%pKl~P7|A^3Uf<32^Y_im=&r_812X(9P83py7^-?# zxmEprh?Rw;rcsoxy+*{*2HgH^tD?p8Lr!BTU`Wok=02^8_QcL|r z7UA?Y7{t(H@sFhGIq@3tN;mM9y%9R9K0wiSEJyh&nfMA(>$^H1q&@5e4SWY9*^(9( zv|W08PN09Lb6SW1_i}W#6ZtrKC-rA?FFdC^wMZ z;8nBq7l>opsq>KPsDe#<54rTvo-+}~fuMM%Z~*fprfNr77mS)bsj1==j=wJvuI7=f zrWl@-;yx?$U&<)4<@xjGyc|i=JSivJPRq@x_f{1vo5=2-NASeJJ>{sAWy%3Obnmow zMo~`ucg=+13m^^|!<2SBU#Cc%Ggw-h=Eu@eu;y;E%HH(iTojzTrQiQy0j6^gRIEYy zwQ7Lyn^QE#`WOK*rCk^r5RY1U=Zly<@4cPDc)yo+dJWE6e7OTp?Xt(GHv-`Yd!wjG8%~I(q$fIdK6oOtY>{do}U#>*y^V1&7TaLL$(;W2JQm#x+QFZ z@3Nn%jB^cJ2n`TA9%jbk#kl^wq0Mfp>P}5^x@rtomUb6mQ z+O~ajA!3`au4YV&qqo4V+z?t*&H6%eHvd2ljQ`!bcwqpXM;)9xR32=092WR&{4vt5 zR(i#32gq=U)I1-4;HRP0FLknB{cwKI_1cHRV@(pWI&+xTJ3s1RK|n)&0KHOO+K>CW zg^sLVdDjD07RM>8squYuJ}HSj6axiH$^;d=9M}-2OW}iMD!Q8YOM@->ep{ZzW4O60 zt*Lqxl8me2cxxwh7B3J`l}M6Z*kUpRCcRzruB#N0QS)LAMr$D6;{90oK>Jd;alboV zp4kGBd}WEsv$b;tck$K7Tp`^F%`_n1?w12>{^V4)Ng(> z1;oV{xFY$FDH|Ty4@u7BA_r)kIcFvRH;Y#^*EWlHTwf4XHR%(3w7A&E)`^W72 zt^8U=QLdU8*u^Vba6KT@w0mn@J04vtv@EV;;4~^!f;m+=Qr9X>$XdtMf`?D(dL z3W_IlSYSldZ(cc(sXS`X1TqA1dZWD;0!4Dcve{X7x#ynnqaGB{{>nc#{D*Nvisc&@ z*XfC-$d|am?&rb~6PS5Ib41NbPK{=6h#beMe5g|> z5Z0Q-PDhI!k!%SQxi017Mq&Mk7iYOk4>0Nbok3#wnsVwcyuDls`6Vvb$GL9#mAi-Q zn_K~Z>SfJ55TA7Q-mg}kT)TX|_aMNth>Q7t_FodFdop%x?+*9#5VfLQG=2omONe~K z{L(Is@rDFBWHN69QHQ`Fg>XeuCNylG_O0nJ-gpyPIeUeBaiAxHafu+-JuW3NnOUD$ zfsf|=aE;adeW~#-?}NE+&0z~`&yc*EEu>S11qsXXiiMw>!jwssuc%n8y^Q;fz8#)K zc9|p&yYUZ^SO2f}zB4GwZC$e!fi0+Pk)R@=TR}3Sk_8MK5wInLhMQs`}@B2t?;flJkPTx^o}9) z28Pdib+4K$c3NsZqmBM>O{!5$?6F(QB1FkkslKr5pVhuS^I9f$>lO>Y*c@7R`q?)@>N!${At9iHbx~rk-k?=l(iHf>Yt2x=3`Lhn9NXbk`bWT*F&Uxp6A`=| zGg?Y8e;Ju~qx;tk=!V>qhU0jWu& zww(WSxOpnFjw$xk2j5Mn+JEberuM&EEruxPkC70QQK zcYnAgaXUlPeR{9;la`TDu0?lJ;J(4qdr^Yc{;1!?sjrvG5M$V-CsY+sKZ?nF9=ofu zTyWd3d>(a^bFsT_s!N#w+7nT-izBifZElh`IbVwF8>}+WG z(U|8vg`6@m&bmmldqo&f2~I)=2kzm|zpxrUku)?=?^asA-u$!C(jtdK%}G61abL|j z`FY>9gLSnj_Tw>)hju-KEyK-{MMkGO68T(RMO_yTFR{)M{IsX9F>CA;v7K#=7P)%x zwbd{}?n~KlGvRI67wpF{EIDW01hMot0k3`9RIOXWYy+S>P2{_HEG9FnW_YQV7Hi4V z0`>i?i4#-CrObkY^!x~bcC!%i?BNH~aXFG911cOR*jWUVbY~9n1)>*RoExGnAbzL* zJXNEXe(CXUO>9-=whHEBQ4Z{c2(MiG6mmV`S3G=*__msU_KIFvtfW+1m)kS)alNH5Aj%qVwcd@eiy^M=Xlry6C)_?*`Q)fwnOcqOQ z4TL8E!x$WHKlU^Y4LS19qro2|%LucPhA9NT_WHtccg&KQ@f}PGpS@-4hJOZWlc01> z-{AAwu_%=Xc2&h>?d~)&@*$GS=}!gokbSsTGojT@*4c6e5|kR`RgFq zReHW%G%zt^V9*s3{W!GHtI%C5JN}V9bq`x z1B_Kk#}3GY4n;iY`fcf3Uh6!1^hnW5G&m?oEmou3tT%17EqhNxzzX(t7&oS9(4C=7 zzjZ5bWN$VdsLQ~g;H=QD?CIHRkPa%{{dEqsbm)qYcsl=hRqtek+x}#v6q6@z|4kEx zHNB}kdh6%hvOtDzofi2&VBH0DJqP7>r|0M$(dSZH8eN|f`@`!mW6la!JTs18FLdf$ z(o4~pfPm(L)7VJP5>R$kR`s-lMr31jW`-_DadzD=m`3U6k>FAZDtk&qB4@bgdo z6f66ZoR6@DgAK0RKEjk?o{~?UsuRHUI{lgoGZXmWvCOtM^FiYM{)qVaW2Qw{`H(gU>7u{hqfLR+TO)UITcaexG`}~RBg7qX!N-RV?i0cs*M@dv zL9HlbED&Qds=s4M1c0<%%R43{%%TGK;mfgU%)~s~(I9m^c}PTKL>ZwGZ21${Ti6O^ zSLz_^-^O+PhCJC}tjMj#6P{e~jppBT19AI@Y7roARd;qwSc?mVG;yj|l1lB?SJ@}# ze(Pg7Mu-+42aNXM`bbOd(%G{LQbF4Xqta?))FlhT|@Tbd` zcZ+Rot_t*3WiWdH-EZ=1rsxqp$cr`11_9g=dq-R36Y1`JEx&h{#9e~9N)H=vEe#g< z2L!C+@k$h-)E9)mth}C??@li)6oPydVR>`rl*sLGYOZ&&O#S`BJ3Bk3vc|@$1_r@d zRpCn|g=FWCdN6}a>LmbpHEu5tb~kyj(~ntY&o}qRMc-WgsAO_~hF2pi^aCbhrc>?? z>q}KrtStS(pR|k&PjfyF>A0`Ed&dPK-O5qT;l+a;Q)c$*(}&yLo19Xt;)mHsko&fz zo9T#>;^LpN>tS6^M$S7{5+f4kTGg9u_T7U7*YQ;;DJBVL&xRoM#XK>tPXnf&PK1-bx_$&#{@Mq4pE(<0w3`^~r8_H;ZBhW-5?*N9Bi1q4$KZ(PU= zi#9UTbh1V|K76}9M$j3~wdfs?5QttJO?|M?q^~x0OEg=zm0rhLia55GFLO^;P>Xu% zZo9*Tnu<1ix}9Gn@kBRga%S(Xf04`5ZXI(epK0}<{0FS8EWj0!CJdEonK_7BF22Kz zy4@3SUhD4_wCZQaeDC_+ewDdze`YzK!R`i*P+wIwsVXmjIr^EANlH=@;~l%l+W9WS zK-s7rPFGC+AXRrt@cB@=ExI(FB?C~=GKg?-EbsO`Y}ME1L0z{^Lb3ha34(8UCH(GXpG*Amx?QG**}grBSU`y>7uOc z4t?{UYR57|r}*w%L?v%N%!5N8D+%o~H(UXuD^n?!@G_$I6U&}4%gZx{ZMF?-{7tG^oNNZ!X_9%hV0wH{Hc(ji zrm5zyee)fO;Zn>+eqwu$xu@Y#>mBF$44i(etEeDIFX30xTSo)l`$le5 zH|>_V8>}VLa=!g`tnk5}Dym*u{4>~>j^*{1@AOiq7@k4dn6T^PI6|nLSmHg?_^7qV#4+;EDGf_i9t7_I`xLl)!EYo~SA2HoL14~e9i26Po7Zy95 zY`do;RxBhW^37ebvtx@+Qe6d~MG%s`&nTnKUi4zwZEX`{d+MV1aS{*R6?bFRf(GQZ zHksk4bb#~M8#kzGI+XAr1oUu6&ohZzdt$d=SN0c)-5IjN(Gr)dDu)V!XbZ}no-7S? z6PCSsu~9pThiSCwy@TTVgDGkllQ>VMOx5Ar^lBzjQsfhn0R3e|}K89;UHC>O*vef}2&YlKjkx>#2S3di2)u+BfzKOV-xSkS| z2;ouB&j?2>2uR!w6p_9ZySrH3tm#0eV#*a@5_mB2YfBEhjSFeT@{Ks`eN6`57;PHA z;B!2F-C{J$dQpVlFV9xcQdxqB=WsrM;q*eUZ-5_uYfYKLtmSQ8!CR`b^0 z+iu}+sT!SP8dl1wePm4S;xz6nf?yBanxv#r+Vq~F`2G7H9v;1MR6P5e4Ed+hL5x9B z$V27cJ(q{Z4_zLjWYTENsTjq33iaL9OH7u3EPQO2x$vSZJ8Otp#N4Udos*tt@6wzk%7NStLi)Jq3^N;)o%vw#8%$6yu8ceYJ)zQ_rh;tD&TT8Ox2-Xa;PH`;;*TSdwqUR4 z&Cch))RG1UW_UxL`@=QKvi)@xS;?F+8CZ*4gM{#TJlpe4Pi zsL0-|mpB+*K5P0P|2EyCr8(W6ai;4IEbU3-EW^HTv#m342?dW3J)Y-jFC0`SNr8z$ zp-|UiM1_Qg1QQ|_wPM+b4n-mD;ohThha*>dkMB{F)c-oDL&>6$J%=uKMXI zSvWyF1(|LdYyypfqdgMCw7V0`eN?*wy}GT-EEP6$&RQ^3Wpuw4gLRe`yq`S%Av zg3QcEb9!rP)Nf|rb9HbCe3J<>N1T|nUoio+7IIDt|Q%7iy9K8#K&fZz9b}EzIAJ%KIfdA82&BM%nn@?SS#zCd>?gM zq^7!-y+WI(Vsv@P*Me2;AHhfCD@S>EQpcd`dLmp8@x88R=>6N%^K2EvL5?@!14LLq zV(49;7vaQ61MyE~W0I9`XYry!)^Bd$z@YLZ27DzYJ}CidOk%xh8m1d5B6$pF3=8O4 zep=X3gq;1SS4~Jr9qQm3P6x~q6JhoN@mUC(92&2s#l=G{{^dD#BA1<`V)(&GjvSI{ zZ)SdHjY*aGrG$6=FFtH6NjPovk~X!xjgvU%a^=bu>0`J@;^I2?rYdOdyxj*?RZ&xR_rf15cqQwIu^@VT^Cy*c$&#fur8ffd<_6L!1hI=}}fnF4PJ1dS8UEvL zNJbRd$!$4~suv&ro-OiYEIti}Rl zgpm&)*02@cIzdYI9a?R*Y+1#0K7n|{sy`~)vNV5#*@tpIksrCu{|Ee8qf1^Ohrr__ z#gd!^S`hVBud8WzB`t2^esU&@>g%dL+I|AK%g1)QiZ~&m$|@K!36xZ0oT@yre*nxu z=eT?MDd3i%i&HOAvo%RURn2Z+3jhWIC6a&Fw(L8<@o1{{Atxi>r7iJHz2*t1P<@gT zP}utEv{cJT4uwR0%R#|-_d;M~5aU>cwO}FT!_z#$4qs?_8~Y ze^V7wTgZCR95V8jmT?}fTio-I%*qI@9zQoTby(l9PIVe*X=1kf+L~8R@OMKZI42M> z5fRv#HultV85RL-!d<$pOCtRkR|ebuj*DW;FZw}}EqT^%)=%v(yQL?AfiiPig_m;l z_kPT)yfV^XZRD;ZbKvh^Dnn0S5G*bck>GRq9U2wNhT0%T3h+;*y$)(P1f&OdPnnjCK6g6hDWLDS74{ou0>KXW8l0Ft7yZ zBRU7yX}3OliG9E}9|91m*L+eVD2x}sO-;)+Yd?3i*l=`!y@AZ8>OoP{ zU}qU*w@qbx&mfbliwzE19Jm)m`$i{i8)A^ zDsnxbM7xMCUw`mksGf@eBE?9ANXP^GMl+V2~(XHZ?uuKd6wy^J_*(Q6CVr$kdSOuLA+;V3sWM_+! z;aS6$YjXp)(Q4&dt0c%HK?K|hBRVf7#alh*12Yp-;|ohRTlWjIwEs%Koi$RJVjIoM z#KJ7#Jb8d`bl34H&yoz68X2u3PQSOO7d3KTpF7*|*6PkJ5uy6g?cB+MZcbvY45}7t zX@7nz2wlg2hojkyPb*1ESJ6Y`0iiXett^L zX;)qVXt%#Vi>JljRF#5ag*z&!LEfYMHa%MndvkU-@y=eN^8F{qSj-C8Wq$OLyQ&>7 zOzM*aomx6*p~vo*yDSu*bq}M?&B;lnF(@`p*ZGl7bH;OOuQF-;J?+Q=3KwRkP~)(- z=ozBBx8mbgri4ar2In)C^|$$;7c-2ND!J>) zJhkNvT3O$|lvvk%t=%+zI_og& z^lgZITb))sa|22r!12-MT4hYO`#)KZOv6gNyudN1-j^XwJxkd`CScE?RHNKj8O=-( zGHDl4-}V@p2UUen3*jNrqT@AkcxK_)Pcb59Bl9pK(?n!&eHPCf?Ovi%(KaBgE;=6m z+8dRK;nQ`@%Lb?+3{Pz0sV6Vb1icFv(#TYFZW;zTAWf{1XYz*%NTk<@C}LyR=IM92 z?bFm;Oot9SEKApUJ+`&6Q{_60#emCwD)nUzXdVmQX;F`PV9$4Sx}tvY*{505?pJ9@wqD zmB>jJ(P>|Z;+_Xv$+YO%S{AFZvDD+x{dV|zs}{(37H`U3k(_u7sQk*ejO5_GaBpO2 z=H+5iO1Sz4!WX-6L}t$6WWOxc#)5h7gNMdF)3H9>%hjF3VZRSHaLj<$2S8Br{@{9? zD$ojGP(x+VNxG>KOd?DiX3_i^Dn)GNpre*3IWYhPnGXoJtzX^Lq+^~x<^x@i9@j`NheJC51ehcZrGKzb#=NaDshwPVq9&F3;*= z-A7lU_}%`%pSOegT!8QhvJ86t*Sktn&lj5tyypTji3ZR^*Wj#y_xuQ-N|H%MXJ@@MPRO=EE zCh`~md|)Pn$|-jIkKXms?dMw$yo)jBigkqqs`XwF2qW%A#WtmramhG{$8u{iR z>}mD8VJRHlw;vTbI|pCsrnH2^DqynNrC<9**HWSR{XPz)zPqF#>60rjFYjiZpCNq^ z#ryao?paMy9SF~!m&nC7sDKVw=*D2adndagSwj^E?W?b1_;;ZWK{3U8x!9;d_tHCd z+-q%^+0Xp>&xw-|6d2MdvcW|Oig4}AuRNQ?K^h?n%rc5fMP$Bq&Rpx4oR1b37L((! zWl%G6zM%>9r*+_O>>cc^*$Mn4@=dN+092b_WH{c-Rklg4Fw4rmvtMqh+p50%lTg04 zzDluymzG8b`TMpuw!9erp0#N!dgR(z`gQ1#Xo21q?8M1m28%300z|2}wQ_cfR;kMO zIt)Rns7b>&0(^^6&-{UwmI9@P+72YLp2eBW2$T!}FctD9DfD*J`o`gMi0~G4N`kIm zK}Az1vSYcStx1AgLvU#)ho?obr7?WSGS@S)xVzkG!S_L3tMv3};ew*s~_UAKhe zD3nCt+#ppN6kA^SVrJZuG3xYUy9d}eD8Y5~<=9`%_YU>s)$%>xfzG2*>$MX75D||K zf0e0kW+poQLuYqJRyIbUUukP+g+y#qGfmyUaaXbPCUvkP$S|EASbi~B?exSD@Xik0 z^O)z#vd69KR8Nb3HwC61{2cL}6}N{$f#sKqrl}gbFJ0Cw_07E8aV`#@6XL7&39!m_ z{rto3XMsA1xxrKmD2HruGdzW=VpX${pRvgdTk@aEEozqYYiL=4NB+H;inn%PH3=Np zqQ-ziIM-NDe2$l>%nOq2poqN*s!f7<&#!p8gH?ctBcH6K3mo3?wAax&1Z9e!$eVVq z+yp}(Z*Si#`7U;rSLTX=u;nO7f8a3jD?9s^E$%k)Zes;R@;n9aM&=!mF(Zz|@O*F9 zK#u(c_;~Ee4j^4eE#tQYfFQgc!8J{p%gVX!g|1Z)uvZ?v9GDy^Ev;3IL9r6C@-6B8OP!-|$%4(BV#Oj!f(1?L zP*5=au=U8oJg**R{7pU1rvCpzIO#s9JOhc~`-cC9KUYzN59A86c%GoF%*+yx`pkMS z6p0vdoc!4yGEsVAv> zAU3QGTJoLWEH@Dnoi=~5@~rmF`K1dkj=0Y%x3*+*oY><`Ug^)M=@%~ImAkMCtV!(w z!7{Ae^?dEz{mpNEW(qbcoMbzDhX*oe7%8=jEqyLRRD?1BXtcxZ(j1X9OIbn{13Sa4 z8UY_VMSoe;8JBqhg1M!(w9h}%R^H8qnD8=KDPmNO8p{5INBrC8bR?=(P?VV`ve7o~ zIa&^a+(3&K1|eZJXT3dH6uLfsy+tScCIZy?um}CEyWII{D(8Xp+|UA*x_D2*AV{bs z-Q;31VCN?S%xh~`1|}%=&jK8vFChmI-HC5E)lpbak z#U51l8OX&H=uNadKwwZ)E{ALU_OChIiF>$zrg~;2fU2({I5BrY?8eekCwh9*jvHv1(O7fCdoK-? z9M0W!LdAF;G1%WP^Rpyb+6v?)Bh~wJt@##Rl09|gqCbTGg+Jy(qMO%Z09Y@n=iatx=iUo945+PB1PLze+6ZLOV?g1M$@5#hMpxLYEm7V(#gL)_ zU}?R@#)mj+|KtPEBd@zf4=~EIoyDqUx78+4c?@C}PEfCkI$E@2TkIByCrDXdwu>vN zKSdeR&ucw7UD5lO;c3-=wzu{pudu40HekCsaJyq=my=`TXq%~9@}4VR$d;Y8_3 zzj4ndh$+^cIkQ{0qJ7L`#E@x`A9iL}s#u_mTdySnj~@--W)MnWKlj$9utbLJaK0}2 zmZy$50Eqyh&Ow|4UV}+69j^<@-JGsv^kKOqW8ZbZ6_yjYN76H;LvB-FhkDb!i!UD& z61}eG8D^yrRR;Pb3@n^CMV_!zWU)G`B$~eaarx=ImduXxjwX^+Pr62hlXPZ^{N>ter1GXU-YJ88eSO=6M^ z*eLKY_|w$1m-3u@KZ0izdUI`wmlLh!$5Ai{9P(4RVFfx>t0CJ}nd)$(XwI<JY`m3F^l!BwTWQ*(N?P0e-4~&r+|_0Fv7K0J)3KgtFMC?RsztDcRHjb0U)Z$_k=+aFE8RQn6h;Vmdk0?cE2{tuw+BWssW@`#k z!BWh(A1%h;n6R1{N!e(v!Fn_bn^4hRG6#Wb!iFB@+8PC~CrG@gSh7&g;YUN`<3ae( zs_j!1X~oggqC*7`y@32OG|Y4A4)6Nz4?Je_ZRf~Ex^odu8(nWeJwryJcdeneXSOrn zzC}XnUvgDuMr)d?tn{`6=rD@9Wto^z5w-9n~V3&zyw?u*X7Ww{Khih?( zu<-ENZsVbt|Lol$xPF}rk&7v!ap2z7cxJ9_eqYA4*fIw-9HXGUZzM2 z(nH3h{MB8hMpgs^=sEfNOJ{>H&Z!j}JGKd%0L7gQ!OGBB1B$%NExm2Xb%9&HK0;Hy#2O?8UR4Uu-Or zh1Ae>)wS1&;vG2}rY^Oqc@ZEUJw7?9mn8=%BvXyI5h>A^F8)zMH(aW~{X0>z%n^-< z`53tgYH>ITRBd-ns!<565%Q9fqByME(srbuZ0}N^>-GkSp{i1_r-XiNHRcBWHFxL6 zcR(Nq<`R+3lDeemR?bB0%FU5wT5}n=4BCVTb@!)?0Ibc)d7V|fUC(DE4y1{Aa?IHVMp=ElJ=@+bKi=(s7quig$v&VLhDH!`u>I)U=-r*=u+%_Jk9Joh^$)(nGO zB5G~F{Hn=(cgB8K;T~*({R3Nb0|QmfQ!}GIgkrlYh-s8$lI|AKUC_ijgaHw?>n(V2 zw(iNboO5{J9B)`J1utek1Aw$a74r20{X0wawREn(zULeh8&EG&ae4T4==!zf-yI3|$J9 z1S8jZ8#{9YpaSB;V`I}bRnj$TzHXX1xsGhJm=8EV#ZfU*H8(c4Z#KZpYHU#;4lV-o z;00&J_*p(h_e>h<=S7;yW0l9gWN8H`bAA^z`46wB_{XiZ>kQ>LAOf<`Q0(ovl?&!_f;t$eJv`jI z?jE{%7Q@r-0H)}^IfR!qR_SVHB1ym1xP7V+u=dx-O38m zS<8A>%M(jiRGwSO2_A%G*rIGf@9xT+K~`4QlyfA&|z{Q?4R{xAF$#ak)Tkn#nx zYfEEG!_US*xkrKi(jT6S{3^E$*KHt(M_#q*olGm{=TM_y|5;|b8wKa zPlhLI6T#1+w$WLylJDYnzhacN4&2II>`e6y*Mk-;TXoB~APy9G-+Z;ol_7&8e8Z|I z`>Uc8S+1eH7a9}c14*hWihJaNar`)_lZJqw%^$tBIOJJbHN2T~*1h|J?E?m$aO*NdoDXlsNZJAJ?WQ}(Rh9Mjv_j_>=if{f= z0TIWy8$G#WGWx}BuQa=>-PX?Bs+tnSQ$Qsqr+U-d`WWO~|jys0|a zDGlYA-w&ttg~!2m+cu2)WE3O_l|Keo4%j=v-_HKr%w z@`x(gZr9EtcD+?0fxxJ^ce>0;#gc3Z5-r8*Z;rN5M^=UqZ;nxlwL21otvb-O(v7+U z;wE~@T-UB83ki!97YnK5!Xv}DUk=qZJz#(0@=(>`NgyPjQD)DKrjovz%znLGyF|+r zrp(uN1h-8%4Rs$?Mlt)(HtmlkD=egb`z6UgpS&!f{+)rd*4!Wbow)HDeD$w8eD_~i zP5J+$CiL&OAlj(^%JZK8J>`f!`d@vtHZd&w?)7g&LG0Rpg_sw#q4 zx7?^HysxkC_3PJ3N!MO%K#;Y%x{AjycO*9@-1C0r?Ty6w+&D#SH5;cujj9>zGH2Y-f=<=^MK(5K|1_Z zlBQj6Nzl%sWn^!HcZ8(HOcKdZd`+&?hz3>6jdGFt2F<$p3rc$6v%$#wMPnY5nI znD0teiWRX}&D5Yhdsg4lw%^&n;8%D08(T_pGO~H>`H39#V}YZQNcfb2&ONRo2vOR{NfN{TuCsymhLg zCsd`|hmVgB`mi6WPc|)aVkJ(izbI%qO4nONcbBB4rF+p*&rImgdD)^+lfqMTKg+0_ z(8QraAZns0vWtFRU}TJqh%lL2l!8$hfjKGSh`VFj#inhjfGF27e;uAu-`so}`e@(f z=&I~7=3|9@H&RFMQNMuhf2LO>A}4WRCnM8%tMyLjHwD9dmMd5IZr;r8LvYDmkxQbi zkU6P){peDe99q35X+_h#o}gl`nvn<{7il{2gN<{%yu8UP7xmIPDr)}19d+n?l~?z& zH*CLhMR2OMw70hdw0oYB4OZ3R;odTgx5VzOVe%}^?7MgG49I^3r&yyIRDb+oZEek_fS|i&{8Pw!OwW(5`TCQX=TrO@YcxQMShIt1XyQI< z9(P{Bar2n#$=5jBm2YM%-d9QyXJ%$5^ce=_oA=-3|lr5PK4`4pNTbUTlK{hfueguhhjE#;Vf6B6og8RTM9~l{8 ziKUV@x^mEX#t5^zdXl$%`-@HB)VwaSrFVTp=V_kv=~Z~auHxzGDIp<|{J25%LjbS0LG8G@Xxw%~<;0B7;n|QIx#9INanVMX0!Zv83 zJ6+IycY}odOekzyk8fr#Ub}Ha-eDW;dT**yN*|FX0#DANAhDjiY6PYy-s#s#-;6L0 zm0-o}Hwv+S&in-hxkZbUuyEzXcb>uPhIL%wJ~E!lZ=hdO{yy08IDIidZEnC32HNIV zwZqb2U2XL>7MA4XWOkNu0J6``sXI-tXK9am>{$#JSezzv6L@+iYwd_zAXlQDpJbhZbz&tWZ_oy?x za+Shq^)~g5ji+CcQYO9DOjqTGGacYqCjY;vEdg8vr;;RJGb7%?j1v!rC)gu-B|0SJ zYC9gx6EmN|YaRimW3}9pq{L0WEi{*^qWBGLG-&M-0WPkLhXEIXM^Ej}LIQVa;*gS( zlEzX8vEbt*JatU5VDCJ~UXojuvfjEEf$-0jgp|z~p}!5?2c93^5sNcPLNzhGe_*Pw-WI23+nO`EZACc?oIn!sZeVRa81UoJGKj z#+j!kKXS^#P`vO#>n1ODgHFcL)n$RR zOf&LsbZdj;eb|Te6ibfZ5mgfw{ve#~_O*SD9&RQSDy5m=J=bjX;t$pR`*88o^$T7m zA*LRv?xu+8+~LegGkO$pwUI{*kX%~a93C0wF|$0+lZfuZ&V&fSf1D`hZYwjtfD!4< z9}R9xCy|ph(1$+vy6Zq;r*(n{yHJ6NA5>hyM~!RErXEyL6Ig8t4QaA%fVC(?OV1X@MXD6z>B$I{CgMjLNGBHl)i*(+MC z)rO3x`{#^tuifFJq$vq+Ke*(Qmct)C<~-VuK5r^f9wp?WE^@a;{!lYQZK*83k(20o t!~wmRFb8)b5Wc?Bw1JDrh+Z@aLbtv_Z%L$F3_d|fOFsEK>%QKr{{j9(c { + test.beforeEach(async ({ page }) => { + await login(page); + }); + + test("should access signals page and see signal table", async ({ page }) => { + await page.goto("/signals"); + + // Wait for page title to appear + await expect(page.getByText("KJB 매매 신호")).toBeVisible({ + timeout: 10000, + }); + + // Signal table should be visible + await expect(page.locator("table").first()).toBeVisible(); + + // Summary cards should be visible + await expect(page.getByText("매수 신호")).toBeVisible(); + await expect(page.getByText("매도 신호", { exact: true })).toBeVisible(); + + await page.screenshot({ + path: "../docs/screenshots/signals-page.png", + fullPage: true, + }); + }); + + test("should show cancel button for EXECUTED signals", async ({ page }) => { + await page.goto("/signals"); + + await expect(page.getByText("KJB 매매 신호")).toBeVisible({ + timeout: 10000, + }); + + // Switch to history view for executed signals + const historyButton = page.getByText("신호 이력"); + if (await historyButton.isVisible()) { + await historyButton.click(); + await page.waitForTimeout(2000); + } + + // Check if any executed signal rows exist + const executedBadges = page.locator('text="실행됨"'); + const count = await executedBadges.count(); + + if (count > 0) { + // There should be a cancel button near the executed signal + const cancelButtons = page.locator('button:has-text("취소")'); + const cancelCount = await cancelButtons.count(); + expect(cancelCount).toBeGreaterThan(0); + + await page.screenshot({ + path: "../docs/screenshots/signals-executed-with-cancel.png", + fullPage: true, + }); + } else { + // No executed signals - verify the page structure is correct + console.log( + "No EXECUTED signals found - cancel button test skipped (no data)" + ); + await expect(page.locator("table").first()).toBeVisible(); + + await page.screenshot({ + path: "../docs/screenshots/signals-history.png", + fullPage: true, + }); + } + }); + + test("should show realized/unrealized PnL cards on portfolio detail page", async ({ + page, + }) => { + // First check if any portfolio exists + await page.goto("/portfolio"); + await page.waitForTimeout(2000); + + // Try to find a portfolio link + const portfolioLinks = page.locator('a[href^="/portfolio/"]'); + const linkCount = await portfolioLinks.count(); + + if (linkCount > 0) { + await portfolioLinks.first().click(); + await page.waitForTimeout(3000); + } else { + await page.goto("/portfolio/1"); + await page.waitForTimeout(3000); + } + + // Check for realized/unrealized PnL cards + const realizedPnlLabel = page.getByText("실현 수익"); + const unrealizedPnlLabel = page.getByText("미실현 수익"); + + const hasRealizedCard = await realizedPnlLabel + .isVisible() + .catch(() => false); + const hasUnrealizedCard = await unrealizedPnlLabel + .isVisible() + .catch(() => false); + + if (hasRealizedCard && hasUnrealizedCard) { + await expect(realizedPnlLabel).toBeVisible(); + await expect(unrealizedPnlLabel).toBeVisible(); + await expect(page.getByText("매도 확정 손익")).toBeVisible(); + await expect(page.getByText("보유 중 평가 손익")).toBeVisible(); + } else { + console.log( + "Portfolio detail page may not have data - PnL cards not visible" + ); + } + + await page.screenshot({ + path: "../docs/screenshots/portfolio-detail.png", + fullPage: true, + }); + }); + + test("should render strategy compare page", async ({ page }) => { + await page.goto("/strategy/compare"); + + // Wait for page title + await expect( + page.getByRole("heading", { name: "전략 비교" }) + ).toBeVisible({ + timeout: 10000, + }); + + // Check description text + await expect( + page.getByText("멀티팩터, 퀄리티, 밸류모멘텀") + ).toBeVisible(); + + // Check the compare execution button + const runButton = page.getByText("전략 비교 실행"); + await expect(runButton).toBeVisible(); + + await page.screenshot({ + path: "../docs/screenshots/strategy-compare.png", + fullPage: true, + }); + }); +}); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9a82943..2da484e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -28,6 +28,7 @@ "tailwind-merge": "^3.4.0" }, "devDependencies": { + "@playwright/test": "^1.58.2", "@tailwindcss/postcss": "^4", "@types/node": "^22", "@types/react": "^19", @@ -1279,6 +1280,22 @@ "node": ">=12.4.0" } }, + "node_modules/@playwright/test": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz", + "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.58.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@radix-ui/number": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", @@ -4817,6 +4834,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -6574,6 +6606,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/playwright": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", + "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.58.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", + "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index baf1269..691aaff 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -29,6 +29,7 @@ "tailwind-merge": "^3.4.0" }, "devDependencies": { + "@playwright/test": "^1.58.2", "@tailwindcss/postcss": "^4", "@types/node": "^22", "@types/react": "^19",