WonderTrader
는 전체 시장의 모든 유형 의 거래에 적합한 C++
핵심 모듈을 기반으로 하는 고효율 및 고가용성 정량 거래 개발 프레임워크입니다.
WonderTrader
고속 C++
코어 프레임워크와 효율적이고 사용하기 쉬운 애플리케이션 계층 프레임워크(wtpy)를 사용하며 R&D, 거래, 운영 및 스케줄링에서 완전 자동화된 원스톱 정량적 R&D 거래 시나리오를 만들기 위해 최선을 다하고 있습니다. .
WonderTrader
초저 대기 시간 거래 요구 사항을 충족하기 위해 0.9
에서 새로운 UFT 엔진을 출시했습니다. 일련의 최적화 후 시스템 대기 시간은 175나노초 이내입니다.
WonderTrader
의 실제 거래 아키텍처
WonderTrader
의 장점풍부한 거래 엔진
- 동기화 전략 엔진 이라고도 불리는 CTA 엔진은 일반적으로 대상 수가 적고 계산 논리가 빠른 전략에 적합하며 이벤트 + 시간 기반입니다. 일반적인 애플리케이션 시나리오에는 단일 입찰 타이밍, 중간 빈도 이하의 차익 거래 등이 포함됩니다. 데모에 제공된 DualThrust 전략의 경우 단일 재계산에 소요되는 평균 시간은 Python 구현 버전의 경우 약 70마이크로초, C++ 구현 버전의 경우 약 4.5마이크로초입니다.
- 비동기 전략 엔진 이라고도 불리는 SEL 엔진은 일반적으로 목표가 많고 논리 계산에 오랜 시간이 걸리는 시간 중심 전략에 적합합니다. 일반적인 적용 시나리오에는 다단계 주식 선택 전략, 단면적 장단기 전략 등이 포함됩니다.
- 고주파수 전략 엔진 이라고도 불리는 HFT 엔진은 주로 고주파수 또는 저지연 전략을 목표로 하며 이벤트 기반이며 시스템 지연은 1~2마이크로초입니다.
- 초고속 전략 엔진 이라고도 불리는 UFT 엔진은 주로 초고주파 또는 초저 지연 전략, 이벤트 기반 전략을 목표로 하며 시스템 지연은 200나노초 이내입니다.
완전한 개발 인터페이스
- 효율적이고 사용하기 쉬운 데이터 인터페이스 : 각 전략에는 독립적인 컨텍스트 모듈이 있습니다. 컨텍스트는 전략에 필요한 데이터를 자동으로 캐시하며 전략을 직접 호출할 수 있습니다.
- 간단한 신호 인터페이스 : 전략은 목표 위치만 설정하면 되며 백그라운드에서 자동으로 실행됩니다.
- 컨텍스트 프리 정책 로직 : 정책 자체에는 데이터를 기록할 필요가 없으며 매번 인터페이스에 쿼리만 하면 되며, 액세스 효율성이 보장됩니다.
전문적인 전략경영
- 전략 조합의 통합 관리 : 전략 조합 접근 방식은 주로 전문 조직의 제품 관리를 조정하는 데 사용됩니다. 조합 플레이트는 여러 전략의 여러 목표에 해당하며 기본 단위 자금 금액을 설정합니다. 상품 관리의 기본 조합 플레이트로 확장에 편리합니다.
- 대상포지션 합병실행 : 대상포지션이 병합된 후 자체 거래의 위험을 피하고 마진 점유 및 수수료 비용을 절감합니다.
- 이론 포지션의 독립 저장 : 전략의 이론 포지션이 독립적으로 저장되며, 결합된 디스크의 전체 성능도 독립적으로 계산되므로 내부적으로 관리가 쉽습니다.
- 여러 계좌의 동시 실행 : 결합의 목표 포지션이 결정된 후 여러 거래 채널을 통해 동시에 실행되므로 서로 다른 계좌의 성과 일관성을 효과적으로 보장할 수 있습니다.
전체 유형의 백테스트 지원
- 전체 언어 지원 :
C++
에서 개발된 전략이든,wtpy
에서 개발된python
전략이든, 다른 언어 하위 프레임워크에서 개발된 전략이든 모두 통합 백테스팅 엔진 에서 백테스트됩니다.- 높은 백테스팅 효율 : 백테스팅 엔진은
C++
로 개발되어 백테스팅 효율이 높고 속도가 빠릅니다.C++
전략이든Python
전략이든 빠르게 검증할 수 있습니다.- 완벽한 전략 지원 : CTA 전략 및 SEL 전략 외에도 HFT 전략 , UFT 전략 및 실행 단위 도 백테스트할 수 있습니다.
효율적인 데이터 서보
- 로컬 데이터 서버 :
WonderTrader
에 내장된 스토리지 엔진은 로컬 스토리지를 사용하고, 로컬에 데이터 서버를 구축하고,udp
포트를 통해 실시간 시장 데이터를 방송하여1+N
서비스 구조를 구현하여, 여러 조합에 차별화되지 않은 데이터 서비스를 제공할 수 있습니다. 동시에 디스크. 전문적인 데이터 제공자 수준의 아키텍처는 다양한 수요 시나리오에 쉽게 대처할 수 있도록 다단계 유통 시스템 구축을 지원합니다.- 기록 데이터 캐싱 : 트랜잭션 프로세스 중에 모든 기록 데이터가 메모리에 캐시되는 동시에 메모리 데이터 조각을 직접 참조하는 메커니즘을 채택하여 근본적으로 데이터 복사를 방지하고 액세스 효율성을 향상시킵니다.
- 효율적인 스토리지 엔진 : 실시간 데이터는 데이터 손실 없이 빠른 속도로 읽고 쓸 수 있는
mmap
파일을 사용합니다. 동시에 과거 데이터를 저장하는 mysql 데이터베이스를 지원하므로 이를 기반으로 자신만의 투자 조사 데이터베이스를 구축하는 것이 더욱 편리합니다.
유연한 위험 통제
- 복합디스크 펀드 리스크 통제 : 복합디스크는 사전 설정된 펀드 규모를 가지며, 복합디스크의 가상자금을 기준으로 복합디스크의 펀드 리스크 통제를 수행할 수 있습니다. 가장 큰 장점은 조합이 하향 단계에 있으면 리스크 통제가 시작된 후 자본 계정이 리스크 통제 라인에 도달하지 않더라도 계속 하락하지 않는다는 것입니다.
- 채널 트래픽 리스크 관리 : 주로 컴플라이언스 리스크를 대상으로 총 취소 주문 건수, 단시간 내 접수된 주문 건수, 취소 주문 건수 등의 지표를 제어합니다.
- 계좌자금 리스크 통제 : 계좌자금의 인출 등을 주로 통제하는 일반적인 의미의 자금리스크 통제와 일치한다.
- 비상 수동 개입 : 비상 수동 개입을 위한 입구를 제공하고, 구성 파일을 업로드하여 제어 목적을 달성합니다. 주로 단일 제품의 위험에 적합합니다. 전체 시장에 위험이 있는 경우 시스템을 수동으로 중지할 수 있습니다.
- 클러치 메커니즘 : 클러치 메커니즘은 신호 분리 및 실행 메커니즘에 의존하며 전략이나 조합에 위험이 있는 경우 클러치 메커니즘을 통해 신호 실행을 직접 연결 해제하는 데 주로 사용됩니다. 장점은 전략의 논리에 영향을 미치지 않고 신호의 실행을 끊을 뿐입니다. 특정 시장 단계에서 전략의 성과를 계속 관찰하고 이론적 연구를 통해 확인할 수 있습니다.
강력한 콘솔 (wtpy 모니터링 서비스)
- 조합 디스크 운영 모니터링 : 실시간 운영 로그, 전략 이론 데이터, 거래 채널 데이터 등을 볼 수 있으며 수동 시작 및 중지에 대한 입구를 제공합니다.
- 자동 스케줄링 서비스 : 예약된 작업(시작, 중지, 다시 시작)을 완전 자동으로 예약하고, 매주 작업 반복 설정을 지원하며, 프로세스 후견을 지원합니다.
- 실시간 이벤트 알림 : 모니터링 서비스는 복합디스크에서 푸시된 이벤트를 수신한 후 모니터링 단말로 전달하여 사용자에게 알림을 제공합니다.
- 백테스트 뷰어 : WtBtSnooper 모듈을 사용하여 백테스트 데이터를 확인하고 분석할 수 있습니다.
- 전자동 원격 배포(구축 중) : 전자동 온라인 원격 배포로, 백테스트 환경, 실제 디스크 환경 등 다양한 애플리케이션 시나리오에 자동화된 배포 서비스를 제공합니다.
팀 내부통제 전략적 포트폴리오 관리 방식은 내부 팀 관리를 위한 완벽한 솔루션을 제공합니다.
C++
수준 코드는 최대 정책 기밀성을 제공할 수 있으며 투자 연구원은 정책 유출에 대해 걱정할 필요가 없습니다. 다중 계정 거래 ( 다중 제품 구성 ) 다양한 시장 주기에 따른 전략 조합의 경우 평균 팀은 현재 가장 적합한 전략 조합을 갖게 됩니다. 그러나 같은 기간 동안 팀은 동시에 여러 계정을 관리할 수 있지만 실제로 이러한 계정이 사용하는 전략 조합은 동일합니다. 현재 WonderTrader
플랫폼이 제공하는 M+1+N 실행 아키텍처는 이러한 요구를 완벽하게 충족할 수 있습니다.
특정 조합 P의 기본 자본 규모가 5백만이고, 예상 수익률이 30%, 최대 손실률이 10%이고, 위험 대비 수익률이 3:1이라고 가정합니다. 계좌 A는 이 조합 P를 사용하여 거래합니다. 계좌 A의 자금 금액은 1천만이고 최대 허용 금액은 다음과 같습니다. 되돌림도 10%입니다. 계좌 B도 이 조합을 사용하여 P를 거래하고 자금 금액도 1천만이지만 가능합니다. 현재 허용되는 최대 되돌림은 20%입니다. 계정 A의 위험 매개변수가 기본 시장과 일치하기 때문에 계정 A의 로트 크기 확대는 기본 시장의 자본 크기/펀드 크기 = 1000w/500w = 2입니다. 계정 B는 이를 허용할 수 있습니다. 최대 손실률은 20%이므로 로트 크기 비율을 두 배로 늘려야 합니다. 즉, 계정 B에 4번 할당할 수 있습니다.
다중 표적 추적 핵심 모듈을 개발하기 위해 해석된 언어(예: Python
)를 사용하는 일부 퀀트 거래 플랫폼은 대상이 소수일 때 다양한 응용 시나리오가 가능합니다. 그러나 추적해야 하는 대상 수가 100개를 초과하거나 심지어 50개를 초과하면 수요를 충족할 수 없습니다. 한편으로는 많은 리소스를 차지합니다. multiprocess
및 기타 메커니즘을 사용하면 각 대상이 독립적으로 실행되지만 수백 개의 대상에 대해 수백 개의 새로운 프로세스가 생성되어 많은 메모리와 CPU를 소비합니다. , 전략이 비효율적이며 자원 경쟁이 심할 경우 특정 상황에서는 전략적 대응도 느려집니다. WonderTrader
의 핵심은 C++
로 개발되었으며 데이터 서보는 동시에 여러 조합에 서비스를 제공하도록 설계되었습니다. 동시에 전략과 실행은 분리되어 있으며 신호 실행과 전략 계산은 완전히 독립적으로 실행됩니다. 두 개의 다른 스레드. 이러한 아키텍처에서는 다중 표준 추적 요구 사항이 잘 충족될 수 있습니다.
계산 집약적인 전략 일부 전략에 필요한 계산량은 엄청납니다. 일반적인 전략은 여러 팩터를 사용하든 펀더멘털을 사용하든 최종 목표 주식 풀을 얻기 위해 수천 개의 주식을 점진적으로 선별합니다. 또한 일부 다중 표준 다중 요소 프레임워크에는 많은 양의 계산이 포함됩니다. 이러한 전략은 엄청난 양의 계산이 필요하고 시간도 오래 걸립니다. WonderTrader
의 SEL
엔진은 이러한 요구를 충족하도록 맞춤화되었습니다. SEL
엔진은 비동기 시간 중심 모델을 채택하여 재계산 시간 일정을 엔진에 등록(일중, 일별, 주별, 월별 등 여러 주기 지원)하여 정기적으로 재계산을 실행한 후 여러 대상의 목표 위치를 조정합니다. , 이에 따라 신호를 출력한다.
속도 거래 WonderTrader
C++
기본 핵심 개발 언어로 사용합니다. 가장 중요한 목적 중 하나는 최고의 성능을 추구하는 것이므로 WonderTrader
의 사용 시나리오에서 고주파 거래 또는 속도 거래가 매우 큰 비율을 차지합니다. WonderTrader
매우 빠른 거래 시나리오를 위해 특별히 설계된 버전 v0.9
에서 새로운 UFTEngine을 열었습니다. 원래 HFTEngine
과 달리 HFTEngine
일반적인 고주파수를 목표로 하며 애플리케이션 계층에 고성능 기본 구성 요소를 제공하는 데 중점을 둡니다. 시스템 지연은 1~2마이크로초 이내입니다. UFTEngine
WtCore
프로젝트와 완전히 분리되어 있으며 애플리케이션 계층에 대한 인터페이스를 제공하지 않습니다. 모두 C++
로 개발 및 구현되었으며 시스템 지연은 200ns 이내입니다 .
알고리즘 거래 WonderTrader
에는 사용자가 알고리즘 거래를 구현할 수 있는 독립적인 실행자 입력 모듈 WtExecMon
이 있습니다. WonderTrader
의 M+1+N 실행 아키텍처에서는 1+N 실행 부분이 제거되어 독립적인 알고리즘 거래 실행기 로 사용될 수 있습니다. 사용자가 이를 이용하면, 지정된 대상의 목표 포지션을 설정함으로써 알고리즘 실행부는 미리 설정된 알고리즘에 따라 매매 주문을 할 수 있습니다. 사용자는 자체 WtExecFact
모듈을 구현하여 더 많은 알고리즘 실행 단위를 추가할 수 있습니다. 효율적인 C++
하위 계층은 알고리즘 실행 단위의 실행 효과에 대한 강력한 보장을 제공할 수 있습니다.
wtpy
소개Python3
사용하여 개발된 WonderTrader
의 Python3
하위 프레임워크인 WonderTrader
의 핵심 모듈을 기반으로 구축되었습니다.Python
시계열 데이터 처리를 위한 매우 유명하고 강력한 타사 라이브러리가 많이 있습니다.Python
코드 작성 및 디버깅에 매우 편리합니다. 컴파일 없이 직접 실행할 수 있습니다.Python
의 크로스 플랫폼 특성을 통해 Python
더 많은 시나리오에 적용할 수도 있습니다.wtpy
의 주요 기능은 Python
언어로 된 WonderTrader
의 확장입니다.wtpy
에는 강력한 모니터링 서비스 구성 요소인 WtMonSvr
도 내장되어 있습니다. 이 구성 요소는 전략 조합의 운영을 실시간으로 모니터링할 수 있는 원격 webui
모니터링 인터페이스를 제공하며, 거래를 보호하기 위해 24×7
자동 예약 서비스도 제공합니다. WonderTrader
얻는 방법WonderTrader
github
주소: https://github.com/wondertrader/wondertradergitee
주소: https://gitee.com/wondertrader/wondertraderwtpy
github
주소: https://github.com/wondertrader/wtpygitee
주소: https://gitee.com/wondertrader/wtpywtpy
획득 주소: https://pypi.org/project/wtpy/ wtpy
python3.8
이상에서 직접 설치할 수 있습니다. pip install wtpy --upgrade
WonderTrader
확장 프로젝트wtpy
사용하는 강화 학습 프레임워크 Wt4ElegantRL
https://github.com/drlgistics/Wt4ElegantRL WonderTrader
로부터 실시간 정보를 받으려면 공개 계정 wondertrader
팔로우하세요.610730738
(전체) 그룹 2 367916500
(가입하기 전에 star
표시한 후 github
사용자 이름을 제공하세요)WonderTrader
문서를 보려면 https://docs.wondertrader.com/을 참조하세요.WonderTrader
준공식 문서 https://dumengru.github.io/docs_wondertrader/WonderTrader
학습 노트 https://zzzzhej.github.io/WonderTrader-Learning-Notes/