주식 애플리케이션의 본질적 목적은 이 시스템을 통해 자산을 늘리는 것이다. 현재 ml/ 서비스는 “ML 서비스”라는 이름과 달리 무거운 ML 스택(numpy·pandas·scikit-learn·torch)을 전혀 쓰지 않고, 표준 라이브러리(statistics·math)로 지표를 산술하고 claude -p CLI로 감성·채팅을 처리하는 수준이다.
부를 늘린다는 목적에 비춰 진단하면, 지금 부족한 것은 “더 좋은 예측 모델”이 아니라 그 앞단의 데이터·검증·리스크·실행이다. 코드가 이를 명확히 드러낸다.
항목
현재 구현
부 증식 관점 한계
가격 데이터
토스 일봉 20~40개 즉석 fetch (toss_client.py#get_closes)
최근 ~2개월. 학습·검증 불가능한 표본
예측
5일 기울기 직선 외삽 + 변동성 밴드 (prediction.py#build_prediction)
진짜 모델 아님. 추세 연장 수준
4팩터 점수
고정 가중치 가중평균 (signal.py:31)
데이터로 학습된 적 없는 직관 상수
백테스트
40개 캔들 워크포워드 (backtest.py#run_backtest)
표본 40개 = 통계적 무의미. 거래비용·슬리피지 미반영
실행
없음
신호→주문→체결 경로 부재 (토스 read-only)
리스크·포지션
없음
손절·사이징·분산·최대낙폭 관리 전무
목표
부 증식은 단일 기능이 아니라 데이터 → 검증 → 리스크 → 실행 → 모델로 이어지는 파이프라인이다. 우선순위(P) 순으로 정의한다.
ID
요구사항
우선순위
페이즈
R-01
수년치 일봉(+거래량·수급·재무)을 자체 DB에 시계열로 적재한다
높음
P1 데이터 자산화
R-02
거래비용·슬리피지·세금을 반영한 정직한 백테스트 엔진을 구축한다
높음
P2 엣지 검증
R-03
현재 4팩터 신호가 시장 대비 초과수익(edge)을 내는지 통계적으로 판정한다
높음
P2 엣지 검증
R-04
손절·포지션 사이징·분산·최대낙폭 한도 리스크 레이어를 도입한다
높음
P3 리스크 관리
R-05
기존 토스 주문 경로를 재사용해 신호→제안→수동 승인→집행 경로를 만든다
중간
P4 실행 자동화
R-06
검증된 엣지 위에서 ML 모델(피처 엔지니어링·시계열 모델)로 신호를 고도화한다
낮음
P5 모델 고도화
요구사항
사용자 문제와 해결 방안
사용자 문제
해결 방안
데이터가 40캔들뿐이라 무엇도 학습·검증할 수 없다
수년치 OHLCV·수급·재무를 DB에 적재하는 파이프라인 신설
현재 신호가 정말 돈을 버는지 알 수 없다
거래비용 반영 백테스트로 엣지 존재 여부를 수치로 판정
신호가 맞아도 한 번 크게 잃으면 복리가 깨진다
손절·사이징·분산·낙폭 한도 리스크 레이어
신호가 나와도 주문 집행이 수동 재입력이다
기존 토스 주문 경로에 제안→승인 게이트를 붙여 집행
모델이 그럴듯하지만 과적합인지 알 수 없다
엣지 검증 이후에만 모델 고도화 진입 (순서 강제)
기대 효과
“신호에 엣지가 있는가?”라는 가장 본질적 질문에 수치로 답할 수 있다.
한 번의 큰 손실로 복리가 깨지는 것을 리스크 레이어로 방지한다.
검증된 엣지 위에서만 자동매매·모델 투자를 집행해 과적합 장난감에 자원을 낭비하지 않는다.
비기능 요구사항
항목
기준
데이터 정합성
적재 시 룩어헤드 금지 — 시점 t 데이터는 t 이후 정보를 포함하지 않는다
백테스트 정직성
거래비용(수수료+세금)·슬리피지·체결 지연을 반드시 반영
검증 표본
최소 3년·다종목으로 통계적 유의성 확보 (40캔들 금지)
실행 안전
자동 주문은 일일 손실 한도·최대 포지션 한도 게이트를 통과해야만 집행
운영
적재·백테스트 결과는 관측 가능(지표·로그)해야 한다
제약·결정 사항
항목
결정
근거
주문 실행 경로 (R-05)
토스 Open API 확정 — 기존 order 도메인 재사용 (신규 증권사 없음)
토스 주문 API가 이미 BE에 연동됨 (ADR-003)
자동매매 범위
신호 + 수동 승인 (완전 자동 미채택)
신호·리스크 오류의 즉시 실손실 방지 (ADR-005)
데이터 저장소
기존 MySQL(3308) 재사용
컨벤션 일치, 현 규모에 충분 (ADR-001)
추가 결정 사항
항목
결정
근거
페이퍼트레이딩 선행
확정 — 실주문 전 모의 집행(paper 모드)으로 라이브 신호를 검증
실손실 없이 제안→승인→집행 흐름·신호를 실시간 검증 (ADR-006)
실집행 자본 규모
검증 후 결정 — 페이퍼+엣지 통과 시점에 사용자가 금액 확정
본인 자본 상황 의존. 소액(전체의 5~10%) 시작 후 확대 권고
실집행 자본 규모 = 모의 검증 후 실제 돈으로 굴릴 계좌 자본. P4의 live 모드 전환 게이트에서 사용자가 직접 정한다. 그 전(P1~P4 paper)까지는 돈이 나가지 않는다.
성공 기준 (검증 가능)
P1 완료 — 3년 이상 일봉·거래량·수급·재무가 DB에 적재되고, 임의 종목/날짜로 룩어헤드 없이 조회된다.