프로젝트 소개
Watchy는 TradingAgents 멀티 에이전트 LLM 트레이딩 프레임워크 기반의 자체 호스팅 주식 모니터링 데몬입니다. 사용자가 정의한 관심종목 목록을 감시하고 포지션을 반영한 안내를 Telegram으로 전송합니다. 이는 명시적으로 의사결정 지원 시스템이며, 주문을 실행하지 않고 수익률을 예측하거나 알파를 창출한다고 주장하지 않습니다.
2계층 설계. Tier 1은 무비용 기술적 스캔(기본 30분마다, 미국 정규 거래 시간에만, exchange_calendars를 통한 DST 보정)으로 yfinance를 통해 OHLCV를 가져오고 LLM 호출 없이 지표를 계산합니다. 이동평균 계단식 확인을 동반한 골든/데스 크로스, RSI 극단값, MACD 교차, 볼린저 밴드 이탈, 거래량 이상, ATR 급등을 포함한 11가지 신호 유형을 감지합니다. Tier 2는 전체 4명 분석가 TradingAgents 파이프라인(Market, Sentiment, News, Fundamentals)을 Bull/Bear 토론 및 리스크 관리와 함께 실행하며, 그 깊이는 매주 첫 거래일에 전체 3자 리스크 토론으로 확대됩니다.
Watchy 2.0(v2.0.0-rc.1)은 주간 계획과 이벤트 기반 모니터링으로 전환합니다. 주간 전체 실행은 어드바이저에게 엄격한 WEEKLY PLAN 블록(결정, 긴급도, 논지, 매수 구간, 추격 상한, 무효화 수준/조건, 축소 조건, 저항, 익절 가격, 안내, 구체적인 "하지 말 것")을 요청합니다. 계획은 활성화 전에 검증되며, 유효하지 않은 출력은 진단을 위해 저장되고 결코 실행 가능해지지 않습니다. 각 스캔은 계획 대비 가격을 분류하고 상태 전환 시에만 알림을 보내며, 재시작 시 알림이 반복되지 않도록 영속화됩니다. 순수 라우터는 트리거를 TAKE_PROFIT, TRIGGERED_RISK, FAST_RECHECK, NOTIFY_ONLY 또는 NO_ACTION 중 하나로 매핑하며, 유료 경로는 섀도 모드(기본 제공), 티커가 허용 목록에 없을 때, 또는 티커별/전역 세션 예산이 소진되었을 때 알림으로 다운그레이드됩니다. 결정론적 상태 라벨(ACT NOW, WAIT FOR LIMIT, DO NOT CHASE, RISK REVIEW, PLAN INVALID, STALE, INFORMATION ONLY)은 LLM이 재정의할 수 없습니다. tier2_schedule: daily로 설정하면 1.x 동작이 복원됩니다.
기타 문서화된 기능: 진입 목표에서 멀리 떨어진 관심 전용 티커에 대해 비용이 큰 분석을 건너뛰면서 보유 포지션은 항상 분석하는 가격 근접성 게이트; 캘리브레이션 스크립트가 있는 선택적 ATR 적응형 밴드; 수익 하한을 넘긴 보유 승자에 대해 사실로 채워진 지시문을 주입하고 제안을 주식 수에 맞게 조정하는 익절/왕복 방지 경로(정수 주식 트랜치, 전량 청산, 소수점 시장 축소); 연령 라벨링 및 토큰 만료 알림이 있는 계층적 포지션 소스(Schwab API 실시간, 캐시된 스냅샷, 수동 YAML); 그리고 저널 라인, route_log 테이블, 상태·계획 검사·드라이 라우팅/미리보기·강제 주간 실행·읽기 전용 라우팅 재생을 위한 scripts/watchy_ctl.py 명령을 통한 관측 가능성.
배포는 systemd를 통해 이루어지며, 설정은 커밋 가능한 config.yaml과 git에서 무시되는 secrets.yaml로 분리됩니다. Python 3.11+, MIT 라이선스.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.