자동매매는 신호를 만들고 주문을 실행하면 끝날 것 같지만, 저장소의 변경 흐름을 따라가 보면 그다음 작업이 꽤 길게 이어집니다. 거래가 어떤 상태로 남았는지, 손익은 어떻게 계산됐는지, 자동 청산이 일어났는지, 그 결과를 어디에서 확인할지까지 갖춰야 했습니다.
처음 추가된 축은 거래 기록과 PnL 추적이었습니다. 신호가 발생하고 거래가 기록되면, 그 기록을 바탕으로 손익을 계산하는 흐름이 필요해졌습니다. 여기서 중요한 건 단순히 매수와 매도 로그를 남기는 데서 끝나지 않는다는 점입니다. 거래 결과를 확인하려면 기록과 계산이 이어져야 합니다.
저장소에는 live trade ledger와 PnL tracking을 추가한 변경이 남아 있습니다. 말 그대로 거래를 장부처럼 쌓고, 그 거래를 기준으로 성과를 추적하는 구조입니다. 주문 판단과 실행 경로에 더해 거래 상태를 확인하는 구조가 필요합니다.
그다음에는 알림이 붙었습니다. 자동 청산과 거래 이벤트를 Slack으로 전달하는 notifier가 추가됐고, 실시간 감시기에서 발생하는 신호와 거래 관련 이벤트를 알릴 수 있게 됐습니다. 다만 알림을 무조건 많이 보내는 방향은 아니었습니다. 이후 변경에서는 Slack 알림을 중요한 이벤트 중심으로 줄이는 흐름도 확인됩니다.

이 선택은 코드상에서도 드러납니다. 중립적인 감시 결과까지 모두 보내는 대신, 거래 신호나 거래 기록, 차단, 오류 등 특정 이벤트를 중심으로 알림을 구성합니다.
성과 보고도 별도 기능으로 확장됐습니다. live trading performance reporting이 추가되고, 거래 결과를 일일 단위로 확인할 수 있는 daily report가 이어졌습니다. 이후에는 한국어 analyst trading reports도 추가되어, 거래 상태와 성과를 사람이 읽는 보고서 형태로 정리하는 범위가 넓어졌습니다.

흐름을 짧게 그리면 이렇습니다.
신호 → 거래 기록 → PnL 계산 → Slack 알림과 일일 보고
각 단계가 모두 같은 문제를 다루는 것은 아닙니다. 거래 기록은 무슨 일이 있었는지를 남기고, PnL은 그 결과를 계산합니다. Slack은 특정 이벤트를 전달하고, 일일 보고서는 하루 단위로 결과를 묶습니다. 비슷해 보이지만 서로 대체할 수는 없습니다.
특히 자동 청산 알림과 성과 보고가 따로 추가된 점이 눈에 띕니다. 청산 이벤트와 그날 거래 성과는 서로 다른 보고 대상이기 때문입니다. 하나는 사건 알림이고, 다른 하나는 누적 결과에 가깝습니다.
물론 여기서 실제 운영 성과가 좋아졌다고 말할 근거는 없습니다. 알림이 대응 시간을 줄였다고 단정할 수도 없습니다. 확인할 수 있는 것은 거래 장부, 손익 추적, 알림, 성과 보고가 각각 별도의 변경으로 추가됐다는 사실입니다.
그래도 방향은 분명합니다. 자동매매를 주문만 실행하는 프로그램으로 두지 않고, 거래가 남고 계산되고 보고되는 운영 흐름으로 확장한 것입니다. 이제 남은 문제는 보고 체계를 붙인 뒤 주문 규모와 포지션 한도를 어떤 기준으로 다룰지였습니다. 다음에는 그 범위를 넓히면서 추가된 안전장치를 따라가 보겠습니다.
