라이브 마켓에서 거래 아이디어를 시도하려는 트레이더는 종종 시스템의 수익성 여부를 판단하기 위해 백 테스팅 결과에 전적으로 의존하는 실수를합니다. 백 테스팅은 트레이더에게 귀중한 정보를 제공 할 수 있지만 종종 오도의 소지가 있으며 평가 프로세스의 일부일뿐입니다.
샘플 외부 테스트 및 순방향 성능 테스트는 시스템의 효과에 대한 추가 확인을 제공하며 실제 현금이 연결되기 전에 시스템의 실제 색상을 보여줄 수 있습니다. 백 테스트, 샘플 외부 및 순방향 성능 테스트 결과 간의 적절한 상관 관계는 거래 시스템의 실행 가능성을 결정하는 데 중요합니다.
백 테스팅 기본 사항
백 테스팅은 거래 시스템을 내역 데이터에 적용하여 지정된 기간 동안 시스템의 성능을 확인하는 것을 말합니다. 오늘날의 많은 거래 플랫폼은 백 테스팅을 지원합니다. 거래자는 몇 번의 키 입력으로 아이디어를 테스트하고 거래 계정의 자금을 위험에 빠뜨리지 않고도 아이디어의 효과에 대한 통찰력을 얻을 수 있습니다. 백 테스팅은 이동 평균 크로스 오버가 히스토리 데이터에서 수행되는 방법 또는 다양한 입력 및 트리거가있는보다 복잡한 시스템과 같은 간단한 아이디어를 평가할 수 있습니다.
아이디어를 수량화 할 수있는 한 백 테스트 할 수 있습니다. 일부 거래자와 투자자는 자격을 갖춘 프로그래머의 전문 지식을 사용하여 아이디어를 테스트 가능한 형태로 개발할 수 있습니다. 일반적으로 이것은 프로그래머가 아이디어를 거래 플랫폼이 호스팅하는 독점 언어로 코딩하는 것을 포함합니다. 프로그래머는 사용자 정의 입력 변수를 통합하여 상인이 시스템을 "조정"할 수 있습니다.
이에 대한 예는 위에서 언급 한 단순 이동 평균 크로스 오버 시스템에 있습니다. 트레이더는 시스템에 사용 된 두 이동 평균의 길이를 입력 (또는 변경) 할 수 있습니다. 트레이더는 과거 데이터에 대해 어느 정도의 이동 평균 길이가 가장 높은지를 판단하기 위해 백 테스트 할 수 있습니다.
최적화 연구
많은 거래 플랫폼에서도 최적화 연구가 가능합니다. 이를 위해서는 지정된 입력에 대한 범위를 입력하고 컴퓨터가 "수학을 수행하여"어떤 입력이 가장 잘 수행되었는지 알아낼 수 있습니다. 다중 변수 최적화는 두 개 이상의 변수에 대한 계산을 수행하여 어떤 조합이 최상의 결과를 달성했는지 결정할 수 있습니다.
예를 들어, 거래자는 프로그램에 전략에 추가하려는 입력을 프로그램에 알려줄 수 있습니다. 그런 다음 테스트 된 과거 데이터를 고려하여 이상적인 가중치에 최적화됩니다.
비영리 시스템이 종종 몇 가지 최적화로 돈 버는 기계로 마술처럼 변형 될 수 있다는 점에서 백 테스팅은 흥미로울 수 있습니다. 불행히도, 과거의 최고 수준의 과거 수익성을 달성하기 위해 시스템을 조정하면 실제 거래에서 성능이 떨어지는 시스템이 생길 수 있습니다. 이러한 과도한 최적화는 종이에만 잘 어울리는 시스템을 만듭니다.
곡선 맞춤은 최적화 분석을 사용하여 테스트 기간에 사용 된 과거 데이터에 대해 가장 많은 수익을 올린 가장 많은 수의 거래를 만듭니다. 백 테스팅 결과에서 인상적인 것처럼 보이지만, 곡선 맞춤은 결과가 특정 데이터 및 기간에 맞게 사용자 지정 설계 되었기 때문에 신뢰할 수없는 시스템으로 이어집니다.
백 테스팅 및 최적화는 트레이더에게 많은 이점을 제공하지만 이는 잠재적 트레이딩 시스템을 평가할 때 프로세스의 일부일뿐입니다. 트레이더의 다음 단계는 초기 백 테스팅 단계에서 사용되지 않은 과거 데이터에 시스템을 적용하는 것입니다.
샘플 외부 데이터 대 샘플 외부
히스토리 데이터에 대한 아이디어를 테스트 할 때 테스트 목적으로 히스토리 데이터 기간을 예약하는 것이 좋습니다. 아이디어가 테스트되고 최적화 된 초기 기록 데이터를 샘플 내 데이터라고합니다. 예약 된 데이터 세트를 샘플 외부 데이터라고합니다. 이 설정은 최적화 프로세스의 구성 요소가 아닌 데이터에 대한 아이디어를 테스트 할 수있는 방법을 제공하므로 평가 프로세스의 중요한 부분입니다.
결과적으로이 아이디어는 샘플 외부 데이터의 영향을받지 않았으며 거래자는 시스템이 새로운 데이터, 즉 실제 거래에서 얼마나 잘 수행 할 수 있는지 결정할 수 있습니다.
백 테스팅 또는 최적화를 시작하기 전에 트레이더는 샘플에서 벗어난 테스트를 위해 기록 데이터의 일정 비율을 따로 설정할 수 있습니다. 한 가지 방법은 이력 데이터를 3 분의 1로 나누고 표본 외 테스트에 사용하기 위해 3 분의 1을 분리하는 것입니다. 초기 테스트 및 최적화에는 샘플 내 데이터 만 사용해야합니다.
아래 그림은 히스토리 데이터의 3 분의 1이 샘플 외부 테스트 용으로 예약되어 있고 2/3가 샘플 내 테스트에 사용되는 타임 라인을 보여줍니다. 아래 그림에는 테스트 시작시 샘플 외부 데이터가 표시되어 있지만 일반적인 절차에서는 샘플 성능이 바로 앞선 성능 바로 앞에 있습니다.
백 테스팅 프로세스에서 사용되는 샘플 내 및 샘플 외 데이터의 상대 길이를 나타내는 타임 라인. Julie Bang의 사진 © Investopedia 2020
상관 관계는 두 데이터 집합의 성능과 전체 추세 간의 유사점을 나타냅니다. 상관 관계 메트릭은 테스트 기간 동안 생성 된 전략 성과 보고서 (대부분의 거래 플랫폼이 제공하는 기능)를 평가하는 데 사용할 수 있습니다. 둘 사이의 상관 관계가 강할수록 시스템이 순방향 성능 테스트 및 라이브 거래에서 잘 수행 될 확률이 높아집니다.
아래 그림은 샘플 내 데이터에서 테스트 및 최적화 된 다음 샘플 외부 데이터에 적용된 두 가지 시스템을 보여줍니다. 왼쪽의 차트는 표본 내 데이터에서 잘 작동하기 위해 곡선에 잘 맞았으며 표본 외 데이터에서 완전히 실패한 시스템을 보여줍니다. 오른쪽의 차트는 샘플 내 및 샘플 외 데이터 모두에서 잘 수행 된 시스템을 보여줍니다.
두 개의 주식 곡선. 각 노란색 화살표 앞의 거래 데이터는 샘플 내 테스트를 나타냅니다. 노란색 화살표와 빨간색 화살표 사이에 생성 된 거래는 샘플 외부 테스트를 나타냅니다. 빨간색 화살표 이후의 거래는 성능 테스트 단계에서 나온 것입니다.
샘플 내 데이터를 사용하여 거래 시스템이 개발되면 샘플 외부 데이터에 적용 할 수 있습니다. 거래자는 샘플 내 데이터와 샘플 외부 데이터 간의 성능 결과를 평가하고 비교할 수 있습니다.
위 그림의 왼쪽 차트와 같이 샘플 내 테스트와 샘플 외부 테스트간에 상관 관계가 거의없는 경우 시스템이 과도하게 최적화되어 실제 거래에서 제대로 작동하지 않을 수 있습니다. 오른쪽 차트에서 볼 수 있듯이 성능에 강한 상관 관계가있는 경우 다음 평가 단계에는 순방향 성능 테스트라고하는 추가적인 샘플 외부 테스트가 포함됩니다.
고급 성능 테스트 기본 사항
페이퍼 트레이딩이라고도하는 포워드 성능 테스트는 트레이더에게 시스템을 평가할 샘플 외부 데이터 세트를 제공합니다. 순방향 성능 테스트는 실제 거래의 시뮬레이션이며 실제 시장에서 시스템의 논리를 따르는 것과 관련이 있습니다. 모든 거래는 종이로만 수행되므로 종이 거래라고도합니다. 즉, 거래 시작 및 종료는 시스템의 손익과 함께 문서화되지만 실제 거래는 실행되지 않습니다.
성능 테스트의 중요한 측면은 시스템의 논리를 정확하게 따르는 것입니다. 그렇지 않으면, 불가능하지는 않더라도 프로세스의이 단계를 정확하게 평가하는 것이 어려워집니다. 거래자는 모든 거래 진입과 퇴출에 대해 정직해야하며 체리 따기 거래와 같은 행동을 피하거나 "나는 결코 그 거래를 받아들이지 않을 것"이라고 합리화하는 종이 거래를 포함하지 않아야합니다. 거래가 시스템의 논리에 따라 발생했을 경우 문서화하고 평가해야합니다.
많은 중개인은 거래를하고 해당 손익을 계산할 수있는 시뮬레이션 거래 계정을 제공합니다. 시뮬레이션 된 거래 계정을 사용하면 거래를 연습하고 시스템을 추가로 평가할 반 현실적인 분위기를 만들 수 있습니다.
위의 그림은 또한 두 시스템에서 순방향 성능 테스트 결과를 보여줍니다. 다시, 왼쪽 차트에 표시된 시스템은 샘플 내 데이터에 대한 초기 테스트를 능가하지 못합니다. 그러나 오른쪽 차트에 표시된 시스템은 성능 테스트를 포함한 모든 단계에서 지속적으로 성능이 우수합니다. 샘플 내, 샘플 외부 및 순방향 성능 테스트간에 좋은 상관 관계를 갖는 긍정적 인 결과를 보여주는 시스템은 실제 시장에서 구현할 준비가되었습니다.
결론
백 테스팅은 대부분의 거래 플랫폼에서 유용한 도구입니다. 샘플 데이터 및 샘플 외부 테스트를 제공하기 위해 히스토리 데이터를 여러 세트로 나누면 트레이더에게 거래 아이디어 및 시스템을 평가하기위한 실용적이고 효율적인 수단을 제공 할 수 있습니다. 대부분의 트레이더는 백 테스팅에 최적화 기법을 사용하므로, 깨끗한 데이터를 바탕으로 시스템을 평가하여 실행 가능성을 판단하는 것이 중요합니다.
순방향 성능 테스트로 샘플 외부 테스트를 계속하면 시스템을 실제 현금으로 위험에 빠뜨리기 전에 또 다른 안전 계층을 제공 할 수 있습니다. 샘플 내 및 샘플 외 백 테스트 및 포워드 성능 테스트 간의 긍정적 인 결과와 좋은 상관 관계는 시스템이 실제 거래에서 잘 수행 될 가능성을 높입니다.