[{"data":1,"prerenderedAt":52},["ShallowReactive",2],{"feed-article-prerender-1792710674448880336-guide-backtesting":3},{"payload":4},{"article":5,"related":21},{"id":6,"categoryId":7,"category":8,"slug":11,"title":12,"summary":13,"thumbnailUrl":14,"thumbnailAlt":12,"contentMarkdown":15,"authorName":16,"publishedMicrotime":17,"updateMicrotime":18,"viewCount":19,"readingMinutes":20},"1792710674448880336","1785195491108929859",{"id":7,"slug":9,"name":10},"markets","시장 읽기","guide-backtesting","백테스팅","과거 데이터를 활용해 매매 전략을 시험하는 백테스팅의 절차와 한계를 살펴봅니다.","https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792710674448880336\u002F1792711377534705-6125b832.png","![백테스팅 대표 이미지](https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792710674448880336\u002F1792711377534705-6125b832.png)\n\n### 백테스팅이란?\n\n백테스팅은 새로운 시장이나 전략에 입문했을 때 수익을 낼 수 있는지 없는지를 미리 시험해 볼 수 있는 좋은 수단입니다. 전략을 미리 시험해 봄으로써 자가평가를 진행할 수 있고 실제 트레이딩을 하기 전에 전략을 수정할 수도 있습니다.\n\n백테스팅의 장점은 실제 자금을 잃지 않고 시험할 수 있다는 것입니다. 시뮬레이션 환경에서 소프트웨어를 이용하여 전략에 대한 최적화를 진행할 수 있고 몇 번을 시도해도 손해를 볼 수 없기 때문에 새로운 시장이나 전략에 최대한 신중하게 접근할 수 있습니다. 백테스팅 결과가 좋은 경우, 트레이더는 실제 환경에 해당 전략을 적용해보고 전략에 대한 지속적인 평가를 진행하면서 전략을 최적화 할 수 있습니다.\n\n백테스팅의 주요 목적은 특정 전략의 위험과 잠재적인 수익성을 분석하는 것이며 잠재적 수익을 극대화하기 위해 통계적 피드백을 기반으로 전략을 최적화하고 개선할 수 있습니다. 잘 수행된 백테스트는 해당 전략이 실제 트레이딩 환경에서 구현될 때 전략의 유효성을 검토하는 데 도움이 될 수 있습니다.\n\n백테스팅은 특정 전략의 유효성과 지나친 리스크를 미리 보여주는 역할을 하기도 합니다. 백테스팅을 실행해보고 수정을 해도 결과가 좋지 않거나 결과가 너무 안 좋은 경우는 해당 전략을 폐기하고 새로운 전략을 찾아보는 것도 좋은 방법입니다.\n\n백테스팅에도 약점이 있는데 시장 상황이 달라지는 것은 어쩔 수 없다는 점입니다. 테스트가 진행된 상황과 실제로 전략을 적용한 시장 상황이 다른 경우 전략의 성과는 전혀 다를 수 있습니다. 그러므로 백테스팅을 할 때 시장 상황을 잘 파악하는 것도 중요합니다.\n\n### 백테스팅의 진행 방법\n\n백테스팅은 전략이 과거의 상황에 효과가 있다면 현재의 상황에도 효과가 있을 수 있다는 것을 가정합니다. 즉, 현재의 상황에 맞지 않는 데이터를 사용하면 백테스팅은 유의미한 결과를 내지 않을 수 있습니다. 그렇기 때문에 백테스팅을 할 때는 현재와 가장 비슷한 과거의 시장 환경을 반영하는 것이 중요합니다. 하지만, 디지털 자산 시장은 비교적 신생 시장이고 지속적으로 변화하기 때문에 현재와 비슷한 과거의 시장 환경을 반영한 데이터를 찾는 것은 쉽지 않을 수도 있습니다.\n\n백테스팅 전략을 결정하기 전에는 찾고자하는 목표를 설정하는 것이 가장 중요합니다. 실행 가능한 전략의 기준, 전략이 실패하는 기준을 정하고 분석을 진행한다면 결과를 정확하고 편견없이 받아들이는 것이 가능합니다.\n\n백테스팅은 비싼 소프트웨어를 이용하여 진행할 수도 있지만, 트레이딩뷰에서 전략을 생성하고 시뮬레이션을 진행한다면 비용없이 백테스팅을 진행하는 것이 가능합니다. 트레이딩뷰에는 이용자들이 게시한 다양한 전략들이 이미 존재하므로 테스팅해보시는 것도 추천드립니다. 물론 소프트웨어를 사용하지 않고 과거 차트를 기반으로 본인의 전략을 적용해보고 성과를 분석하는 것도 가능한 방법입니다.\n\n### 백테스팅 예시\n\n간단한 전략을 백테스팅 하겠습니다.\n\n예시 전략은 다음과 같습니다.\n\n  • 차트는 4시간봉 BTCUSDT 차트를 이용한다.\n\n  • RSI가 50에 도달했을 때 종가에서 매수를 한다.\n\n  • RSI가 70에 도달했을 때 종가에서 매도를 한다.\n\n![BTC\u002FUSDT 4시간봉 차트](https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792710674448880336\u002F1792711445316622-48a376c3.png)\n\n2021년 2월 7일 21시를 시작으로 해당 전략을 적용했을 때 총 3번의 매수와 3번의 매도가 발생했습니다.\n\n첫 번째 신호: 2월 7일 21시 \u002F 37,911.74 USDT에 매수\n\n두 번째 신호: 2월 8일 21시 \u002F 43,783 USDT에 매도\n\n세 번째 신호: 2월 15일 9시 \u002F 47,096 USDT에 매수\n\n네 번째 신호: 2월 18일 1시 \u002F 52,139 USDT에 매도\n\n다섯 번째 신호: 2월 22일 17시 \u002F 53,344 USDT에 매수\n\n여섯 번째 신호: 3월 9일 9시 \u002F 53,796 USDT에 매도\n\n백테스팅 결과 해당 전략은 모든 매수\u002F매도에서 수익이 발생할 수 있었습니다. 하지만, 해당 전략의 문제점은 분명 있습니다. RSI가 70을 돌파하고 매도를 한 뒤 무포지션인 상태에서 RSI가 50 이상의 지점에서 다시 반등을 하면서 크게 상승을 할 수 있는 구간을 놓칠 수 있다는 점입니다. 또한, 다섯 번째 신호에서처럼 급락을 하면서 RSI가 50을 하방 돌파한 뒤 다시 RSI가 70을 도달할 때까지 꽤 오랜 시간이 걸린 것을 확인하실 수 있습니다. 즉, 해당 전략은 상승장에서는 안정적인 수익을 낼 수 있지만 큰 수익을 내기는 어렵고 하락장에서는 자금이 오랜 기간 동안 묶여있거나 손해를 볼 수 있는 전략입니다. 해당 전략의 문제점을 수정하기 위해서는 어떤 것들이 필요할까요?\n\n한 달이라는 짧은 기간 동안 각 거래에서 15%, 10.7%, 0.8%의 수익이 나온 예시지만, 이는 강한 상승장이었기에 가능하기도 했습니다. 또한, 굉장히 짧은 기간을 예시로 들었기 때문에 장기적으로는 정확하지 않을 수 있습니다. 그러므로 해당 전략은 수정을 한 뒤 상승장에서만 사용을 하거나 하락장에서는 다른 전략을 수립해야 합니다. 백테스팅 후에는 전략을 수정하여 다양한 시나리오로 시뮬레이션을 한 뒤 가장 적합한 전략을 수립할 수 있습니다. 예를 들자면 RSI가 70일 때 대신 75에 매도를 한다거나 RSI 50에 매수하는 대신 RSI 55를 상향 돌파하면 매수를 하는 식으로 전략을 수정하면 더 좋은 수익률을 낼 수도 있습니다.\n\n### 백테스팅 후 모의 트레이딩\n\n앞의 예시에서 간단한 예시 전략을 통해 백테스팅의 시행에 대해 알아보았습니다. 그렇지만 백테스팅은 과거의 시황에 해당 전략을 적용한 것이기 때문에 현재의 시황에도 적용이 될 수 있는 지 확인하는 과정이 필요한데 이는 모의 트레이딩을 통해 확인을 할 수 있습니다. 모의 트레이딩이란 가상의 자금으로 실제 시장과 같은 환경에서 트레이딩을 해보는 것입니다. 트레이딩을 처음 접하는 분들은 기능을 익히기 위해 모의 트레이딩으로 먼저 경험을 해보시는 것을 권장드립니다.\n\n모의 트레이딩을 하면서 전략을 시뮬레이션해보고 수정하여 전략을 최적화할 수 있지만 이때 유의해야 할 점은 유리한 데이터만 수용하는 체리 피킹 (Cherry Picking)입니다. 체리 피킹이란 편향된 관점을 확정하는 일련의 데이터만을 선택하는 것입니다. 전략을 선행적으로 테스트할 때 개인적인 편견과 가정이 개입된다면 테스트를 하는 의미가 없을 것이고 실제로 트레이딩을 할 때 큰 실수를 할 수 있습니다.\n\n### 수동\u002F자동 백테스팅\n\n수동 백테스팅은 차트와 과거 데이터를 이용하여 전략에 따라 수동으로 거래를 배치하는 과정입니다. 자동 백테스팅은 차트와 과거 데이터를 이용하여 전략에 따라 컴퓨터 코드에 따라 거래 배치가 자동화됩니다. 어떤 것이 더 낫다고 할 수는 없지만 자동 백테스팅이 더 편해보이는 것은 사실입니다.\n\n트레이더들은 백테스팅 후 전략의 성과를 평가하기 위해 스프레드 시트나 전략 테스터의 보고서 기능을 활용하는데 보고서에는 트레이딩 플랫폼, 자산 유형, 승패 비율, 샤프 비율, 최대 낙폭, 순수익과 같은 다양한 종류의 정보가 포함됩니다. 여기서 샤프 비율이란 특정 전략의 위험 대비 잠재적인 수익률을 평가하는 것이고 샤프 비율이 높을수록 전략이 유망하다는 것을 의미합니다.\n\n### 마치며\n\n백테스팅은 다양한 금융 시장에서 많은 트레이더들과 투자자들에게 이용되고 있습니다. 그리고 알고리즘 트레이딩에서는 전략의 유효성을 평가하는 핵심적인 부분입니다. 백테스팅의 결과를 분석하는 것에는 편견이 없어야 하며 현 시장과 가장 비슷한 과거의 시황과 지속적인 피드백을 통한 전략의 수정을 통해 전략을 최적화하는 것이 필요합니다. 앞의 예시에서는 정말 기본적인 예시 전략을 사용하였지만 더 많은 조건을 포함한 여러분만의 전략을 수립하여 백테스팅해보시면서 현 시황에 맞는 완벽한 전략을 수립하시길 바랍니다.","Gaegul",1792710674459496,1792729435024923,1,6,[22,32,43],{"id":23,"categoryId":7,"category":24,"slug":25,"title":26,"summary":27,"thumbnailUrl":28,"thumbnailAlt":26,"contentMarkdown":29,"authorName":16,"publishedMicrotime":30,"updateMicrotime":31,"viewCount":19,"readingMinutes":20},"1792720865514689634",{"id":7,"slug":9,"name":10},"guide-moving-average","이동 평균","단순 이동 평균과 지수 이동 평균의 차이, 추세를 파악하는 활용법을 알아봅니다.","https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792720865514689634\u002F1792720865514688-bca58047.png","",1792721178095120,1792728030806569,{"id":33,"categoryId":7,"category":34,"slug":35,"title":36,"summary":37,"thumbnailUrl":38,"thumbnailAlt":36,"contentMarkdown":29,"authorName":16,"publishedMicrotime":39,"updateMicrotime":40,"viewCount":41,"readingMinutes":42},"1792720507307682644",{"id":7,"slug":9,"name":10},"guide-stochastic-rsi","스토캐스틱 RSI","스토캐스틱 RSI의 원리와 신호를 해석할 때 알아둘 특징과 한계를 살펴봅니다.","https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792720507307682644\u002F1792720507307681-7e31c58a.png",1792720658556856,1792728230717638,0,5,{"id":44,"categoryId":7,"category":45,"slug":46,"title":47,"summary":48,"thumbnailUrl":49,"thumbnailAlt":47,"contentMarkdown":29,"authorName":16,"publishedMicrotime":50,"updateMicrotime":51,"viewCount":41,"readingMinutes":20},"1792719650364410025",{"id":7,"slug":9,"name":10},"guide-bollinger-bands","볼린저 밴드","볼린저 밴드의 구성, 변동성과 밴드 폭을 해석하는 방법을 살펴봅니다.","https:\u002F\u002Fassets.btxpro.co.kr\u002Ffeed\u002F1792719650364410025\u002F1792719650364409-f3d8e4ca.png",1792720069686257,1792728495218630,1793249661176]