드디어 마지막 편입니다. 1편에서 구조를, 2편에서 전략과 백테스트를, 3편에서 AI 팀원들을 봤습니다. 오늘은 화려하진 않지만 매일 제일 자주 쓰는 기능들입니다.

시스템을 오래 쓰다 보면 알게 됩니다. 결국 애정이 가는 건 거창한 기능이 아니라, 매일의 귀찮음을 없애주는 기능이라는 걸요.

 

git url : https://github.com/jbpark/JbrainTrader
데모 사이트 : https://jbraintrader-demo.pages.dev/


📒 매매일지 — 달력에서 클릭 한 번

매매일지 탭은 달력 모양입니다. 날짜를 클릭하면 그날의 체결 내역과 실현손익이 키움 API에서 조회되어 표시됩니다. "지난주 화요일에 뭘 샀더라?"가 클릭 한 번입니다.

국내 계좌와 해외 계좌를 전환하면 매매일지도 해당 시장 기준으로 따라 바뀝니다. 참고로 실현손익은 키움 TR마다 집계 기준이 미묘하게 달라서, 영웅문 앱과 숫자가 일치하는 TR을 찾아내느라 며칠을 태운 적이 있습니다. 자동매매 개발의 절반은 이런 지루한 검증입니다. 숫자가 앱과 1원까지 맞아떨어졌을 때의 쾌감은... 아는 사람만 압니다.

매매일지 달력 화면 (데모)


데모 사이트 캡처 · Mock 데이터


📗 구글시트 업로드 — 기록은 클라우드에

일지를 시스템 안에만 두면 아쉽죠. 버튼 하나로 구글시트에 업로드됩니다.

  • 보유종목 시트: 현재 보유 현황 + AI 매매전략 컬럼까지 같이 (3편의 AI가 여기서도 일합니다)
  • 매매일지 시트: 거래 내역 정리, 국내/해외 시트 분리
  • AI 종목 비교 시트: AI가 뽑은 종목들의 상세 비교표

시트는 헤더 정렬까지 맞춰서 올라갑니다. 숫자가 문자로 깨져 올라가는 문제도 다 잡았고요(이거 겪어보신 분은 아실 겁니다, 구글시트가 1,234를 얼마나 창의적으로 해석하는지).

업로드 전에는 확인 팝업이 한 번 뜹니다. 실수로 눌러서 시트를 덮어쓰는 참사 방지용입니다.

매매일지 탭은 실제 매매 금액이 들어 있어 캡처를 생략합니다. 열 구조는 날짜·종목코드·종목명·수량·매수단가·매도단가·매수금액·매도금액·수수료·세금·실현손익·수익률·계좌 순이고, AI가 채운 탭은 아래처럼 생겼습니다.

구글 시트 전략성과 탭 — AI 매매 전략 자동 채점


실제 구글 시트 캡처 · AI가 생성한 참고용 정보


📱 Flutter 앱 — 침대에서 계좌 확인

외출했거나 침대에 누웠는데 계좌가 궁금하다? PC 앞으로 갈 필요 없습니다. Flutter로 만든 모바일 앱이 있습니다.

  • 대시보드: 예수금, 보유종목, 총 매입금액, 헤더 정렬
  • 계좌 변경 + 국내/해외 전환 (계좌를 바꾸면 시장도 자동 전환)
  • 매매일지 / AI종목 / AI매매 / AI캘린더 / AI Notice — 전부 국내·해외 탭 구분
  • 보유종목 업데이트, 매매일지 업데이트, 구글시트 업로드 버튼까지 — 웹에서 되는 건 폰에서도 됩니다

즉, 밖에서도 "AI야 보유종목 분석해줘 → 결과 확인 → 시트 업로드"가 폰 하나로 끝납니다.

모바일 앱 대시보드모바일 앱 매매일지모바일 앱 설정

Flutter 앱 실제 화면 · 계좌·금액 마스킹


🐙 마스코트와 CLI 작업 탭 — 개발도 이 안에서

1편에서 아껴둔 이야기입니다. jbrain_trader는 Claude CLI로 개발하는데, 터미널에 입력한 프롬프트와 결과가 "CLI 작업" 탭에 자동 기록됩니다. "이 기능 언제 어떻게 만들었더라?"의 답이 시스템 안에 있는 거죠.

그리고 화면 우하단에는 마스코트(문어🐙/펭귄🐧/고양이🐱/강아지🐶 중 선택)가 삽니다.

  • 화면을 어슬렁거리다가 CLI 작업이 끝나면 말풍선으로 보고합니다
  • 클릭하면 채팅창이 열리고, 시스템 사용법을 물어보면 대답해줍니다
  • 시끄러우면 끌 수 있습니다 (🐾 버튼으로 재입양 가능)

트레이딩 시스템에 웬 문어냐 싶으시겠지만, 차트만 가득한 화면에 이 친구 하나 있는 것만으로 분위기가 꽤 달라집니다.

도우미 마스코트 대화창 (데모)


데모 사이트 캡처 · Mock 데이터

덤으로 Discord 봇도 붙어 있어서, 주요 알림을 디스코드로도 받을 수 있습니다.


🎬 시리즈를 마치며

4편을 한 줄씩 요약하면:

  1. 키움 OpenAPI의 32비트 저주는 게이트웨이/엔진 분리 + ZeroMQ로 풀었다
  2. 전략은 파일로 관리하고, 백테스트 → 모의매매 → 매일 자동 리포트로 검증한다
  3. 종목 선별, 브리핑, 감시, 복기는 AI 팀원 8종이 맡는다
  4. 매매일지는 구글시트로, 확인은 침대에서 Flutter 앱으로, 완료 보고는 문어에게 받는다

처음 목표는 "퇴근 후에 주식창 그만 보기"였습니다. 지금은요? 주식창 대신 대시보드를 보고 있습니다. 어... 뭔가 이상한데, 일단 훨씬 편해졌으니 성공이라고 하겠습니다. 😄

⚠️ 이 시리즈는 개인 프로젝트의 개발 기록입니다. 어떤 전략과 AI 분석도 수익을 보장하지 않으며, 투자 판단과 책임은 각자의 몫입니다.

👈 이전 글: 3편 — AI 팀원 채용기
👈 시리즈 처음부터: 1편 — 퇴근 후 주식창 그만 보고 싶어서 만들었습니다

Posted by 제이브레인
,

2편에서 전략과 백테스트를 봤습니다. 그런데 시스템을 굴리다 보니 알겠더라고요. 자동매매가 대신 못 해주는 일이 아직 잔뜩 남아 있다는 걸요.

  • 아침마다 시황 뉴스 훑어보기
  • 어떤 종목을 후보에 올릴지 고르기
  • 장 끝나고 "오늘 왜 이렇게 매매했지?" 반성하기

전부 머리 쓰는 일입니다. 그래서 AI를 팀원으로 채용했습니다. 무려 여덟 개 직무로요. 오늘은 jbrain_trader의 AI 기능 총출동 편입니다.

git url : https://github.com/jbpark/JbrainTrader

데모사이트 : https://jbraintrader-demo.pages.dev/

🔍 AI 종목 — "후보를 골라와"

AI 종목 탭에서는 AI가 종목을 선별하고, 결과를 상승 여력이 높은 순으로 정렬해 보여줍니다. 종목마다 선별 이유가 붙어 있어서 "왜 얘를 골랐는지" 따져 물을 수 있습니다.

여러 종목이 후보에 오르면 상세 비교 기능으로 나란히 놓고 비교할 수 있고, 이 비교표는 구글시트로도 업로드됩니다 (구글시트 이야기는 4편에서).

AI 종목 선별 결과 화면 (데모)


데모 사이트 캡처 · Mock 데이터


💹 AI 매매 — "그래서 얼마에 사고 얼마에 팔까"

종목을 골랐으면 다음 질문은 가격입니다. AI 매매 탭은 선별된 종목에 대해 가격대별 매매 전략을 세워줍니다.

백미는 가격대별 전략 그래프입니다. "이 가격까지 내려오면 1차 매수, 여기서 2차, 이 위로 가면 분할 매도" 같은 계획이 차트 위에 시각화됩니다. 막연히 "떨어지면 사야지"가 아니라 숫자가 박힌 계획표가 나오는 거죠.

보유 종목과도 연동됩니다. 보유종목 목록에서 종목을 고르면 그 종목의 AI 매매 전략이 바로 표시되고, 버튼 하나로 보유 종목 전체 일괄 분석도 됩니다. 프로파일(분석 스타일)을 바꿔가며 결과를 전환해 볼 수도 있습니다.

AI 매매 전략과 가격대 그래프 (데모)


데모 사이트 캡처 · Mock 데이터


🗓️ AI 캘린더 & AI Notice — "일정과 공시는 내가 챙길게"

주가는 차트 밖의 일정에도 출렁입니다. FOMC, 실적 발표, 옵션 만기일...

AI 캘린더는 날짜별 주요 일정을 달력에 정리하고, 일정 기반의 매매 타이밍 코멘트까지 달아줍니다. "이번 주 목요일 FOMC니까 수요일엔 포지션 줄이는 게 어때요" 같은 식이죠. 상승 기대 종목도 함께 표시됩니다.

AI Notice는 챙겨봐야 할 공지·이슈를 모아주는 게시판입니다. 웹과 모바일 양쪽에서 국내/해외 탭으로 나눠 볼 수 있습니다.

AI 캘린더 화면 (데모)


데모 사이트 캡처 · Mock 데이터


☀️ 운용 4인방 — 브리핑, 감시, 성적표, 복기

여기서부터가 진짜 "팀원" 느낌입니다. 하루 루틴에 맞춰 네 명이 일합니다.

AI 기능 출근 시간 하는 일
아침 브리핑 장 시작 전 시황·보유종목·오늘 일정을 아침 보고서로 정리
전략 이탈 감시 장중 상시 매매가 정해둔 전략에서 벗어나면 지적
스코어카드 수시 전략별 성적을 점수로 채점
매매일지 복기 장 마감 후 오늘 매매를 AI가 되짚으며 리뷰

개인적으로 무서운(?) 건 전략 이탈 감시입니다. "계획은 0.2% 익절이었는데 왜 더 들고 있었나요?" 같은 걸 기록으로 남기거든요. 사람 상사가 이러면 서운한데, AI가 하니까 반박을 못 하겠더라고요. 데이터가 맞으니까요.

그리고 매매일지 복기는 원래 트레이더들이 "해야 하는 걸 알지만 제일 안 하는 일" 1위 아니겠습니까. 이제 AI가 초안을 써주니 핑계가 사라졌습니다.

AI Notice — 아침 브리핑·전략 이탈·복기 알림 기록 (데모)


데모 사이트 캡처 · Mock 데이터


🧠 뒤에서 일하는 방식

이 AI 기능들은 백엔드에서 Claude를 호출해 동작합니다. 기능별로 모듈이 나뉘어 있어서(ai_picks, ai_trades, ai_calendar, ai_notices, ai_briefing, ai_review, strategy_monitor, strategy_scorecard) 하나를 고쳐도 다른 기능이 안 흔들립니다. 실행 모델은 설정으로 바꿀 수 있게 해뒀습니다 — AI 세계는 신형 모델이 자주 나오니, 팀원 교체(?)가 쉬워야 하거든요.


🔭 다음 편 예고

머리 쓰는 일은 AI에게 맡겼습니다. 마지막으로 남은 건 일상의 잡무입니다.

매매일지를 구글시트에 자동으로 올리고, 침대에 누워 Flutter 앱으로 계좌를 확인하고, 화면을 돌아다니는 문어에게 작업 완료 보고를 받는 이야기. 다음 편이 마지막입니다.

⚠️ AI의 분석과 추천은 참고 자료일 뿐, 투자 판단과 책임은 각자의 몫입니다.

👈 이전 글: 2편 — 전략을 파일로 굴린다
👉 다음 글: 4편 — 매매일지는 구글시트로, 확인은 침대에서

Posted by 제이브레인
,

1편에서 32비트의 저주를 게이트웨이/엔진 분리로 극복한 이야기를 했습니다. 이번 편은 이 시스템의 본업, 전략 실행입니다.

자동매매의 무서운 점은 이겁니다. 사람은 실수를 하루에 몇 번 하지만, 프로그램은 잘못 만들면 1초에 몇 번씩 합니다. 그래서 순서가 중요합니다.

전략 작성 → 과거 데이터로 백테스트 → 모의매매로 검증 → 그다음에야 실전

JBrainTrader는 이 단계를 전부 시스템 안에서 처리합니다.

사실 전략이 제일 중요한 것 같습니다.

뭐랄까요? 성공한 기업의 성공 노하우가 제일 중요하듯이 전략이 잘 짜서 수익을 내준다면 그 전략의 가치는 단순 text 가 아닌 금화와 같은 가치를 지니게 되는 것이니까요.

제 목표가 꾸준한 수익을 내주는 전략을 만드는 겁니다.

전략들이 특정 시장 상황에 따라 수익을 내줄때도 있고 손실이 날 때도 있습니다.

그런데 정말 꾸준한 수익을 내주는 전략은 만들기 정말 힘듭니다.

 

git url : https://github.com/jbpark/JbrainTrader
데모 사이트 : https://jbraintrader-demo.pages.dev/


📋 전략은 그냥 텍스트 파일입니다

전략은 strategy/ 폴더의 텍스트 파일로 관리됩니다. 코드를 고치는 게 아니라 파일을 갈아 끼우는 방식이죠. 지금 쌓여 있는 라인업 일부를 공개하면:

전략 파일 컨셉
GOLDEN_CROSS 국민 전략. 단기 이평선이 장기 이평선을 뚫으면 매수
MEAN_REVERSION_BB 볼린저밴드 평균회귀 — "너무 떨어졌으면 다시 올라오겠지"
VOL_BREAKOUT_PRO 변동성 돌파 — 조용하다가 움직이기 시작하면 올라탄다
TREND_FOLLOW_PRO 추세 추종 — 달리는 말에 올라타기
SCALPING_3TICK, SCALP_03/08/09 스캘핑 — 몇 틱 먹고 빠지기
SPLIT_SCALPING 분할 스캘핑 — 나눠서 사고 나눠서 판다
MARTINGALE_SCALE 마틴게일 — 물리면 더 산다 (⚠️ 백테스트 전용 관상용, 따라 하지 마세요)

전략마다 진입 조건, 목표 수익률, 손절선, 분할 비율, 하루 최대 거래 횟수, 운영 시간대까지 정의합니다. 특히 운영 시간(예: 09:20~15:20)을 두는 이유는, 장 시작 직후와 마감 직전의 광기를 피하기 위해서입니다.

위 전략이 수익을 내준다는 말은 아닙니다.

다음 전략들은 아~~ 이런 전략도 있구나! 

하는 참고용입니다.

전략 관리 화면 (데모)


데모 사이트 캡처 · Mock 데이터

참고로 특정 종목은 "전략 없음(No Strategy)" 으로 등록할 수도 있습니다. 자동매매는 안 하고 시세만 지켜보는 모드인데, "얘는 아직 못 믿겠어" 하는 종목을 관찰 명단에 올려두는 용도입니다.


📊 데이터가 있어야 백테스트를 하죠

백테스트의 연료는 과거 데이터입니다. jbrain_trader에는 데이터 수집기(Collector) 가 있어서 틱 데이터를 차곡차곡 DB에 쌓습니다.

  • 수집 현황은 달력 형태로 보여줍니다 — 어느 날짜 데이터가 비었는지 한눈에 보입니다
  • 빠진 데이터를 찾아내는 점검 스크립트도 여럿 있습니다 (check_missing_data, diagnose_tick_chart...) — 데이터에 구멍이 나면 백테스트가 거짓말을 하니까요
  • 수집한 데이터는 캔들 차트/틱 차트로 바로 확인할 수 있습니다

시세 수집기 화면 (데모)


데모 사이트 캡처 · Mock 데이터


🧪 백테스트 — 과거로 떠나는 모의고사

전략과 데이터가 준비되면 백테스트를 돌립니다. 종목, 기간, 전략을 고르면 과거 데이터 위에서 전략이 실제로 어떻게 사고팔았을지 재연해줍니다.

재밌는 기능은 듀얼 백테스트입니다. 두 개의 설정을 나란히 돌려서 비교하는 건데요, "목표 수익 0.2%와 0.3% 중 뭐가 나았을까?" 같은 궁금증을 데이터로 끝장내는 도구입니다. 감으로 싸우지 말고 숫자로 싸웁시다.

백테스트 실행 결과 화면 (데모)


데모 사이트 캡처 · Mock 데이터


📝 모의매매 — 그리고 매일 아침의 성적표

백테스트를 통과한 전략은 모의매매(가상 시뮬레이션) 로 넘어갑니다. 실시간 시세를 받되 진짜 주문은 내지 않는, 이른바 페이퍼 트레이딩입니다.

그리고 이 시스템에서 제가 제일 좋아하는 기능: 모의매매 리포트가 매일 자동으로 생성됩니다. 실제 리포트 형식을 잠깐 보여드리면:

# 모의매매 리포트: DUAL_200_1X_INVERSE

[09:40:04] 신규 진입 (ENTRY)
- 종목: KODEX 200 / 9주 @ 83,930원
- Z-Score: -1.13

[09:43:04] 회귀 청산 (MEAN_REVERSION)
- 손익: -839원 (-0.11%)

| 완료 거래 | 1회 |
| 누적 손익 | -839원 |

네, 보시다시피 손실도 가감 없이 기록됩니다. -839원. 시스템은 정직합니다. 이 리포트가 매일 쌓이면 전략의 실제 체질이 드러납니다. 백테스트에서 화려했던 전략이 모의매매에서 비실대는 경우, 생각보다 많거든요.

이런 리포트가 벌써 수십 장 쌓여 있습니다. 전략 입장에서는 매일 성적표 받는 학원에 다니는 셈이죠.

📄 실제 리포트 예시: example_20260430_mo_DUAL_200_1X_INVERSE_report.md (모의매매 · 하루 16건 이벤트)


🔭 다음 편 예고

전략도 있고 백테스트도 있습니다. 그런데 여전히 남는 질문이 있죠.

"그래서... 어떤 종목을 사야 하는데?"

종목 고르기, 아침 시황 정리, 매매 복기 — 이 귀찮고 어려운 일들을 AI 팀원에게 맡겼습니다. 다음 편은 jbrain_trader의 AI 운용 기능 총출동 편입니다.

⚠️ 이 시리즈는 개인 프로젝트의 개발 기록이며, 투자 판단과 책임은 각자의 몫입니다.

👈 이전 글: 1편 — 퇴근 후 주식창 그만 보고 싶어서 만들었습니다
👉 다음 글: 3편 — AI 팀원 채용기

Posted by 제이브레인
,