1편에서 32비트의 저주를 게이트웨이/엔진 분리로 극복한 이야기를 했습니다. 이번 편은 이 시스템의 본업, 전략 실행입니다.
자동매매의 무서운 점은 이겁니다. 사람은 실수를 하루에 몇 번 하지만, 프로그램은 잘못 만들면 1초에 몇 번씩 합니다. 그래서 순서가 중요합니다.
전략 작성 → 과거 데이터로 백테스트 → 모의매매로 검증 → 그다음에야 실전
JBrainTrader는 이 단계를 전부 시스템 안에서 처리합니다.
사실 전략이 제일 중요한 것 같습니다.
뭐랄까요? 성공한 기업의 성공 노하우가 제일 중요하듯이 전략이 잘 짜서 수익을 내준다면 그 전략의 가치는 단순 text 가 아닌 금화와 같은 가치를 지니게 되는 것이니까요.
제 목표가 꾸준한 수익을 내주는 전략을 만드는 겁니다.
전략들이 특정 시장 상황에 따라 수익을 내줄때도 있고 손실이 날 때도 있습니다.
그런데 정말 꾸준한 수익을 내주는 전략은 만들기 정말 힘듭니다.

📋 전략은 그냥 텍스트 파일입니다
전략은 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 팀원 채용기
'시스템 트레이딩 > JbrainTrader' 카테고리의 다른 글
| AI 자동 + 반자동 시스템 트레이딩 — JBrainTrader 이야기 (0) | 2026.09.06 |
|---|















