📊 sunnypoint
개발일지

[개발일지]2026-07-13

8분 읽기

데이터 원년 개시와 시장 신호 스냅샷 구축

이틀간 설계부터 구현, 검수, 라이브 검증까지 쉴 틈 없이 내달렸다. 이 과정에서 소넷(Sonnet)이 코드를 구현하고 내가 설계를 검수하는 협업 방식이 꽤 매끄럽게 자리를 잡았다. 먼저 마이그레이션 작업을 진행하면서 시장 신호 스냅샷 수집 기능의 라이브 검수를 마쳤다. 그 과정에서 네이버 금융 거래일 기본값 처리 오류와 선물 일별 데이터 백필 시 스냅샷 컬럼이 덮어쓰여지던 버그를 발견하여 COALESCE upsert 방식으로 코드를 긴급히 수정했다. 수급 데이터와 선물 투자자 포지션의 백필 작업도 완료했다. KRX 파생상품 API 승인 처리가 완료되어 실측 필드명을 보완하고 야간 세션을 필터링하는 선별 로직을 새로 추가했다. 이를 통해 그동안 의구심이 들었던 베이시스 오염 의혹은 정상적인 콘탱고 상태인 것으로 밝혀져 해소되었다. 다만 공매도 API는 현재 미제공 상태라 추후 대체 구현이 필요한 과제로 남겨두었다.

코어-새틀라이트 분리를 통한 운용 헌법 확립

내 투자 성향의 공격적인 측면과 전체 자산의 안정성이라는 두 마리 토끼를 잡기 위해 코어와 새틀라이트 자산을 분리하기로 결심했다. 이를 위해 과거 15년 치 원장 데이터를 실측해 분석해 보았고, 새틀라이트 비중은 30%, 단일 종목은 15%로 제한하며 한도를 넘어서면 추가적인 물타기는 금지한다는 구체적인 상수를 정했다. 예전에는 연 20% 수익을 꿈꿨지만, 이제는 이를 새틀라이트의 열망으로 분리하고 시스템 공식 코어 목표는 원금 보전과 예금 대비 초과 수익 수준으로 기대치를 재정리했다. 집행 단계를 사후 계측부터 게이트 설정까지 다단계로 세분화해 자동 주문으로 인한 예기치 못한 사고를 방지하고자 했다.

원장 자동화와 슬리브 NAV 거울 라이브 가동

그동안 방치되어 있던 키움 API 동기화 원장의 데이터 연결 문제를 바로잡기 위해 승격 변환기를 구현했다. 검수하는 과정에서 영문 ticker 오분류나 거래 부호 처리, 해외 통화 표기 방식 등에서 발생하던 잔버그들을 수동으로 다듬었다. 미래에셋 계좌의 거래 내역 분류 오류도 휴리스틱 방식을 걷어내 오탐율을 대폭 낮췄다. 슬리브 NAV와 규칙 엔진 스크립트를 적용해 일일 모니터링 거울을 띄웠는데, 규칙 위반 사항이 정직하게 표기되는 것을 보니 드디어 시스템다운 틀이 잡혀가는 것 같았다.

LLM 예약 세션으로부터의 인프라 독립

매일 아침 실행되던 적재 작업이 LLM 세션 만료 등의 외부 원인으로 중단되어 데이터를 손실하는 불상사를 막기 위해 macOS launchd를 기반으로 인프라를 완전히 분리했다. 이제 새벽 5시 50분에 launchd가 독립적으로 신용등급 크롤링과 시장 신호 수집, DB 백업을 먼저 실행하고, 기존의 6시 5분 예약 작업은 단순히 로그를 체크하는 감시 역할로 축소시켰다. 이와 함께 맥북이 절전 모드로 빠져 백업이 실패하지 않도록 Amphetamine 설정을 세밀하게 조정하고 DB 읽기 권한을 정리해 성공적으로 원격 자동 백업 환경을 구축했다.

LEAN 백테스트 엔진 준비와 키움 api - ip지정 문제

백테스트 엔진으로 QuantConnect LEAN의 로컬 CLI 구성을 마치고 간단한 스모크 백테스트를 돌려 정상 작동을 확인했다. 앞으로 팩터 리서치는 빠른 탐색 위주로 돌리고, 검증된 가설 체계의 전략 시뮬레이션만 LEAN 엔진을 태울 생각이다. 다만 키움 API 토큰을 발급받는 과정에서 지정단말기 인증 실패 오류가 발생해 access_token 발급이 차단되었다. 이 부분은 내 계정 설정에서 수동으로 단말기를 재등록해주어야 풀릴 것 같아 당장 자동화를 전면 배선하지는 못하고 보류해 둔 상태다. 키움 api 집에서만 작업 할 수 있는 부분이 상당히 피곤하다.. 요즘은 외부에서 작업을 많이 하는데.. 먼가 다른 방법이 필요할거 같다.

오늘의 소감

여러개의 프로잭트를 이제 조금식 합쳐야 할 상황이 되었는데.. 좀 복잡해서 실수가 생기거나, 이전 돌아가는 방법을 착각해서 오류가 조금 발생하고 있어, 이 부분에 대한 보완이 필요하다.

#개발일지

의견 나누기

💬 GitHub Discussions 댓글 위젯 영역 (Giscus 활성화 예정)