시세 수집
종목을 입력하고 누르면 야후에서 일봉을 받아 구글 드라이브
01_시세원본/<종목>/daily.csv에 저장합니다. 실제 처리는
GitHub Actions에서 진행되며 몇 분 걸릴 수 있습니다. 완료되면 이 화면이
자동으로 확인해서 알려주고, 아래 수집 결과 조회 표도 자동으로
새로고침합니다.
수집 결과 조회
종목별로 구글 드라이브에 시세가 실제로 저장됐는지, 언제 마지막으로 저장됐는지 확인합니다. 이 화면을 열면 자동으로 목록을 불러옵니다. 시세 수집 요청 직후에는 아직 진행 중일 수 있으니 잠시 뒤 새로고침하세요. '내용 보기'를 누르면 값 움직임 그래프와, 최근 2주·한 달·두 달과 가장 비슷했던 과거 구간, 그 구간이 끝난 뒤 같은 길이만큼 실제로 어떻게 됐는지까지 같이 보여줍니다.
| 종목 | 상태 | 마지막 저장(KST) |
|---|
시장 지표
미국채 3·5·10년물 금리, 미국 기준금리, 미국 M2 통화량, S&P500, 나스닥종합 지수를 월별로(최근 10년) 받아 한 그래프에 겹쳐 봅니다. 국채 금리·기준금리·M2 통화량은 FRED에서, 지수 둘은 야후에서 받으며 실제 처리는 GitHub Actions에서 진행됩니다. 아래 목록에서 체크한 항목만 그래프에 그리고, 체크를 지우면 그 선이 사라집니다. 왼쪽 축은 지수(S&P500·나스닥종합)와 M2 통화량(10억 달러)이 단위가 다른 채로 같이 표시됩니다. 숫자 크기가 비슷해 겹쳐 보일 뿐 같은 값이 아닙니다.
전략 비교
아래 값을 전부 직접 입력해야 계산됩니다. 미리 채워 둔 숫자는
시작값일 뿐이고, 바꾸지 않으면 그 값 그대로 씁니다. 계산이 끝나면 화면에
뜨는 것과 별개로, 종목·전략 조합마다 서식 있는 엑셀 파일을 구글 드라이브
02_백테스트결과/<종목>/에, 이번 비교 전체를 담은 엑셀을
02_백테스트결과/종목비교결과/에 올립니다. 계산이 끝나면
이 화면이 자동으로 확인해서 알려주고, 비교 결과 탭도 자동으로
새로고침합니다. '유사 과거 불러오기'를 누르면 이미 수집해 둔
종목의 유사 구간을 찾아 조회기간을 바로 채웁니다.
비교 결과
계산이 끝나면 여기서 불러올 수 있습니다. 요청 직후에는 아직 없을 수 있으니 잠시 뒤 새로고침하세요. 표의 '일별 거래현황표 받기'는 구글 드라이브에 저장된 서식 있는 엑셀을 그대로 내려받습니다(종목·전략 조합별 일별 매매 기록 포함. 최적 조건 찾기 결과는 조합이 많아 이 파일이 없고, 요약을 담은 전체 비교 엑셀만 있습니다). 그래프의 빨간 점은 매수, 파란 점은 매도 시점입니다(마우스를 올리면 날짜와 금액이 뜹니다). '지우기'는 지금 보고 있는 결과와 그 원본 엑셀 파일까지 구글 드라이브에서 함께 지웁니다. 되돌릴 수 없습니다. '현금부족일수'는 그날 설정한 매수금액만큼 사려고 했지만 남은 현금이 모자라서 그보다 적게(또는 전혀) 못 산 날의 수입니다. 0이면 기간 내내 설정값 그대로 샀다는 뜻이고, 숫자가 크면 총투자금이 커 보여도 실제로는 현금이 자주 바닥났던 전략입니다.
최적 조건 찾기
종목 하나와 총자본, 조회기간만 정하면 아래 네 가지 매수 방식의 여러 변수 조합을 한꺼번에 계산해서 수익률 순으로 보여줍니다. 후보값은 쉼표로 구분해서 넣고, 여기도 미리 채운 숫자는 시작값일 뿐이니 바꿔도 됩니다. 1등만 골라내지 않고 계산한 조합 전부를 순위대로 남깁니다. 등락률 기준 비중 조절 매수는 구간을 하나로 단순화해서 찾습니다(구간을 여러 개 두는 것은 전략 비교에서 직접 설정하세요). 매수 방식마다 익절선·손절선 후보도 따로 넣을 수 있습니다(방식마다 끝에 있는 칸입니다). 비워 두면 그 조건 없이 계산합니다. 조합이 200개를 넘으면 계산을 거부합니다. 계산이 끝나면 결과는 비교 결과 탭에서 그대로 조회됩니다. '유사 과거 불러오기'를 누르면 이미 수집해 둔 종목의 유사 구간을 찾아 조회기간을 바로 채웁니다.
Walk-forward 검증
전체 기간에서 수익률이 가장 높았던 조건 하나를 찾는 것이 아니라, 시세를 학습기간(In-Sample)과 검증기간(Out-of-Sample)으로 나눠 반복 검증합니다. 학습기간에서 찾은 조건을 검증기간의 데이터는 전혀 보지 않은 채로 그대로 적용해서, 학습기간에만 맞았던 조건(과최적화)을 걸러내려는 것입니다. 학습·검증 기간 길이와 이동 간격은 전부 아래에서 직접 정합니다(3년·1년·1년은 시작값일 뿐입니다). 조회기간을 비워 두면 이미 받아 둔 시세 전체를 씁니다. 같은 조건으로 기존 방식(전체 기간 최적화)도 같이 계산해서 결과에 나란히 남기므로, 비교 결과 탭에서 두 결과를 견줄 수 있습니다.
포트폴리오 백테스트
전략 비교·Walk-forward는 종목마다 총자본을 전부 가진 것처럼 따로 계산합니다. 이 탭은 그 대신 총자본 하나를 아래 종목들이 같이 나눠 씁니다. 한 종목이 현금을 많이 쓰면 같은 날 다른 종목은 그만큼 못 삽니다. 아래 목록에 적은 순서대로 같은 날 현금을 먼저 씁니다(뒤에 있을수록 현금이 부족해서 설정값대로 못 살 가능성이 큽니다). 종목마다 매수 방식·익절선·손절선을 다르게 줄 수 있습니다.