대부분의 전략은 실제 거래하기 전에 리테스트가 필요하며, FMZ는 일부 종류의 디지털 화폐 현금, 선물 및 영구 계약, 그리고 모든 종류의 상품 선물에 대한 리테스트를 지원합니다. 그러나 발명자의 양적 플랫폼의 리테스트 메커니즘과 일반적인 온바르 리테스트의 차이로 많은 신규가 혼란을 겪습니다. 이 문서에서는 일반적인 리테스트 문제를 자세히 설명하고 대답합니다.
위 그림에서 보여준 것처럼, 리모델링의 시작 시간부터 종료 시간까지는 한 시간 축으로 작용할 수 있으며, 리모델링을 할 때, 리모델링 시점의 시간 축은 왼쪽에서 오른쪽으로 이동하여 리모델링을 시작합니다. 이 시점에서는, 이 시점 이전까지의 역사적 데이터만을 얻을 수 있으며, 전략은 이 데이터에 따라 매출을 하고, 결국 적자를 형성합니다. 분명히, 리모델링의 시점의 분포는 분산적이며, 분포의 밀도는 리모델링의 정확성을 나타냅니다. 물론 재검토 시점의 밀도가 높고 시간이 더 오래 걸리는 것을 고려하면 실제 재검토 시스템은 정확성과 효율성 사이에서 거래를해야합니다.
온바르 회전 메커니즘은 K 라인을 기반으로 하며, 각 K 라인은 회전 시간점을 생성하여 현재 K 라인의 올락, 하락, 거래량 등의 정보를 얻을 수 있으며, 이 시간점 이전의 역사적인 K 라인 정보를 얻을 수 있다. 이 메커니즘의 단점은 분명하다: K 라인에서는 매매가 한 번만 발생하며, 일반적으로 K 라인의 폐쇄 가격에 기반한 가격이다. 그리고 K 라인은 고가에서 낮은 가격까지 네 가지 가격만을 얻을 수 있으며, K 라인 내에서 가격이 어떻게 변하는지에 대해서는 가장 높은 가격 먼저 발생하거나 가장 낮은 가격 먼저 발생하는 등의 정보가 전혀 얻을 수 없다. 1 시간 K 라인의 예를 들어, 실제 시간에는 몇 초마다 한 번 거래 정보를 얻을 수 있으며, 거래 지시가 K 라인의 종료를 기다리지 않고 디스크에서 발송 될 것입니다. 온바르 테스트 메커니즘의 장점은 이해하기 쉽고, 빠른 회귀입니다.
위의 그림은 FMZ 재검토 설정 인터페이스이다. 재검토 모드는 두 가지 모형 수준의 재검토와 실제 디스크 수준의 재검토로 나뉘어, 각각 아래와 같이 소개된다:
틱은 무엇입니까?
K선 데이터와 달리, 틱은 특정 시점의 가격이다. K선 데이터에 따르면, 우리는 실제로 개시 가격과 폐쇄 가격의 발생 시기를 알고 있으며, K선 주기에 가장 높은 가격이 도달하는 시기는 명확하지 않다. 실제로, K선 데이터는 또한 틱에 따라 생성된다. 그리고 K선 데이터에 따라, 또한 K선 주기의 특정 틱의 변화를 시뮬레이션할 수 있다.
모형 수준의 재검토
아날로그 레벨 리모델링은 리모델링이 사용되는 K 라인 주기와 하위 K 라인 주기를 선택한다. 예를 들어 전략이 시간 라인 리모델링을 사용하여 하위 K 라인을 선택하면 5 분, 리모델링 시점의 간격은 5 분 K 라인 리모델링에서 생성된 틱에 기초하여 나타납니다.https://www.fmz.com/bbs-topic/662
우리는 이 메커니즘을 간단한 전략 코드 (Strategy Code) 로 보여드리겠습니다.
function main() {
while(true){
var records = exchange.GetRecords() //GetRecords可以填参数,获取不同周期K线。
var ticker = exchange.GetTicker()
Log('K线收盘价: ', records[records.length-1].Close, 'ticker买一卖一价: ', ticker.Buy, ticker.Sell)
//js回测不用Sleep,会自动跳到下一个tick。Python需要一个小的休眠时间
}
}
그 결과:각 K 라인의 개점과 종료의 틱만 고정되어 있고, 중간중간에 12개의 시뮬레이션 틱을 더하면 K 라인이 14개의 리테이크 시간 포인트를 형성한다. 리테이크를 한 날 하면, 하위 K 라인의 주기는 5분으로, 총 24×12×14 = 4032개의 시간 포인트를 차지하고, 전통적인 온바르 리테이크는 24개밖에 되지 않으며, 정밀도가 크게 향상된다. K 라인 주기에 오픈 및 평면 작업도 완료될 수 있다. 중간에서 생성된 틱은 시뮬레이션이지만 큰 영향을 미치지 않는다. 리테이크에서는, 구매가 1개보다 많고, 판매가 구매보다 작을 때마다 합성 리테이크를 촬영한다. 이 방법은 리테이크의 속도와 정밀성을 고려하여 사용이 권장된다.
실제 디스크 수준의 재검토
실제 디스크 리모델링은 실제 틱을 사용하며, 각 시점 간격은 최소 1s에 불과하며, 이러한 리모델링의 정확도는 매 초마다 변하지만, 데이터량이 많고 리모델링 속도가 느리기 때문에 리모델링 시간이 길지 않습니다. 아래 그림은 실제 틱입니다. 실제 디스크 리모델링은 정확한 검증 정책에 사용될 수 있습니다.
실제 디스크 수준의 리모델링과 실제 디스크에도 트레이드 역사 트레이드, 실제 깊이 변화, 실제 네트워크 지연 등에 대한 접근이 불가능한 것과 같은 명백한 데이터 부족이 있습니다. FMZ의 현재 리모델링 시스템은 비교적 완벽하지만, 네트워크 오류를 시뮬레이션하는 것과 같은 많은 작은 기능이 있습니다.
왜 몇 개의 거래 쌍과 거래소만 환율을 지원합니까?
현재 데이터에 대한 몇 가지 일반적인 거래가 있습니다. 실제로 전략과 품종의 관계는 그다지 크지 않으며 충분한 검증 전략입니다.
BitMEX의 수수료를 모방할 수 있나요?
BitMEX 재검토를 선택하면 이벤트 로그를 열 수 있습니다.
이 모든 것이 어떻게 가능할까요?
자바스크립트 정책의 재검토는 브라우저에서 수행되며, 파이썬은 FMZ의 서버 또는 자체 호스트를 선택할 수 있습니다.
이 글은 이쪽에서 다운로드 받을 수 있습니다.
네, 로그 오른쪽 상단에는 다운로드 버튼이 있습니다.
이 모든 것은 우리가 할 수 있는 일입니다.
FMZ는 오픈 소스 파이썬 검색 엔진을 사용합니다. 참고:https://www.fmz.com/bbs-topic/1687
신부도 마찬가지입니다.1분 수준의 전략은 실제 디스크 데이터로 다시 테스트하는 것이 가장 좋지만 현재 실제 디스크 수준의 테스트는 다시 테스트를 2시간으로만 허용하고, 너무 합리적이지 않으며, 최소 1일도 걸립니다. 다시 테스트는 로컬 컴퓨터 계산이 사용됩니다. 왜 그 시간을 제한합니까?