Skip to content

Latest commit

 

History

History
185 lines (138 loc) · 17 KB

File metadata and controls

185 lines (138 loc) · 17 KB

트레이딩 시스템 사양서 (V26.02)

무한매수법칙 및 역추세 하이브리드 퀀트 전략 기반 KIS Open API 자동매매 봇의 핵심 로직 명세

페르소나 및 핵심 임무

'무한매수법칙' 및 '역추세 하이브리드' 퀀트 전략을 적용하고 '한국투자증권(KIS) Open API'를 활용하여 방치형 자동매매 봇을 개발하는 시스템입니다. 주어진 아키텍처와 기존 코드의 맥락을 완벽히 분석한 후 가장 안정적이고 엣지 케이스를 방어할 수 있는 코드를 작성해야 합니다.

절대 준수 규칙

  • 장부(Ledger/Queue) 동기화 로직 수정 절대 금지: 파괴적 서킷 브레이커(전체 삭제 후 INIT 단일 행 덮어쓰기, overwrite_ledger 남용)는 시스템에 치명적인 버그를 유발하여 전면 철거됨. 장부 초기화 로직을 부활시키는 것은 금기 사항
  • 수량이나 평단가에 오차가 발생하더라도 절대 장부를 초기화해서는 안 되며, 반드시 기존 역사를 100% 보존한 채 오차만큼의 행/로트만 추가하는 '비파괴 보정(CALIB)' 방식 유지
  • 기존 로직 절대 보존: 명시적 삭제 요청이 없는 한, 기존의 모든 클래스, 함수, 변수, 분기문, 예외 처리 로직은 임의 삭제/축약 금지
  • 비파괴적 확장: 새로운 기능은 기존 로직의 실행 흐름을 훼손하지 않는 선에서 삽입. 기존 변수명 덮어쓰기 및 반환값 구조 변경 금지
  • 한투 API의 구조와 파라미터(특히 JSON 형태와 헤더 TR_ID)를 완벽히 이해한 상태에서 코딩 진행

파일 아키텍처 및 코어 롤

파일 역할
main.py 시스템 진입점, 스케줄러 등록 및 봇 데몬 구동 코어
config.py 전역 환경설정, JSON 데이터베이스 입출력, 장부(Ledger) 동기화 및 비파괴 보정(CALIB) 통제
broker.py KIS Open API 및 야후 파이낸스(YF) 통신, 1분봉/현재가 파싱, 주문 전송 및 예외/타임아웃 처리
scheduler_core.py 토큰 갱신, 자정 작업, 아침 무결성 검증, 리버스 확정 탈출 등 시스템 유지보수 담당
scheduler_trade.py 정규장(17:05) 전송, VWAP 타임 슬라이싱(15:27~15:56), 스나이퍼 감시, 로터리 덫 등 실전 전투 스케줄링
strategy.py 4대 집행 모드(V14-LOC, V14-VWAP, V-REV Auto, V-REV Manual) 동적 라우팅 허브
strategy_v14.py 오리지널 무한매수법(V14) 퀀트 공식(T값, 별값) 및 LOC 단일 타격 전술 플러그인
strategy_v14_vwap.py V14 공식 기반 장 마감 30분 전 1분 단위 유동성 추적(VWAP) 분할 타격 플러그인
strategy_reversion.py V-REV 역추세 하이브리드 전술, LIFO 지층 분리 익절 및 공수 교대 타점 산출 코어
strategy_v_avwap.py 차세대 AVWAP 하이브리드 암살자 전술 (듀얼 레퍼런싱 기반 기초자산 팩트 스캔 및 파생 타격)
queue_ledger.py V-REV 전용 LIFO 로트(Lot) 장부, 팝(Pop)/푸시(Push) 및 무결성 관리
volatility_engine.py 야후 1년 ATR 및 공포지수(VXN/HV) 동적 연산, 가중치 산출 레이더
telegram_bot.py 텔레그램 명령어 라우팅, 콜백 제어, 3-Way 컨트롤 타워 논리 회로
telegram_view.py 텔레그램 UI 렌더링, 인라인 키보드 생성, 통합 지시서 포맷팅 및 졸업 이미지(PIL) 드로잉
version_history.py 패치 노트 및 아카이브 텍스트 저장소

1. 운영 스케줄 (Multi-Core Fire and Forget)

시간 작업
06:00 KST 시스템 자정 작업 (Self-Cleaning) — 오래된 로그 및 백업 파일 자동 소각
08:30 / 09:30 KST 장부 무결성 검증, 야후 파이낸스 연동 액면분할 자동 감지, 에스크로/큐 동기화 및 자동 복리 정산
10:20 EST 오프닝 휩소 진정 후 1년 평균 공포지수(기초자산 SOXX 기준) 1회 스캔 → 당일 공수 마스터 스위치 영구 락온 및 스나이퍼 감시 개시
17:00/18:00 KST 매매 초기화 및 리버스 모드 일일 1회 확정 탈출 단독 판별/집행 (scheduler_core 전담). 자정 래핑(Wrap-around) 오차 수학적 교정 완비
17:05/18:05 KST 정규장 통합 주문 실행 및 V-REV / V14_VWAP '선제적 양방향 LOC 덫' 장전 (텔레그램 수동 장전 버튼 상시 개방)
매 1분 스나이퍼 감시 (하방 매수/상방 익절 100% 독립 가동, AVWAP 하이브리드 100% 투트랙 동시 스캔)
장 마감 33분 전 ~ 4분 전 (04:27~04:57 KST) VWAP 스케줄러 기상. 서버 시계 타임존 오차(Glitch) 배제. 17:05에 깔아둔 예방적 LOC 덫을 전량 취소(Nuke)한 뒤 1분 단위 유동성(U-Curve) 타임 슬라이싱 개시. 취소 실패 시 자가 치유 강제 Nuke 집행
15:55 EST 하이브리드 AVWAP 타임스탑 강제 청산 (오버나이트 원천 차단)
장 마감 2분 전 (15:58 EST 상대 역산) V-REV 잭팟 및 1층 잔량 스윕 피니셔 격발 (목표 도달 시 지정가 덤핑). 0주 졸업 스캔 시 잔여 1분간 유령 매수를 원천 차단하는 Daily Buy-Lock 즉각 가동
16:05 EST 애프터마켓 3% 로터리 덫(Lottery Trap) — 잔여 물량 전량 총 평단가 +3% 장후 지정가 전송
6시간 간격 KIS API 토큰 자동 갱신 및 만료 시 자동 부활(Self-Healing), 원자적 쓰기(fsync) 무결성 보장

2. 무한매수법칙 (V14) 기본 공식 및 방어

항목 공식/규칙
T값 (절대 진행률) (한투 현재 총 보유수량 × 한투 현재 평단가) / 1회분 — 과거 장부 합산이 아닌 팩트 기반 절대 공식
별%가격 (매도 타겟) [일반] 평단가 × (1 + 별%지점) 올림 / [리버스] 순수 5일 이동평균선(5MA) 절대 락온
동적 1회분 예산 남은 잔금 / (분할수 - T). 매도 수익금을 시드에 복원하여 매일 예산 증가
마이너스 호가 방어 모든 호가 계산 시 최저 $0.01 하한선 방어막 무조건 가동
0주 보유 새출발 인식 API 통신 에러와 0주 보유 상태 완벽 구분. 빈 장부 스캔 시 IndexError 런타임 붕괴 방어막 완비
집행 모드 이원화 (LOC / VWAP) 텔레그램 설정을 통해 'LOC 단일 타격'과 'VWAP 타임 슬라이싱(유동성 추적)' 방식 선택 가능
가속 모드 영구 폐기. 시드를 갉아먹던 가속(Turbo) 로직 폐기, 오리지널 무매 원칙(0.5회분) 엄수

3. 정규장 스나이퍼 및 매매 로직

3-1. 일반/하방 스나이퍼 엔진 (V14)

  • 마스터 스위치 (Regime-Switching): 기초자산 공포지수 가중치 > 1.0이면 폭락장 판별 → 하방 매수 차단, 상방 익절만 가동. 타격선은 1배수 기초지수 1년 ATR의 3배수 절대 진폭으로 영구 고정
  • 다중 무결성 캐시 방어망: 야후 API 통신 장애 시 직전 영업일 캐시 로드(fsync 적용). 콜드 스타트 시 보수적 기본값 롤백
  • 자전거래 원천 차단: 매수 주문가 >= 매도 최저가일 경우 → 매수가를 매도 최저가 - $0.01로 강제 교정
  • 하이브리드 거래량 스나이퍼: 고가 대비 타격선 하락 해제 → 실시간 양봉 출현 → 바닥 반등 → 5분봉 거래량이 100분 평균 상회 시 방아쇠 장전
    • Strong Down 필터: 1분봉 누적 거래량 50% 이상이 VWAP 하단 집중 시 데드캣 바운스 무시
  • 유령 체결 다중 교차 검증: 주문 후 8초간 미체결 원장 + 실제 체결 내역 교차 스캔 (ODNO 기반 정밀 잔량 차감, 더블샷 차단)
  • API 결측치(None) Safe Casting: KIS API 및 야후 파이낸스 통신 지연 시 0.0 강제 형변환으로 스레드 교착 원천 차단

3-2. 일반 상방 익절 및 트레일링

  • 잭팟 대원칙: 장중 주가가 설정 목표(12% 등) 터치 시 기존 방어선 취소 후 전량 지정가 강제 익절
  • 1/4 쿼터 상방 트레일링: 별%가격 돌파 시 락온(Armed), 최고가 대비 진폭(-1.5%) 하락 시 기습 매도
    • Strong Up 동적 확장: 강한 상승 추세 시 하락 허용치 1.0% → 3.0%로 확장
    • VWAP 데드크로스 포착 시 조기 기습 익절 가동
  • V14 대박익절 100% 스윕 피니셔: 목표 도달 및 예산 고갈로 리버스 생략 시 야간 리스크 노출 버그 차단. 100% 지정가 전량 덤핑 후 즉각 루프 탈출(Return) 강제

3-3. VWAP 매수

  • 종목별 1년 U-Curve 가중치로 장 마감 33분 전 ~ 4분 전 예산 동적 분할
  • 실시간 매도 1호가(Ask)로 정밀 타격, 평균가/별값 초과 시 관망 (고점 불타기 차단)
  • Strong Up 보류: VWAP 상단 거래량 집중 시 매수 전면 중단, LOC 방어선만 유지
  • 누적 잔차 이월: 1주 미만 소수점 수량을 메모리에 누적, 정수 돌파 시 타격
  • 리버스 바이패스: 리버스 모드 시 VWAP 중단, 오리지널 무매 로직으로 회귀

3-4. 리버스 매도

  • 5MA 절대 락온 (1.005배 안전마진 개입 금지)
  • 리버스 3단 기어: 분할수에 따라 1/10 또는 1/20 물량만 부분 쿼터 탈출
  • VWAP 핀셋 철거: 잭팟(LIMIT) 방어 텐트 보존, LOC 덫만 정밀 철거
  • API 병목 시 최대 15분(60초 x 15회) 끈질기게 재시도하여 스케줄러 주문 누락 방어

4. V-REV (역추세 모드 & 투트랙 수동 VWAP — V26.02 코어)

4-1. V-REV 기본 구조

  • 운용 모드 이원화 (Auto vs Manual VWAP): 증권사 API 수수료 방어를 위해 [API 자동매매]와 [수동 VWAP 시그널 모드]를 분리 탑재. 수동 모드 선택 시 자동 주문(EXEC)을 100% 락다운하고 봇을 시그널 참모로 전환
  • 수동 모드 전용 UI 렌더링 최적화: 수동 모드 시 불필요한 '5개 분할 줍줍(Grid)' 타점 연산을 원천 소각(Bypass)하고, VWAP 스케줄 텍스트를 은폐. 지시서에 '장 마감 30분 전 셋팅 룰' 경고망 렌더링
  • 독립 예산 강제 할당: 무매 분할수 셋팅을 100% 무시, 무조건 "총 시드의 15%"를 1회분(1배수) 예산으로 고정 장전
  • 0주 새출발 타점 디커플링: Buy1은 당일 종가 ÷ 0.935 (깊은 방어/갭상승 추격), Buy2는 당일 종가 × 0.999 (얕은 방어) 타점으로 50%씩 분리 할당. 0주 진입 시 줍줍(Sweep) 렌더링 및 타점 생성은 차단되며 1층 베이스캠프 확보에 예산을 집중
  • Fail-Safe (선제적 LOC) 수동 장전: KIS 서버 오류 대비, 17:05 KST 전송 누락 시 텔레그램 [V-REV 방어선 수동 장전] 버튼으로 양방향 LOC 덫 상시 수동 장전 가능 (수동 VWAP 모드 시 락다운 발동)
  • 고유 단가 기반 로트(Lot) 분할 LIFO 큐: 매수 체결된 각 로트가 고유 진입 단가를 기억, 독립 지층으로 관리

4-2. VWAP 슬라이싱

  • 3중 거래량 필터 (VWAP Dominance): 당일 거래량 60% 이상 쏠림 시 VWAP 슬라이싱 공수 교대 스위칭 및 장 마감 15분 전 LOC 전환 방어막 발동
  • 5년 백테스트 정밀 VWAP 가중치: 장 마감 30분 전체 유동성의 15.15%가 마지막 1분에 집중되는 U-Curve 비중으로 남은 시간 동적 역산, 1분봉 분할 타격
  • 타임라인 시프트 (V25.24): 슬라이싱 윈도우를 '장 마감 33분 전 ~ 4분 전'으로 정밀 이동. 29번 인덱스(15.15%)가 15:56 EST에 격발되어 스윕 피니셔 전 2분간 체결 대기 버퍼 확보

4-3. 지층별 독립 탈출 (Decoupling)

  • 1층(최근 바닥): '최신 날짜 기반 합산 물량'의 고유 매수가 × 1.006 타점에 독립 익절
  • 2~N층(상위 악성 재고): 1층 데이터 100% 배제, 역산한 '상위 층 분리 평단가 × 1.005' 타점에 개별 익절 (물귀신 덤핑 없이 100% 독립)
  • 1층 전량 스윕 피니셔 및 메모리 스냅샷: 매도 상한선 철거. 장 마감 2분 전 주가 1.006배 이상 시 1층 잔여 물량 전량 덤핑 소각. LIFO 큐 초기화 직전 진입 평단·실현 PnL 캐싱 → 텔레그램 잭팟 졸업 카드 렌더링 및 시드 복리 증식 파이프라인 연동
  • 스윕 피니셔 거래소 락다운(Lock-down) 우회 디커플링: 15:58 EST 스윕 덤핑 시 미국 거래소 취소 불가 규정으로 묶인 수동 긴급 수혈(MOC) 물량을 피하기 위해 KIS 실시간 원장을 재스캔. '순수 매도 가능 수량(ord_psbl_qty)'만을 정밀 타격하며, 락다운 시 덤핑을 자동 생략(Skip)
  • 애프터마켓 3% 로터리 덫 (Lottery Trap): 정규장 마감 직후 16:05 EST 잔여 물량 100%를 총 평단가 +3% 장후 지정가 전송. 거절 사유 텔레그램 타전 방어막 신설
  • 실시간 공수 교대 및 수동 긴급 수혈 (Emergency MOC): 텔레그램 큐 관리 UI에서 3중 경고 후 최근 로트(LIFO) MOC 강제 매도로 실탄 수동 확보
  • 당일 졸업 후 유령 매수(Phantom Buy) 차단 (V25.26): 장 마감 직전 전량 익절(0주) 달성 후 봇이 '0주 새출발'로 오판하여 기습 매수하는 엣지 케이스 방어. 당일 0주 팩트 스캔 시 Daily Buy-Lock 즉각 가동

4-4. AVWAP 하이브리드 투트랙 (듀얼 레퍼런싱)

  • 듀얼 레퍼런싱 전역 파이프라인 확립: AVWAP 앵커 궤적·20MA 진성 지지선 판별·3대 강제 청산 시그널은 기초자산(SOXX)의 팩트에 100% 종속. 실제 타격 수량 산정·분할 집행은 파생상품(SOXL)의 유동성에 투입하는 이원화 로직
  • 범용 1분봉 스캔 엔진 (V25.23): KIS API 하드코딩 종속성을 적출하고 야후 파이낸스 기반 get_1min_candles_df 범용 엔진으로 교체. 정규화된 컬럼(high/low/close/volume/time_est)만으로 VWAP 역산
  • 2단계 승인 락온: /settlement 메뉴에서 V-REV 모드 종속 토글로 가동. 가동 즉시 기존 상방 스나이퍼 강제 셧다운
  • 투트랙 예산 완벽 격리 (100% All-in): V-REV LOC 덫 증거금 제외한 순수 주문가능금액 전체를 기초자산 기준 -0.67% 딥매수 타점에 100% 투입
  • 투트랙 물량 완벽 격리 (Firewall): AVWAP 매수 단타 물량·평단가는 V-REV 본대 장부(Queue Ledger)와 분리, 시스템 메모리(AVWAP_QTY, AVWAP_AVG)에 독립 보관
  • 3대 강제 청산 (3-Strike Exit): 1) 기초자산 -1% (파생 -3% 상당) 하드스탑 손절, 2) 기초자산 +1% 스퀴즈 홈런 익절, 3) 15:55 EST 타임스탑 전량 덤핑. 청산 즉시 해당일 AVWAP 작전 영구 셧다운(재진입 금지)

5. 다중 종목 에스크로 및 예산 고갈 방어

에스크로(Escrow) 락다운

  • 특정 종목 리버스 진입 시 현금을 가상 장부(Escrow)에 격리 → 타 종목 예산 탈취 차단
  • 장부 역순 탐색으로 '연속된 최근 리버스 기록'만 추출
  • 에스크로 인메모리 고속 캐싱 팩트 이식 완료

수동 긴급 수혈 100% 통제

  • 예산 1회분 미만 또는 4주 미만 도달 시 봇의 자동 강제 청산(오판) 엣지 케이스 원천 차단
  • 자동 의무 수혈 스케줄러 영구 폐기. 생명수 창출은 오직 텔레그램 UI의 '수동 긴급 수혈(Emergency MOC)' 격발로만 집행

제논의 역설 방어

  • 에스크로 잔액에 의존하지 않고 리버스 기간 내 순수 누적 매도 원금만 역산 도출 → 고정 4분할 타격 예산 앵커링

타임 패러독스 방어

  • /sync 수시 조회로 인한 일차 허위 누적 방지
  • 작전 수립 엔진은 절대 상태를 저장(Write)하지 않는 멱등성(Idempotency) 구조 엄수

6. TrueSync & 데이터 무결성

로직 조건 동작
A. 수익 졸업 및 마이너스 손절 개방 0주 팩트 확인 시 수익 여부 무관하게 락다운 해제, 장부 비워 0주 새출발 디커플링 모드 강제 리셋
B. TrueSync 비파괴 업데이트 수량 오차 발생 시 과거 역사 100% 보존, CALIB 행만 추가 (전체 덮어쓰기 절대 금지)
C. 단가 소급 교정 KIS 전일 체결 영수증 스캔 장부 예상 단가를 실제 체결 단가로 핀셋 교정
D. 삼위일체 소각 엔진 /reset 수동 격발 시 본장부·가상장부(Escrow)·지층 큐(Queue)·백업본 4중 데이터 100% 동시 소각
E. 텔레그램 API 통신 방어 봇 구동 시 read/write/connect/pool 타임아웃 30초 확장, 커넥션 풀 512 증설. 하단 고정 키보드 한글 신호 무응답 맹점 다이렉트 패스 수술
F. 플러그인 아키텍처 레거시 소각 strategy.py → 중앙 라우터 축소, 4대 플러그인(strategy_v14, strategy_v14_vwap, strategy_reversion, strategy_v_avwap) 체제로 캡슐화. 레거시(V13/V17/V_VWAP) 영구 적출
3-A. Fast Track 총수량 일치 합격. 평단가 오차만 한투 팩트로 교정
3-B. 비파괴 보정 수량 오차 과거 역사 100% 보존, CALIB 행만 추가
3-C. 액면분할 야후 감지 시 과거 장부 100% 무인 소급 조정
3-D. 주말 방어 휴장일 최근 거래일 애프터마켓 최종 종가(prev_close) 강제 신뢰