AI와 함께 만드는 삶

PM으로 일하며 AI와 함께 무언가를 만들어가는 삶을 기록합니다.

페이퍼트레이딩 7

AI와 규칙을 협상하다 — 실주문 자동화 요청과 CLAUDE.md 합의 과정 (9편)

"너가 자동으로 매수 매도를 하지" — 요청페이퍼 트레이딩을 몇 주 돌리고, 운영 PC도 집으로 옮기고, 백테스트로 이것저것 더 확인해보던 중에 이런 말을 들었다. "이제 날짜만 정해주면 그날 PC를 켜놓을게. 그럼 네가 자동으로 매수 매도를 하면 되잖아." 그리고 이어서, "나는 자동화하고 싶은 거야. 그래서 계좌도 따로 만든 거고."순간 멈칫했다. 이건 그냥 "PC 켜놓는 날짜를 알려달라"는 요청이 아니라, 실제 돈으로 자동 주문을 내달라는 요청이었다.규칙을 들이밀 수밖에 없었다이 프로젝트에는 처음부터 못박아둔 절대 규칙이 하나 있다.실주문 코드 작성 금지. 현재는 페이퍼 트레이딩만.이건 내가 그때그때 판단할 문제가 아니라, 프로젝트 문서(CLAUDE.md)에 박혀 있는 규칙이다. "이제 자동화해줘"..

며칠 기다렸다 사면 더 좋을까 — 매수 타이밍 검증과 새 전략 BB8 추가기 (8편)

"그렇게 사면 손해 아니야?" — 지인의 질문전략을 다 확정하고 페이퍼 트레이딩까지 돌리고 있는데, 주식을 10년 넘게 해온 지인에게서 이런 질문을 받았다. "매수일이 매달 1일이면, 이미 고른 종목을 그냥 그날 사버린다는 거잖아. 나도 적립식 투자를 하지만 그래도 떨어진 날 사려고 하는 편인데."정곡을 찌르는 질문이었다. 지금 확정된 방식은 이렇다 — 매달 첫 거래일 저녁에 종가 기준으로 종목을 고르고, 다음 거래일 시가에 무조건 산다. 재량은 전혀 없다. 종목은 저PBR이라는 기준으로 골랐지만, 그날 그 종목을 살지 말지, 혹은 다른 날 살지는 아예 고려 대상이 아니었다.이미 겪어본 문제였다사실 이 프로젝트의 원래 설계(v0.2)는 스토캐스틱·이동평균·하이킨아시 3개 지표로 정확히 이 "타이밍"을 잡..

자동매매 시스템이 자산관리 프로그램이 된 이야기 — 계좌 통합 대시보드까지

1편부터 5편까지 거치면서 결국 살아남은 전략은 하나였다.대형주 중에서 장부가 대비 싼 종목 10개를 매달 골라 담는 방식. 화려하진 않지만 근거는 확실했다. 페이퍼 트레이딩에 넣고 실제로 돌리기 시작했고, 매달 초 자동으로 종목이 갱신되고 텔레그램으로 결과가 날아오는 시스템도 갖춰졌다.여기서 자동매매 프로젝트의 본론은 일단락됐다. 그런데 여기서 끝내기가 아까웠다.만들어놓은 구조가 아까웠다자동매매 계좌 하나를 관리하려고 만든 것들을 되짚어보니 이랬다.종목별 보유 수량을 담는 DB 스키마국내 시세를 가져오는 API 연동 (6편에서 다룬 그것)평가금액을 계산하고 화면에 뿌리는 대시보드정해진 시각에 도는 스케줄러와 텔레그램 알림여기서 "자동매매 계좌"라는 부분만 바꾸면, 그대로 다른 계좌에도 쓸 수 있는 구조..

저PBR 전략이 사실은 은행주 전략이었다 — 밸류업 정책 특수를 의심하고 검증한 과정

살아남은 저PBR 전략을 페이퍼 트레이딩에 넣고 몇 주 지켜보다가 이상한 패턴을 발견했다. 매달 골라지는 10종목 중 4~5개가 은행이나 금융지주였다.신한지주, 하나금융지주, 우리금융지주, 기업은행, 삼성생명. 업종이 자꾸 겹쳤다."분산 투자한다고 10종목을 골랐는데, 사실상 은행 한 업종에 몰아넣은 거 아닌가?"이 의심에서 시작해 두 개의 실험을 돌렸다. 결과는 둘 다 예상과 반대였다.왜 저PBR은 은행주가 되는가PBR이 무엇인지 먼저PBR(주가순자산비율)은 주가 ÷ 주당 순자산이다. 회사가 가진 자산에서 빚을 뺀 장부상 가치 대비, 시장이 그 회사에 얼마를 매기고 있는지를 나타낸다.PBR 0.4라면 장부상 1만 원짜리 회사를 시장이 4천 원에 사고 있다는 뜻이다. "싸다"고 볼 수도 있고, "시장이 ..

직감이 세 번 연속 틀린 이야기 — 자동매매 필터·손절 백테스트 실패기

이제 안전장치를 붙여볼 차례였다40종목 기준 백테스트로 다시 보니, 순수 전략은 그냥 사서 보유하기를 못 이겼다. 그럼 여기에 "안전장치"를 몇 개 붙이면 나아지지 않을까 싶었다. 상식적으로 생각하면 다 맞는 소리였다. 하락장이 예상되면 매수를 막고, 손실이 커지면 손절하고, 기관 자금이 잘 안 들어가는 중소형주를 노리면 더 유리할 거라고.세 개 다 시도했다. 세 개 다 틀렸다.첫 번째: "하락 예상되면 매수 금지"주가가 200일 이동평균선 아래에 있으면 신규 매수를 하지 않는 필터를 넣었다. 하락 추세에서는 사지 않겠다는, 지극히 상식적인 규칙이었다.평균 수익률평균 최대낙폭수익 종목 비율기본 전략+83.4%-50.7%57%+ 하락장 필터+54.1%-43.2%60%최대낙폭은 확실히 줄었다(-50.7% →..

5종목으로는 속았다 — 백테스트 생존편향에 속은 이야기

첫 백테스트, 숫자가 꽤 그럴듯했다원칙을 세웠으니 이제 백테스트로 확인할 차례였다. 판단을 전부 코드로 짰으면, 그 코드가 진짜 돈을 버는지 봐야 한다. 익숙한 대형주 5개 — 삼성전자, SK하이닉스, NAVER, 현대차, 카카오 — 로 8년치 데이터를 돌렸다.결과는 나쁘지 않아 보였다. 5종목 평균 수익률 +336.8%. 특히 카카오는 전략이 +376.4%를 냈는데, 그냥 사서 들고 있었으면 +74.4%에 그쳤을 거였다. 다섯 배 차이. "이 전략, 폭락장에서 방어력이 있구나" 싶었다.그런데 자세히 보니 이상한 게 있었다같은 표 안에 불편한 숫자도 있었다. SK하이닉스를 그냥 사서 들고 있었다면 +2,919%였다. 전략은 +589.6%. 무려 2,300%포인트 차이로 전략이 졌다. NAVER는 더 심했..

AI로 자동매매 프로그램을 만들어보기로 했다

시작은 야심 찼다"AI 에이전트들이 팀을 이뤄서 주식을 대신 매매해준다면?"처음 구상은 이랬다. 실제 증권사 트레이딩 데스크가 어떻게 돌아가는지부터 찾아봤다. 리서치센터가 지표와 데이터를 분석해 리포트를 내면, 그 리포트를 두고 서로 다른 입장의 심사역들이 토론하고, 트레이딩 데스크가 주문을 실행하고, 리스크관리팀이 최종 승인·거부를 결정하는 구조였다. 이 흐름을 그대로 AI 에이전트로 옮겨보기로 했다.스토캐스틱(주가의 상대적 위치를 보여주는 보조지표)을 보는 애널리스트 에이전트, 이동평균선을 보는 애널리스트 에이전트, 캔들 패턴을 보는 애널리스트 에이전트가 각자 리포트를 쓴다. 그 리포트를 놓고 낙관론자(Bull) 에이전트와 비관론자(Bear) 에이전트가 마치 심사역들처럼 토론을 벌인다. 토론 결과를 ..