맞춤형 백테스트 시작 시간 전략
개요
이 전략의 목적은 사용자가 백테스트의 시작 시간을 사용자 정의하여 보다 유연하고 맞춤화된 백테스트를 수행할 수 있도록 하는 것입니다.
전략 원리
이 전략은 Pine Script의 time 및 timestamp 함수를 사용하여 맞춤형 백테스트 시작 시간을 구현합니다.
먼저, 사용자가 설정에서 사용자 정의 백테스트 시작 연도, 월, 일, 시, 분을 입력할 수 있도록 합니다. 그런 다음 이러한 입력을 사용하여 타임스탬프를 생성하고 이를 startTime 변수에 저장합니다.
전략의 조건 판단에서 startTime 조건이 추가됩니다. 현재 시간이 startTime보다 크거나 같을 때만 전략이 시작됩니다.
예를 들어:
pine
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
strategy.entry("My Long Entry Id", strategy.long)
이를 통해 맞춤형 백테스트 시작 시간을 구현할 수 있습니다. 사용자는 필요에 따라 백테스트 시작 시간을 유연하게 구성할 수 있으며, 고정된 시간에만 국한되지 않습니다.
장점 분석
이러한 맞춤형 백테스트 시작 시간 전략은 다음과 같은 장점이 있습니다:
-
더 유연함: 사용자가 백테스트 시작 시간을 완전히 사용자 정의할 수 있어 특정 시점에 제한되지 않습니다.
-
더 현실적임: 백테스트 시작 시간을 전략이 실제로 실행된 시간으로 설정할 수 있어 백테스트가 실제 시장 상황에 더 가까워집니다.
-
이벤트 기반 백테스트 용이: 특정 이벤트 발생 시간에 맞춰 시작 시간을 설정하여 해당 이벤트에 대한 백테스트를 수행할 수 있습니다.
-
조건 조정 용이: 백테스트 시작 조건을 매우 쉽게 조정하여 다양한 단계에 대해 맞춤형 백테스트를 수행할 수 있습니다.
-
반복 가능하고 신뢰할 수 있음: 백테스트 시작 시간을 매개변수화하여 반복 실행을 통해 신뢰할 수 있는 백테스트 결과를 얻을 수 있습니다.
위험 분석
맞춤형 백테스트 시작 시간 사용에는 다음과 같은 위험도 따릅니다:
-
백테스트 결과가 시작 시간에 의존함: 시작 시간이 다르면 백테스트 결과가 크게 달라질 수 있습니다.
-
시작 시간을 신중하게 선택해야 함: 부적절한 시작 시간은 백테스트 왜곡을 초래하여 실제 상황을 반영하지 못할 수 있습니다.
-
커브 피팅 위험 증가: 시작 시간을 조정하여 과거 데이터에 맞추기 쉬워 과적합 위험이 발생할 수 있습니다.
-
백테스트 결과 비교 가능성 저하: 이 전략의 백테스트 결과는 고정 시작 시간의 백테스트 결과와 비교하기 어렵습니다.
대응 방법:
-
여러 번 백테스트를 수행하여 시작 시간 변화가 결과에 미치는 영향을 평가합니다.
-
주요 이벤트 발생 시간을 시작 시간으로 선택하여 백테스트 왜곡을 줄입니다.
-
시작 시간을 신중하게 조정하여 과거 데이터에 과도하게 맞추지 않도록 합니다.
-
고정 시작 시간의 백테스트를 기준으로 저장하고 맞춤형 백테스트와 비교합니다.
최적화 방향
이 맞춤형 백테스트 시작 시간 전략은 다음과 같은 측면에서 최적화할 수 있습니다:
-
시작 및 종료 시간 모두 사용자 정의 지원하여 완전한 백테스트 시간 창 유연 구성을 구현합니다.
-
여러 시간 모드 지원: 특정 날짜, 상대 날짜, 이벤트 기반 등으로 백테스트 시간 구성을 더 스마트하고 편리하게 만듭니다.
-
그래픽 구성 인터페이스 지원하여 시간 매개변수 설정을 더 직관적으로 만듭니다.
-
다양한 시간 단위 구성 지원: 년, 월, 일, 시, 분, 초 등.
-
백테스트 시간 구성을 기록하여 백테스트 결과를 재현 가능하고 추적 가능하며 비교 가능하게 만듭니다.
-
부적절한 시간 구성에 대한 검증을 추가하여 불합리한 시간 구성이 백테스트 품질에 영향을 미치지 않도록 합니다.
-
시작 시간 바인딩 기능을 제공하여 한 번의 클릭으로 여러 전략에 시작 시간을 동기화하고 복사합니다.
요약
이 전략은 사용자 정의 및 유연한 백테스트 시작 시간 구성을 구현하여 백테스트의 제한을 줄이고 실전 상황에 더 가깝게 만듭니다. 그러나 백테스트 결과가 시작 시간에 의존할 수 있음을 주의하고, 여러 번 백테스트 및 이벤트 기반 등의 조치를 통해 백테스트 왜곡을 줄여야 합니다. 이 전략은 앞으로 더 스마트하고 편리한 백테스트 시간 구성을 구현할 수 있는 많은 최적화 방향이 있습니다.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time- 1
