오늘 작업 개요
오늘은 /Users/jangseou/ai_trading_agent 기준으로 실제 운영 구조를 더 안정적이고 읽기 쉬운 형태로 정리하는 작업을 진행했다. 방향은 단순한 매매 봇이 아니라, 뉴스, ML, LLM, 자동 리포트, 운영 로그가 붙은 저빈도 AI 펀드형 시스템에 가깝게 만드는 것이었다.
자동 실행 구조 정리
현재 자동 실행은 macOS launchd 기반으로 운영되고 있다. 매시 :55에는 뉴스 갱신, :00에는 트레이딩 실행, :02에는 상태 리포트 전송, :03에는 애널리스트 전망 리포트 전송, 그리고 매일 09:10에는 일간 요약 리포트가 나가도록 구조를 정리했다.
예전처럼 단순히 “실행 후 로그를 던지는 구조”에서 끝나는 것이 아니라, 이제는 현재 상태 확인용 리포트와 향후 전망 설명용 리포트를 분리해서 운영 흐름이 훨씬 명확해졌다.
멀티코인 운용 구조 확장

기존에는 사실상 단일 종목 중심 해석이 강했다면, 이제는 BTC/USDT, ETH/USDT, SOL/USDT, XRP/USDT, TRX/USDT 다섯 종목을 기준으로 멀티자산 바스켓 실행 구조를 갖추게 됐다.
이 과정에서 멀티자산 실행기로 전환할 때 기존 paper 계좌의 단일 포지션 상태가 사라진 것처럼 보이던 버그도 수정했다. 이 부분은 단순히 화면에 잘못 보이는 문제가 아니라, paper 상태 자체가 잘못 저장될 수 있는 문제였기 때문에 운영 안정성 측면에서 꽤 중요한 수정이었다.
리포트 가독성 개선
기존 리포트는 총 평가금액이나 현금 정도는 볼 수 있었지만, 실제로 어떤 종목을 얼마나 들고 있고, 각각이 얼마의 손익을 내고 있는지는 바로 읽기 어려웠다.
그래서 이번에는 리포트에 종목별 포지션 정보를 훨씬 더 직접적으로 넣었다. 이제는 보유 종목 수, 종목별 수량, 종목별 손익, 종목별 손익률, 전체 포지션 평가금액까지 바로 볼 수 있다. 멀티코인 운영에서는 계좌 전체 손익만으로는 원인을 알 수 없기 때문에, 이 변화는 생각보다 의미가 크다.
뉴스 파이프라인 품질 보완
뉴스도 무조건 많이 넣는다고 좋은 게 아니라, 실제 판단에 의미 있는 뉴스만 들어가는 게 중요하다고 보고 relevance filtering을 추가했다. 관련성 낮은 뉴스만 있으면 아예 뉴스 컨텍스트에 넣지 않도록 했고, 완전한 fetch 실패와 “쓸모없는 뉴스만 있어서 스킵한 경우”를 구분할 수 있게 처리했다.
또한 OpenClaw는 자동 리포트 발송 주체가 아니라, 필요하면 뉴스 JSON을 만들어 data/news_context.csv에 넣어주는 외부 컨텍스트 생산자로 활용할 수 있게 정리했다. 이 부분은 이후 OpenClaw 활용 고도화에도 연결될 수 있는 기반이 된다.
전략 성과 비교 기준 추가


오늘 추가한 기능 중 개인적으로 꽤 마음에 드는 부분은 벤치마크 비교 기능이다. paper 계좌를 초기화한 시점을 기준으로, 같은 시점에 BTC/ETH/SOL/XRP/TRX를 각각 20%씩 단순 매수해 들고 있었다고 가정한 뒤, 현재 전략 수익률과 비교하도록 만들었다.
이제 상태 리포트와 일간 요약 리포트에서 단순 균등보유 대비 전략이 얼마나 초과수익을 내고 있는지 바로 확인할 수 있다. 결국 자동매매 시스템이 실제로 의미가 있으려면 “그냥 들고 있는 것보다 나은가?”라는 질문에 답할 수 있어야 하는데, 그 기준이 생긴 셈이다.
애널리스트 리포트 구조 전환

기존 :03 자동 리포트는 단순 해석 리포트였는데, 이번에는 이를 애널리스트 전망 리포트로 교체했다. 즉 현재 상태를 반복해서 설명하기보다, 앞으로 6시간과 24시간 관점에서 어떤 흐름을 예상하는지, 상방 시나리오와 하방 시나리오, 핵심 리스크와 관찰 포인트가 무엇인지 정리해주는 구조로 바꾼 것이다.
이렇게 되면서 상태 리포트는 “지금 계좌가 어떤 상태인가”를, 전망 리포트는 “앞으로 어떤 시나리오를 주의해야 하는가”를 담당하게 되어 역할 분리가 훨씬 명확해졌다.
벤치마크 비교 그래프 추가

이번에는 전략 성과를 숫자만이 아니라 그래프로도 바로 볼 수 있도록 벤치마크 비교 기능을 추가했다. 기준은 paper 계좌를 초기화한 시점으로 잡고, 그 시점에 BTC, ETH, SOL, XRP, TRX를 각각 20%씩 단순 매수해 계속 보유했다고 가정한 뒤 현재 전략 수익률과 비교하도록 만들었다. 이렇게 하면 “이 전략이 그냥 들고 있는 것보다 실제로 나은가?”를 훨씬 직관적으로 확인할 수 있다.
구현은 상태 리포트 로그에 누적되는 cumulative_return, benchmark_return_20pct_hold, excess_return_vs_benchmark 값을 읽어서 PNG 그래프로 만드는 방식으로 붙였다. 이제 전략 누적수익률, 단순 20% 균등보유 수익률, 그리고 초과수익률을 한 번에 시각적으로 볼 수 있고, 이후에는 이 이미지를 OpenClaw 보고서나 Discord 웹훅 전송 흐름과도 연결할 수 있는 기반이 생겼다.
README 문서화 정리

코드 수정만큼이나 중요했던 것이 문서 정리였다. README에 현재 운영 스케줄, 핵심 파일 역할, 상태 및 로그 구조, OpenClaw와 자동 운영 파이프라인의 역할 분리를 정리했다.
프로젝트가 점점 커질수록 “무엇이 어디서 실행되고 왜 존재하는지”를 잃기 쉬운데, 이번 문서화는 바로 그 혼란을 줄이기 위한 작업이었다. 나중에 다시 봤을 때도 README만 읽으면 전체 구조를 다시 이해할 수 있도록 만드는 데 초점을 맞췄다.
오늘 작업의 의미
전체적으로 오늘 작업은 새로운 모델을 추가했다기보다, 이미 존재하던 시스템을 실제 운영 가능한 형태로 다듬는 과정에 가까웠다. 멀티자산 실행, 종목별 리포트, 실시간 평가 반영, 뉴스 품질 관리, 벤치마크 비교, 애널리스트 전망 리포트, 운영 문서화까지 한 번에 정리하면서 프로젝트의 성격이 훨씬 더 “AI 기반 저빈도 펀드 시스템” 쪽으로 선명해진 느낌이다.
다음 단계에서는 하루 이상 로그를 쌓아보면서, 실제로 HOLD 비율이 어떻게 바뀌는지, 멀티코인 비중이 의도대로 들어가는지, 단순 보유 대비 성과가 개선되는지를 계속 점검해볼 생각이다.
Plus

에이전트가 있는 서버에 미친놈을 초대하면 큰일납니다..
'프로젝트' 카테고리의 다른 글
| AI Trading Bot 개발기 — Day 5 (0) | 2026.04.01 |
|---|---|
| AI Trading Bot 개발기 — Day 4 (2) | 2026.03.24 |
| AI Trading Bot 개발기 — Day 2 (0) | 2026.03.18 |
| AI Trading Bot 개발기 — Day 1 (0) | 2026.03.10 |