The Ouroboros — 자가 진화형 AI 투자 시스템

KIS API 기반 자동매매 + Gemini 기반 장전 전략 생성 + 장중 로컬 시나리오 실행 + 장후 리뷰/진화 루프를 결합한 시스템입니다.

현재 상태 (2026-02-16)

  • V2 계획 기준 완료: 18/20
  • 부분 완료: 1/20 (1-7 일부 항목)
  • 미완료: 1/20 (4-1 Telegram 확장 명령어)

핵심 전환은 이미 반영되었습니다.

  • 기존: 장중 brain.decide() 실시간 의존
  • 현재: 장전 DayPlaybook 생성 + 장중 ScenarioEngine 로컬 매칭

핵심 구성

  • src/main.py: 시장 루프, 플레이북 생성/적용, EOD 집계, 리뷰/진화 연결
  • src/strategy/: models, pre_market_planner, scenario_engine, playbook_store
  • src/context/: store, aggregator, scheduler (L1~L7)
  • src/evolution/daily_review.py: 시장별 scorecard/lessons 생성
  • src/dashboard/app.py: FastAPI 관측 API
  • src/notifications/telegram_client.py: 알림 및 명령 핸들러

실행

기본 실행

python -m src.main --mode=paper

대시보드 포함 실행

python -m src.main --mode=paper --dashboard

또는 환경변수:

DASHBOARD_ENABLED=true
DASHBOARD_HOST=127.0.0.1
DASHBOARD_PORT=8080

주요 API/기능

  • 플레이북 저장: playbooks 테이블 (date + market UNIQUE)
  • 의사결정/결과 연결: trades.decision_id + DecisionLogger.update_outcome()
  • 시장별 scorecard 컨텍스트: scorecard_KR, scorecard_US
  • 컨텍스트 스케줄러: weekly/monthly/quarterly/annual/legacy + cleanup
  • 대시보드 API:
  • /api/status
  • /api/playbook/{date}?market=KR
  • /api/scorecard/{date}?market=KR
  • /api/performance?market=all
  • /api/context/{layer}
  • /api/decisions?market=KR
  • /api/scenarios/active?market=US

현재 갭 (코드 기준)

  • Issue 4-1 미구현: /report, /scenarios, /review, /dashboard Telegram 명령 미등록
  • Issue 1-7 일부 미완:
  • price_change_pct 정규화 어댑터 명시 구현 없음
  • HOLD 시 별도 손절 모니터링 플래그 처리 분리 미흡
  • 시장 코드 정합성 이슈:
  • 설정 기본값은 ENABLED_MARKETS="KR,US"
  • 스케줄 정의는 US_NASDAQ, US_NYSE 중심
  • 완전 통합 전 추가 정리 필요

테스트

로컬 수집 기준:

pytest --collect-only -q
# 538 tests collected

권장 검증:

pytest -v --cov=src
ruff check src/ tests/
mypy src/ --strict

문서

  • 아키텍처: docs/architecture.md
  • 컨텍스트 트리: docs/context-tree.md
  • 워크플로우: docs/workflow.md
  • 요구사항 로그: docs/requirements-log.md
  • 명령 레퍼런스: docs/commands.md
Description
대를 이어 사용할 수 있는 자가 진화형 투자 시스템
Readme Apache-2.0 4.5 MiB
Languages
Python 96.4%
HTML 2.6%
Shell 0.9%