백 테스팅이란 무엇입니까?
백 테스팅은 전략이나 모델이 사후 포스트를 얼마나 잘 수행했는지 확인하는 일반적인 방법입니다. 백 테스팅은 과거 데이터를 사용하여 어떻게 실행되는지를 발견함으로써 거래 전략의 실행 가능성을 평가합니다. 백 테스팅이 효과가 있다면, 트레이더와 애널리스트는 앞으로도이를 채택 할 것이라고 확신 할 수 있습니다.
백 테스팅은 거래 전략을 최적화하는 데 중요한 단계가 될 수 있습니다. 차트 분석 도구를 사용하여 수익성있는 거래 기회를 인식하는 방법에 대해 자세히 알아 보려면 Investopedia Academy의 기술 분석 과정을 확인하십시오.
백 테스팅의 기초
백 테스팅을 통해 거래자는 과거 데이터를 사용하여 거래 전략을 시뮬레이션하여 실제 자본을 위험에 처하기 전에 결과를 생성하고 위험 및 수익성을 분석 할 수 있습니다.
긍정적 인 결과를 산출하는 잘 수행 된 백 테스트는 트레이더에게 전략이 근본적으로 건전하고 실제로 구현 될 때 이익을 얻을 가능성이 있음을 보증합니다. 차선의 결과를 산출하는 잘 수행 된 백 테스트는 거래자가 전략을 변경하거나 거부하도록 자극합니다. 자동화 된 거래 시스템에 의해 구현 된 전략과 같은 특히 복잡한 거래 전략은 다른 평가를하기에는 너무 비전 적이기 때문에 가치를 입증하기 위해 백 테스팅에 크게 의존합니다.
거래 아이디어를 수량화 할 수 있으면 백 테스트 할 수 있습니다. 일부 거래자와 투자자는 자격을 갖춘 프로그래머의 전문 지식을 사용하여 아이디어를 테스트 가능한 형태로 개발할 수 있습니다. 일반적으로 이것은 프로그래머가 아이디어를 거래 플랫폼이 호스팅하는 독점 언어로 코딩하는 것을 포함합니다. 프로그래머는 사용자 정의 입력 변수를 통합하여 상인이 시스템을 "조정"할 수 있습니다. 이에 대한 예는 위에서 언급 한 단순 이동 평균 크로스 오버 시스템에 있습니다. 트레이더는 시스템에 사용 된 두 이동 평균의 길이를 입력 (또는 변경) 할 수 있습니다. 트레이더는 과거 데이터에 대해 어느 정도의 이동 평균 길이가 가장 높은지를 판단하기 위해 백 테스트 할 수 있습니다.
주요 테이크 아웃
- 백 테스팅은 과거 데이터를 사용하여 어떻게 작동하는지 파악하여 거래 전략 또는 가격 책정 모델의 실행 가능성을 평가합니다. 백 테스팅이 효과가있을 경우 트레이더와 분석가는 향후이를 활용할 확신이있을 수 있습니다. 전략은 근본적으로 건전하며 실제로 시행 될 때 수익을 창출 할 가능성이 높습니다. 차선의 결과를 산출하는 잘 수행 된 백 테스트는 거래자가 전략을 변경하거나 거부하도록 자극합니다.
이상적인 백 테스팅 시나리오
이상적인 백 테스트는 다양한 시장 조건을 반영하는 기간의 관련 기간에서 샘플 데이터를 선택합니다. 이러한 방식으로, 백 테스트 결과가 우호적 인 거래인지 또는 건전한 거래인지를 더 잘 판단 할 수 있습니다.
과거 데이터 세트에는 결국 파산했거나 판매 또는 청산 된 회사의 주식을 포함하여 진정으로 대표적인 주식 샘플이 포함되어야합니다. 오늘날에도 여전히 존재하는 과거 주식 데이터 만 포함하는 대안은 백 테스팅에서 인위적으로 높은 수익을 낼 것입니다.
백 테스트는 모든 트레이딩 비용을 고려해야하지만, 백 테스팅 기간 동안 누적되어 전략의 수익성에 크게 영향을 줄 수 있으므로 중요하지 않습니다. 거래자는 백 테스팅 소프트웨어가 이러한 비용을 설명하도록해야합니다. 샘플 외부 테스트 및 순방향 성능 테스트는 시스템의 효과에 대한 추가 확인을 제공하며 실제 현금이 연결되기 전에 시스템의 실제 색상을 보여줄 수 있습니다. 백 테스트, 샘플 외부 및 순방향 성능 테스트 결과 간의 적절한 상관 관계는 거래 시스템의 실행 가능성을 결정하는 데 중요합니다.
백 테스팅 및 순방향 성능 테스트
페이퍼 트레이딩이라고도하는 포워드 성능 테스트는 트레이더에게 시스템을 평가할 샘플 외부 데이터 세트를 제공합니다. 순방향 성능 테스트는 실제 거래의 시뮬레이션이며 실제 시장에서 시스템의 논리를 따르는 것과 관련이 있습니다. 모든 거래는 종이로만 수행되므로 종이 거래라고도합니다. 즉, 거래 시작 및 종료는 시스템의 손익과 함께 문서화되지만 실제 거래는 실행되지 않습니다.
성능 테스트의 중요한 측면은 시스템의 논리를 정확하게 따르는 것입니다. 그렇지 않으면, 불가능하지는 않더라도 프로세스의이 단계를 정확하게 평가하는 것이 어려워집니다. 거래자는 모든 거래 진입과 퇴출에 대해 정직해야하며 체리 따기 거래와 같은 행동을 피하거나 "나는 결코 그 거래를 받아들이지 않을 것"이라고 합리화하는 종이 거래를 포함하지 않아야합니다. 거래가 시스템의 논리에 따라 발생했을 경우 문서화하고 평가해야합니다.
백 테스팅과 시나리오 분석의 차이점
백 테스팅은 실제 기록 데이터를 사용하여 적합 또는 성공을 테스트하지만 시나리오 분석에서는 다양한 가능한 결과를 시뮬레이션하는 가상 데이터를 사용합니다. 예를 들어, 시나리오 분석은 이자율 변동과 같은 포트폴리오 증권 가치 또는 주요 요소 값의 특정 변화를 시뮬레이션합니다. 시나리오 분석은 일반적으로 불리한 상황에 대한 포트폴리오 값의 변화를 추정하는 데 사용되며 이론상 최악의 시나리오를 조사하는 데 사용될 수 있습니다.
백 테스팅의 일부 함정
백 테스팅에서 의미있는 결과를 제공하려면 거래자는 가능한 한 편견을 피하면서 전략을 개발하고 선의로 테스트해야합니다. 즉, 백 테스팅에 사용 된 데이터에 의존하지 않고 전략을 개발해야합니다. 그것은 생각보다 어렵습니다. 거래자는 일반적으로 과거 데이터를 기반으로 전략을 수립합니다. 모델을 교육하는 데이터 세트와 다른 데이터 세트를 사용하여 테스트하는 데 엄격해야합니다. 그렇지 않으면, 백 테스트는 아무런 의미가없는 빛나는 결과를 생성합니다.
마찬가지로, 거래자는 데이터 준설을 피해야합니다. 동일한 준거 데이터에 대해 광범위한 가설 전략을 테스트하면 실시간 시장에서는 실패 할 수있는 성공을 거둘 수 있습니다. 우연히 특정 시간.
데이터 준설 또는 체리 픽의 경향을 보상하는 한 가지 방법은 관련 또는 샘플 내 기간에 성공한 전략을 사용하여 다른 또는 샘플 외 기간의 데이터로 백 테스트하는 것입니다. 샘플 내 및 샘플 외 백 테스트에서 비슷한 결과가 나오면 일반적으로 유효합니다.