라벨이 워크포워드인 게시물 표시

투자 자동화를 넘어 시스템 트레이딩으로 — 규칙, 데이터, 백테스트, 사이징, 워크포워드

이미지
자동화가 단순히 매수·매도만을 자동으로 실행하는 것이라면, 시스템 트레이딩은 그보다 한층 더 구조적인 접근입니다. 이 글에서는 규칙, 데이터, 검증, 계산 방식까지 명확한 기준을 갖춘 ‘시스템’의 틀을 설명합니다. 시스템 트레이딩이란? 시스템 트레이딩은 일정한 규칙과 조건에 따라 의사결정을 자동으로 수행 하는 거래 전략입니다. 단순한 알림 수준을 넘어서, 진입 → 청산 → 중단 → 복귀 의 흐름을 하나의 논리로 구성합니다. 진입 : 예) RSI 30 이하 & 이동평균 상향 돌파 시 매수 청산 : 예) +2R 익절 또는 -1.5R 손절 중단 : 누적 손실 -3R 초과 시 신규 거래 중지 복귀 : 10일 수익률 회복 시 거래 재개 데이터: 전략의 토대 시스템 전략은 데이터의 품질과 범위 에 따라 성능이 결정됩니다. 주요 검토 항목은 다음과 같습니다. 정제 데이터 : 스플릿, 배당, 거래정지 반영 편향 제거 : 생존자 편향 제거, 거래가능 종목만 추출 지연 고려 : 가격/지표 신호 후 1~2틱 지연 적용 시장 캘린더 : 휴장일·데이터 결측일 제거 백테스트: 과거에서 검증 전략이 실행되기 전, 반드시 백테스트로 과거 성능 을 검증해야 합니다. 수익률만큼 중요한 것은 변동성과 손실 입니다. 성과 지표 : CAGR, MDD, Sharpe, 승률, 평균 손익비 비용 반영 : 수수료·슬리피지 포함 검증구간 : 훈련 2년(IS) / 테스트 1년(OS) / 워크포워드 2년(WF) 워크포워드 테스트 는 전략이 실제로 지속 가능할지를 확인하는 핵심 과정입니다. 사이징: 리스크의 핵심 포지션 크기는 수익률보다 리스크 제어 를 위해 존재합니다. 대표 방식은 아래와 같습니다. 1R 기준 : 계좌 가치의 0.5~1% 손실이 1R Kelly Formula : 기대수익률...

백테스트로 수익률과 리스크 확인하는 법 — 데이터 구간·비용·워크포워드까지

이미지
첫 백테스트에서 저는 승률 62%, 연 28% 수익률을 만들었습니다.  입꼬리가 슬쩍 올라갔죠. 하지만 실거래 한 달, 결과는 딴판이었습니다. 그때 깨달았습니다. 문제는 전략이 아니라 검증 방식 이었다는 것을요. 그 뒤로 저는 ‘멋진 곡선’이 아니라 의사결정에 도움 되는 숫자 만 남기는 백테스트로 바꿨습니다. 오늘 그 방법을 공유합니다. 백테스트의 목표와 흔한 오해 목표 : (1) 전략의 기대값 이 플러스인지, (2) MDD 가 감내 범위 안인지, (3) 실행 가능한 리듬 (거래 빈도·회전율)인지 확인. 오해 1 — 승률 집착: 승률이 낮아도 손익비가 높으면 기대값이 좋을 수 있습니다. 오해 2 — 파라미터 놀이: 수십 번의 튜닝은 과최적화로 곧장 연결됩니다. 오해 3 — 비용 무시: 수수료·슬리피지·체결 제약을 빼면 ‘그림의 떡’입니다. 데이터 구간 설계 — In/Out 분리와 캘린더 좋은 백테스트는 구간 설계 가 절반입니다. 저는 아래 순서를 고정합니다. In-Sample 로 전략을 설계(예: 2016–2021). Out-of-Sample 로 성능을 확인(예: 2022–2023). 워크포워드 : 2년 학습 → 1년 테스트를 롤링 으로 반복(여러 구간에서 일관성 확인). 캘린더·정합성 체크 휴장·조기폐장·서머타임 반영(거래 캘린더 테이블 고정). 상장폐지/분할/배당 조정가격(Adjusted) 사용. 생존편향 제거(퇴출 종목 포함 데이터셋). 지표는 모두 과거 시점 으로 계산(미래 정보 누출 금지). 비용·체결 제약을 현실적으로 반영 수수료 : 매수·매도 각각 bps로 반영(시장·브로커 요율 기준). ...