shuim 45677c8fbb fix: 리스크 결함 일괄 수정 — 누적 4% 상한·스윙 소유권·일일한도 분리·DT 순손익/체결가·시간손절 밴 제외·체결조회 경로
trade_executor
- 종목당 4% 상한을 기존 보유분 포함 누적으로 (sizing_core.remaining_position_room)
- 추천 경로는 스윙 소유 행만 매수·매도 (external/manual/daytrading/us_swing skip, 대칭), 고아 DT 행 warning
- 일일 매수한도는 스윙 소유 매수만 집계, 집계 실패 시 fail-closed
- 부분매도 반복 차단에서만 DT 매도 제외 (재매수 쿨다운은 유지)
- 체결 확인: 부분체결 잔량 자동 재주문 제거(가드 전부 우회·취소/거부 시 발동), PARTIAL→COMPLETED+체결수량, 초과체결 캡

korea_investment_api
- get_order_execution 이 존재하지 않는 /trading/inquire-ccnl 을 호출하던 결함 → inquire-daily-ccld
  (TTTC0081R 우선, 구 TR 폴백, 페이지네이션, ODNO 매칭, EXCG_ID_DVSN_CD=KRX), 실패 로그 warning

daytrading
- 시간손절은 loss_tracker 중립 (42일 밴이 스윙까지 막던 문제)
- 실현손익을 수수료·거래세 차감 순손익으로 (trade_cost_core), 체결가 백그라운드 보정 (fill_reconciler)
- legacy _record_trade strategy_type=daytrading 명시

db_worker
- update_trade_history_by_order_id 를 당일(KST)+최신 1행으로 한정 (일별 재사용 ODNO 로 과거 행 덮어쓰기 방지)

alembic 0013: trade_journals strategy_name='unknown' 을 trade_history.strategy_type 으로 보정 (백업 테이블 포함)
CLAUDE.md: 변경 동작 반영, MT 예약 리비전 0013→0014

998 passed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 17:37:29 +09:00
2026-02-23 16:01:17 +09:00
2026-03-28 11:45:37 +09:00
2026-02-24 11:38:35 +09:00
2026-02-26 11:19:23 +09:00
2026-03-28 11:45:37 +09:00
2026-02-22 17:23:20 +09:00
2026-02-22 17:23:20 +09:00
2025-11-14 11:05:31 +09:00
2026-02-26 14:40:12 +09:00
2026-02-26 11:19:23 +09:00
2026-02-22 17:23:20 +09:00
2026-02-22 17:23:20 +09:00
2026-02-22 17:23:20 +09:00
2026-02-22 17:23:20 +09:00

Auto Stock Trading System with MCP

Claude AI와 MCP(Model Context Protocol)를 활용한 한국 주식 자동매매 시스템

시스템 아키텍처

  • Frontend: React + TypeScript + Vite
  • Backend: Python FastAPI + WebSocket
  • MCP Server: Claude AI 통합
  • Database: PostgreSQL
  • Cache: Redis
  • Message Queue: RabbitMQ
  • API: 한국투자증권 API

주요 기능

  1. 실시간 시장 데이터 수집
  2. Claude AI 기반 규칙 검증
  3. 자동 매매 실행
  4. 포트폴리오 관리
  5. 실시간 모니터링

프로젝트 구조

auto-stock/
├── frontend/          # React 프론트엔드
├── backend/           # FastAPI 백엔드
├── mcp-server/        # MCP 서버
├── docker/            # Docker 설정
├── deploy/            # NAS 배포
├── docs/              # 문서 (아래 목록)
└── scripts/           # 배포 스크립트

문서

작업 규칙과 전략 명세는 CLAUDE.md 가 정본이다. 파라미터 값을 확인할 때는 §0(파라미터 우선순위)을 먼저 읽을 것.

문서 내용
CLAUDE.md 작업 규칙·전략 명세·미해결 항목 (정본)
docs/INSTALLATION.md 설치
docs/USER_GUIDE.md 사용법
docs/PROJECT_STRUCTURE.md 코드 구조
docs/backend_guide.md 백엔드 가이드
docs/API_DOCS.md API 명세
docs/API_SAFE_OPERATION.md API 안전 운영
docs/RISK_MANAGEMENT_API.md 리스크 API
docs/BATCH_GUIDE.md 배치 분석 (cron 3개 잡)
deploy/NAS-SETUP-GUIDE.md NAS 배포
docs/multi_tenant_design.md 멀티테넌트 설계
docs/multi_tenant_phase1_review.md 멀티테넌트 1단계 검수

이력 참고용(현행 아님): docs/REFACTORING_PLAN.md(폐기), docs/AUTOTRADE_DIAGNOSIS.md, docs/SPEED_OPTIMIZATION.md

빠른 시작

# 환경 변수 설정
cp .env.example .env

# 기본값
#  - `DATABASE_URL`은 `.env.example`에 이미 도커 컨테이너(127.0.0.1:5432)를
#    가리키도록 설정되어 있습니다. 로컬 개발 시 별도 수정이 필요 없습니다.
#    원격 DB를 사용하려면 여기에 URL을 덮어쓰십시오.

# Docker로 전체 시스템 시작
./scripts/deploy.sh

# 개발 모드
./scripts/dev.sh

환경 변수

.env 파일에 다음 설정 필요:

  • KOREA_INVESTMENT_APP_KEY: 한국투자증권 앱키
  • KOREA_INVESTMENT_APP_SECRET: 한국투자증권 시크릿
  • ANTHROPIC_API_KEY: Claude API 키
  • DATABASE_URL: PostgreSQL 연결 URL (기본값은 도커 컨테이너)
  • REDIS_URL: Redis 연결 URL

라이센스

MIT

Description
No description provided
Readme 11 MiB
Languages
Python 90.6%
TypeScript 8.6%
Shell 0.5%
CSS 0.1%