OptiNod 아카데미
강건성 세 가지 — 같은 수익률 두 설정 중 어느 쪽을 믿을지 판가름하는 기준
수익률이 같은 두 설정 중 무엇을 믿을지 정할 때 쓰는 세 가지 강건성 점수(이웃 안정성, Edge Consistency, 상위 N 일관성)의 계산 방식과 종합 점수·파라미터 민감도를 읽는 법을 OptiNod 실제 구현 기준으로 설명합니다.
1위의 수익률을 믿을 수 있는지는 1위 주변 설정의 결과와 전체 조합의 분포를 보고 정합니다.
강건성(robustness)은 본래 통계학에서 가정이 조금 맞지 않아도 추정값이 크게 흔들리지 않는 성질을 가리키는 말입니다. 트레이딩에서는 파라미터를 한 단계 옮기거나 데이터 구간을 조금 바꿔도 성과가 비슷하게 유지되는지를 뜻합니다. OptiNod의 강건성 분석은 최적화 결과 전체를 세 가지 방법으로 점수화하고, 이를 0~100점의 종합 점수 하나로 묶습니다.
많은 사람이 이 점수를 백테스트가 끝난 뒤 형식적으로 확인하는 항목으로 여깁니다. 수익률 순으로 정렬한 결과표에서 1위를 고르고, 강건성 점수에 경고만 없으면 그대로 씁니다. 그러나 강건성 점수는 1위 한 줄을 평가하는 숫자가 아닙니다. 이번 최적화 결과 안에 믿을 만한 설정 구간이 있는지를 평가합니다. 점수가 낮으면 1위의 수익률이 아무리 높아도 이 결과에서는 고를 설정이 없다는 뜻입니다. 1위만 좋고 주변이 나쁜 결과가 왜 생기는지는 과최적화 글에서 설명합니다.
이 글은 세 점수가 각각 무엇을 계산하는지, 종합 점수와 파라미터 민감도를 어떻게 읽는지, 그리고 수익률이 같은 두 설정 중 하나를 고를 때 같은 원리를 어떻게 적용하는지 설명합니다. 이 글을 읽고 나면 결과표의 수익률 열을 보기 전에 강건성 점수와 세 세부 점수를 먼저 확인하게 됩니다.

1위 주변 설정의 성과가 고르면 이웃 안정성 점수가 높습니다
첫 번째 점수인 이웃 안정성(Neighborhood Stability)은 성과 상위 10개 결과 각각의 주변 결과가 얼마나 비슷한 성과를 냈는지 봅니다. 주변 결과는 모든 숫자 파라미터에서 가까운 결과입니다. 기준 거리는 파라미터 간격과 테스트한 범위의 10% 중 큰 값이며, 선택형·체크박스 파라미터는 값이 같아야 합니다. 주변 결과가 자신을 포함해 3개 이상일 때만 계산하고, 주변 성과의 표준편차를 전체 결과의 성과 폭과 비교해 흔들림이 작을수록 높은 점수를 줍니다. 전체 성과 폭은 사분위 범위로 계산해 극단적인 결과 몇 개에 크게 좌우되지 않습니다. 사용자가 실제로 적용하는 1위 결과가 점수의 절반을 차지하고, 나머지 상위 결과의 평균이 나머지 절반입니다. 이 점수는 종합 점수의 35%입니다.
이 점수가 중요한 이유는 시장에서 반복되는 움직임을 반영한 성과라면 파라미터가 한 단계 달라져도 비슷하게 유지되기 때문입니다. EMA 기간을 20에서 21로 바꿨다고 추세가 사라지지는 않습니다. 옆 설정의 성과가 급하게 떨어진다면 그 1위는 특정 캔들 몇 개에 우연히 맞은 결과일 가능성이 큽니다. 실전에서 그 캔들은 다시 오지 않으므로 이런 설정의 성과는 곧 사라집니다.
2021년 5월 19일 BTC는 시가 42,850달러에서 장중 30,000달러까지 하락한 뒤 36,690달러로 마감했습니다. 이런 급락 캔들 하나에 손절 폭을 틱 단위까지 맞춘 설정은 백테스트 수익률 1위가 되기 쉽습니다. 하지만 손절 폭을 한 단계만 넓혀도 성과가 크게 떨어지고, 이웃 안정성 점수가 이 차이를 잡아냅니다. 손절선 하나의 성과만 보지 말고, 그 손절선을 양옆으로 한 단계씩 옮겼을 때의 성과 폭을 함께 보십시오.
전체 조합의 대부분이 손실이면 Edge Consistency 점수가 낮습니다
두 번째 점수인 Edge Consistency는 테스트한 조합 전체가 손익분기점을 얼마나 넘었는지 봅니다. 손익분기점은 지표마다 정해져 있습니다. 순이익과 샤프 지수는 0, PF는 1입니다. 점수의 60%는 기준을 넘은 조합의 비율로 정합니다. 비율이 30% 이하이면 0점, 90% 이상이면 만점입니다. 나머지 40%는 전체 조합 성과의 중앙값이 손익분기점보다 얼마나 높은지로 정합니다. 이 점수도 종합 점수의 35%입니다. MDD나 승률처럼 손익분기점이 없는 지표로 분석하면 이 점수는 계산하지 않고, 그 비중을 나머지 두 점수에 나눠 줍니다.
이 검사가 답하는 질문은 단순합니다. 좋은 성과가 파라미터 공간 전체에 퍼져 있는지, 아니면 골라낸 몇 개 조합에만 있는지입니다. 예를 들어 순이익 기준으로 수익을 낸 조합이 35%뿐이고 중앙값이 손실이라면, 1위의 수익은 대부분 손실인 조합들 사이에서 골라낸 결과입니다. 이전 버전의 OptiNod는 이 자리에서 몬테카를로 검정을 썼습니다. 상위 결과를 같은 결과값에서 무작위로 뽑은 묶음과 비교하는 방식이었는데, 이 방식은 모든 조합이 손실인 결과에서도 p값이 거의 0으로 나와 판단 근거가 되지 못했습니다. 그래서 전체 조합이 기준을 넘는지를 직접 세는 방식으로 바꿨습니다.
전략 자체가 그 구간에서 수익을 내지 못하는 경우가 여기서 확인됩니다. 2022년 11월 FTX 붕괴 때 BTC는 11월 9일 18,545달러에서 장중 15,588달러까지 하락했습니다. 이런 급락 구간이 포함된 하락장 데이터로 롱 전략을 최적화하면 대부분의 파라미터가 손실이고, Edge Consistency 점수가 낮게 나옵니다. 이것은 파라미터를 잘못 고른 문제로 보기 어렵습니다. 이 구간에 이 전략을 적용한 것 자체가 맞지 않는다는 신호입니다. 백테스트와 실거래의 차이를 줄이려면 이 비율을 먼저 확인해야 합니다.

상위 결과가 한곳에 모이면 상위 N 일관성 점수가 높습니다
세 번째 점수인 상위 N 일관성(Top-N Consistency)은 성과 상위 20%(결과가 적으면 최소 3개)의 파라미터가 좁은 범위에 모여 있는지 봅니다. 점수의 60%는 집중도입니다. 파라미터마다 상위 결과가 차지하는 범위를 테스트한 전체 범위와 비교하고, 상위 결과가 좁게 모일수록 높은 점수를 줍니다. 이때 성과에 영향이 큰 파라미터에 더 큰 비중을 둡니다. 성과를 거의 바꾸지 않는 파라미터는 상위 결과에서 넓게 퍼져 있어도 과최적화의 근거가 되지 않기 때문입니다. 나머지 40%는 상위 결과 중 서로 이어진 가장 큰 무리가 차지하는 비율입니다. 이어졌는지는 이웃 안정성과 같은 거리 기준으로 판단합니다. 이 점수는 종합 점수의 30%입니다.
상위 결과가 한 구역에 모인다는 것은 시장에서 실제로 성과가 나는 설정 구간이 있다는 뜻입니다. EMA 기간의 상위 결과가 18~24에 모여 있다면 그 부근이 실제로 성과가 좋은 구간입니다. 반대로 상위 결과가 기간 10에도, 50에도, 90에도 흩어져 있다면 각 성과는 서로 다른 우연의 결과일 가능성이 크고, 그중 무엇을 골라도 다음 구간에서 같은 성과가 나온다는 보장이 없습니다.
2024년 3월 14일 BTC가 73,777달러로 사상 최고가를 기록한 뒤 같은 날 68,555달러까지 5,000달러 넘게 움직인 구간을 예로 들 수 있습니다. 이런 구간에서는 큰 캔들 한두 개를 우연히 잘 잡은 설정들이 흩어진 채로 상위권에 오릅니다. 가장 큰 무리의 비율이 낮다면 상위 결과가 하나의 구간으로 모이지 못하고 여러 우연이 섞였다는 뜻입니다. 워크포워드 분석으로 구간을 나눠 보면 이렇게 흩어진 상위 결과의 위치가 구간마다 다른 곳으로 바뀌는 것을 확인할 수 있습니다.
종합 점수는 결과 전체를 평가하고, 파라미터 민감도는 파라미터별로 평가합니다
세 점수는 35%·35%·30%의 비중으로 합쳐져 종합 점수가 됩니다. 중복을 뺀 결과가 5개 미만이거나 모든 결과의 파라미터 값이 같으면 점수를 계산하지 않습니다. 표본이 부족한 상태에서 안정성을 따지는 것 자체가 또 다른 과최적화가 되기 때문입니다. 종합 점수에 따라 표시되는 안내는 다음과 같습니다.
| 종합 점수 | 안내 |
|---|---|
| 80점 이상 | 결과가 강건합니다. 과적합 위험이 낮습니다. |
| 60~79점 | 보통 수준으로 강건합니다. 포워드 테스트로 확인하기를 권합니다. |
| 40~59점 | 과적합 징후가 일부 보입니다. 주의해서 진행하십시오. |
| 40점 미만 | 과적합되었을 수 있습니다. 파라미터를 줄이거나 포워드 테스트를 강하게 권합니다. |
파라미터 민감도 표는 파라미터마다 따로 점수를 매깁니다. 그 파라미터가 성과를 크게 움직이고 상위 결과에서도 값이 넓게 퍼져 있을수록 점수가 낮아집니다. 60점 미만은 "보통 민감", 40점 미만은 "매우 민감"으로 표시되며, 매우 민감한 파라미터는 범위를 넓혀 다시 테스트하거나 값을 고정하라는 안내가 붙습니다.
수익률이 같은 두 설정 중 하나를 고르는 순서
강건성 점수는 결과 전체에 대한 점수이므로, 두 후보를 비교할 때는 같은 원리를 후보마다 직접 적용합니다. 아래 기준은 권장값이며 제품이 강제하는 값은 아닙니다. 전략 성격에 맞게 조정하십시오.
- 종합 점수 확인: 종합 점수가 40점 미만이면 두 후보 모두 고르지 않습니다. 이 결과에는 믿을 만한 구간이 없으므로 전략이나 테스트 기간을 먼저 바꿉니다.
- Edge Consistency 확인: 기준을 넘은 조합이 절반에 못 미치면 파라미터 선택으로 해결할 문제가 아닙니다. 전략의 매매 규칙을 먼저 점검합니다.
- 후보별 이웃 확인: 히트맵이나 결과표에서 각 후보의 입력값을 한 단계씩 옮긴 결과를 봅니다. 이웃 결과의 평균이 높고 차이가 작은 후보를 남깁니다.
- 민감한 파라미터 정리: 파라미터 민감도 표에서 "매우 민감"으로 나온 파라미터는 값을 고정하거나 범위를 넓혀 다시 실행합니다.
- 최종 비교: 남은 후보 중 프로핏 팩터가 더 높고 최대 낙폭이 더 낮은 쪽을 고르고, 최적화에 쓰지 않은 기간에서 한 번 더 실행합니다.
점수를 잘못 읽는 두 가지 경우
종합 점수만 보고 세부 점수를 확인하지 않는 경우. 종합 점수 60점은 세 점수가 모두 60점대일 때도 나오고, 한 점수가 90점이고 나머지가 40점대일 때도 나옵니다. 후자는 한 가지 검사만 통과한 설정입니다. 종합 점수는 출발점으로 쓰고, 세 세부 점수를 펼쳐 어느 검사가 약한지 확인하는 단계를 건너뛰면 안 됩니다.
결과가 적은데 점수만 보고 판단하는 경우. 점수는 결과가 5개만 있어도 계산되지만, 결과가 적으면 이웃이 3개 이상 모이지 않아 이웃 안정성을 계산할 수 있는 상위 결과가 줄어듭니다. 이때는 점수가 높게 나와도 판단 근거가 약합니다. 점수를 믿으려면 먼저 충분한 조합을 실행해 결과를 30개 이상으로 늘리십시오.
세 점수가 모두 높을 때만 결과를 믿으십시오
강건성 점수는 미래 수익을 약속하지 않습니다. 백테스트 구간 안에서 좋은 성과가 넓은 구간에 걸쳐 나타났는지, 우연히 맞은 몇 개 조합에서만 나타났는지를 가려내는 도구입니다. 그래서 마지막 확인은 세 점수가 함께 높은지입니다. 아래 기준도 권장값입니다.
- 종합 점수가 60점 이상인가
- 이웃 안정성·Edge Consistency·상위 N 일관성 중 40점 미만인 점수가 없는가
- Edge Consistency에서 기준을 넘은 조합이 절반 이상인가
- 파라미터 민감도 표에 "매우 민감"한 파라미터가 없는가
- 결과가 30개 이상이라 점수를 믿을 만한가
세 점수가 모두 높은 결과는 데이터 구간이 바뀌어도 비슷한 성과를 유지할 가능성이 높습니다. 2024년 8월 5일 엔 캐리 트레이드 청산으로 BTC가 58,161달러에서 49,000달러까지 하락한 것 같은 충격 캔들 하나에 맞춰진 설정과는 구별됩니다. 수익률이 같은 두 설정 중 무엇을 믿을지는 이 세 점수와 각 후보의 이웃 결과를 함께 보고 정합니다.