← 프로젝트 목록
AI 주식 자동매매 시스템 아이콘

Python · LLM · 증권 API

AI 주식 자동매매 시스템

LLM이 만든 전략을 검증하고 실시간으로 운용하는 자동매매 플랫폼

자연어로 설명한 매매 전략을 LLM이 코드로 만들고, 정적 검증·샌드박스·백테스트를 통과한 전략만 증권사 실시간 API로 운용하는 시스템입니다.

상태
자체 운영 중
기간
2025.11 ~ 운영 중
역할
설계 · 백엔드 · 관리자 웹 · 운영 (1인)
플랫폼
Web 관리자 · 서버
언어
한국어
880+
커밋
128개
테스트 파일
30+
설계·운영 문서

Screens

실제 화면

이미지를 누르면 크게 볼 수 있습니다.

Overview

무엇을 만들었나

전략 아이디어를 코드로 옮기고 검증하는 데 드는 시간을 줄이기 위해 만든 개인 자동매매 플랫폼입니다. 한국투자증권 Open API(REST·WebSocket)로 시세와 주문을 처리하고, 전략 생성·백테스트·시세 수집·매매 엔진을 독립 워커로 나눠 운영합니다. 투자 권유가 아닌 시스템 설계·구현 사례로 소개합니다.

LLM 전략 생성과 검증 파이프라인

자연어 설명 → 프롬프트 구성 → 전략 코드 생성 → 정적 검증(허용 API·금지 구문) → 샌드박스 실행 → 백테스트 순서로 통과한 전략만 등록합니다.

실시간 매매 엔진

WebSocket 분봉·체결 통보로 다중 전략을 동시에 운용하고, 연결이 끊기면 상태를 복구하는 워치독을 둡니다.

리스크 제어

손절·익절, 일일 한도, 킬스위치와 수동 청산, 리스크 설정 화면을 제공합니다.

백테스트와 시세 수집

비동기 잡으로 일봉·분봉을 수집하고, 수익 곡선과 최대 낙폭(드로다운) 차트를 그립니다.

관리자 콘솔

대시보드, 전략·백테스트·주문·체결·로그 화면과 사용자 권한 관리를 갖춘 React 관리자 웹입니다.

Tech

기술 스택

백엔드

  • Python
  • FastAPI
  • SQLAlchemy 2
  • Alembic
  • PostgreSQL
  • pandas · ta

외부 연동

  • 한국투자증권 Open API (REST · WebSocket)
  • OpenAI API

관리자 웹

  • React 19
  • TypeScript
  • Vite
  • MUI 7 · DataGrid
  • TanStack Query
  • lightweight-charts

인프라 · 품질

  • Docker Compose
  • GitHub Actions CI
  • pytest
  • ruff · mypy

Challenges

해결한 문제

01LLM이 만든 코드를 안전하게 실행하기

문제
생성된 전략 코드가 임의의 모듈을 불러오거나 무한 루프를 돌면 시스템 전체가 위험해집니다.
접근
AST 기반 정적 검증으로 허용된 API만 쓰게 하고, 샌드박스 실행과 백테스트를 통과해야 등록되는 다단계 관문을 만들었습니다.
결과
생성 결과를 사람이 일일이 읽지 않아도 실행 가능한 전략만 운용 단계로 넘어갑니다.

02실시간 체결 통보의 경쟁 상태

문제
주문 응답보다 체결 통보가 먼저 도착하거나 연결이 끊기는 경우 포지션이 어긋날 수 있습니다.
접근
체결 통보 보류 처리, 재연결 후 잔고 대사(reconciliation), 워치독을 구현하고 장애 시나리오별 스모크 테스트와 사고 기록을 남겼습니다.
결과
연결 장애와 순서 뒤바뀜이 생겨도 주문·잔고 상태를 복구합니다.

03혼자서도 운영 가능한 문서화

문제
장 중에 문제가 생기면 즉시 판단해야 하는데, 기억에 의존하면 실수가 생깁니다.
접근
기능을 S0~S4 단계 슬라이스로 나누고, 설계 명세·장애 모드 분석·운영 런북·사고 보고서를 30여 건 작성했습니다.
결과
CI와 128개 테스트 파일로 변경을 검증하고, 런북에 따라 모의/실계좌 모드를 분리해 운영합니다.

History

출시 · 운영 기록

  1. 2025.11

    요구사항·제안서 작성, 개발 착수

  2. 2026

    백테스트·시세 수집 워커, 관리자 콘솔 구축

  3. 2026

    실시간 엔진·리스크 제어, LLM 전략 생성 고도화

Contact

문의하기

프로젝트에 대한 의견이나 협업 제안이 있으면 이메일이나 카카오톡 오픈채팅으로 편하게 연락해 주세요.