AlgoQuant
Studio + Engine
AQS Cloud
알고리즘 트레이딩을 위한 모듈형 Rust 프레임워크.소스 열람 가능 · Rust

AlgoQuant Engine

재사용 가능한 트레이딩 컴포넌트를 만들어 백테스트와 실거래에서 실행하세요. 데이터, 브로커, 인프라는 직접 제어할 수 있습니다.

소유권은 AlgoQuantStudio에 있습니다. PolyForm Shield License 1.0.0 라이선스에 따라 자체 리서치, 백테스트, 실시간 거래 등 경쟁하지 않는 용도로 사용할 수 있습니다. AQE를 사용해 경쟁 제품을 제공하려면 별도의 서면 허가가 필요합니다.

모듈형 설계모델, 파이프라인, 수명 주기 로직, 브로커, 데이터 피드를 재사용하세요.
로컬 실행 및 비공개 코드클라우드 연결을 강제하지 않고 직접 제어하는 인프라에서 실행하세요.
독립 실행 또는 연결 운영AQE를 직접 사용하거나, AQS를 추가해 시각적인 제어와 모니터링을 활용하세요.
주문 실행 및 오케스트레이션 계층

완전한 퀀트 트레이딩 시스템의 기반이 되는 런타임.

AQE는 시장 이벤트 수신부터 검토 가능한 거래 결과까지의 흐름을 담당합니다. 엔진이 상태, 주문 실행, 영속 저장, 외부 연동을 조율하므로 전략 코드는 의사결정에 집중할 수 있습니다.

01

전략 상태 조율

수명 주기 훅, 유니버스 선택, 시장 이벤트, 알파 모델, 인사이트 파이프라인, 종료 처리를 예측 가능한 순서로 실행합니다.

02

거래 의사결정 처리

거래 의도를 상태가 있는 인사이트로 표현하여 수량 산정, 검증, 변환, 주문 제출, 체결, 거부, 관리, 청산을 처리할 수 있습니다.

03

교체 가능한 연동 구조 유지

주문 실행과 시장 데이터를 엔진 트레이트로 추상화하여 브로커나 제공자가 바뀌어도 전략을 다시 작성할 필요가 없도록 하세요.

04

장시간 세션 운영

계좌, 계좌 평가액, 이벤트, 지표, 인사이트 상태를 저장해 터미널에서 모니터링하고, 필요에 따라 AQS와 동기화할 수 있습니다.

인터랙티브 아키텍처

시장 데이터가 거래 의사결정과 주문 실행으로 이어지는 과정, 그리고 이를 모니터링하는 방식을 확인하세요.

모듈을 살펴보고, 애니메이션으로 표시되는 실행 경로를 따라가며, 노드를 선택해 런타임에서 담당하는 역할을 확인하세요.

인터랙티브 AQ Engine 아키텍처

모듈이나 인사이트 상태를 선택해 역할을 확인하세요. 화면을 이동하거나 확대·축소하며 탐색할 수 있습니다.

선택한 모듈전략

수명 주기 훅, 시장 이벤트, 상태, 모델, 구성된 런타임 컴포넌트를 조율합니다.

엔진 벤치마크

측정으로 확인하는 성능.

Rust는 명시적인 리소스 관리와 엄격한 컴파일 시점 검사를 바탕으로 전략 로직을 네이티브 코드로 컴파일합니다. AQE는 이러한 기반에 데이터 분석을 위한 Polars와 트레이딩 의사결정을 위한 일관된 프레임워크를 결합합니다.

AQE 0.2.2 · Apple M5 Max · 5쌍 실행

2026년 11월 2일
처리량: 높을수록 빠름
최적화 전최적화 후
지표+4.7%
최적화 전26.97 M 봉/초
최적화 후28.24 M 봉/초
인사이트 파이프+18%
최적화 전8.33 M 단계/초
최적화 후9.83 M 단계/초
PaperBroker+315.2%
최적화 전168.9 k 주문/초
최적화 후701.2 k 주문/초

각 비교 쌍에는 0부터 시작하는 독립적인 눈금이 적용됩니다.

최적화 전 후보 대비 처리량 향상입니다. 로컬 합성 작업 부하이며 종단 간 거래 성능이 아닙니다.

측정 시점이 명시된 이 결과는 기록된 소스 스냅샷에 대한 것이며, 이후 릴리스를 검증한 결과가 아닙니다. 실제 브로커의 지연 시간도 측정하지 않습니다.

측정 방법 및 상세 결과

동일한 Apple M5 Max에서 최적화 전후 바이너리를 번갈아 실행하며 다섯 쌍을 측정했습니다. 각 작업 부하는 실행당 3회 준비 실행과 15회 표본을 사용하며, 각 변형에서 가장 느린 중앙값과 해당 실행의 p95를 공개합니다.

릴리스 빌드: AQE opt-level=3, LTO, 코드 생성 단위 1개. 결정론적 인메모리 워크로드의 측정 구간에는 설정, 데이터 생성, 네트워크, 데이터베이스, UI, MT5 입출력이 포함되지 않습니다. 처리량은 연산 수를 소요 시간의 중앙값으로 나눈 값입니다. 실제 브로커 지연 시간이나 전체 백테스트를 측정한 결과는 아닙니다.

출시 버전이 아닌 최적화 전 0.2.2 후보와의 통제 비교입니다. 작업 부하, 측정 구간, 컴파일러 및 의존성 버전은 변경되지 않았습니다.

검증: 테스트 1,081개 통과. 전체 수명 주기 검사에서 동일한 경제적 결과가 유지되었습니다.

지표

봉 250,000개: SMA, EMA, RSI 및 ATR

중앙값 / p95
밀리초
최적화 전
9.27 / 11.22
최적화 후
8.85 / 9.63
처리량
28,236,754 봉/초

인사이트 파이프

인사이트 20,000개: 진입, TTL 및 손익비

중앙값 / p95
밀리초
최적화 전
7.2 / 8.86
최적화 후
6.11 / 6.33
처리량
9,828,010 단계/초

PaperBroker

합성 봉 하나에서 주문 제출 및 체결 5,000건

중앙값 / p95
밀리초
최적화 전
29.6 / 30.89
최적화 후
7.13 / 10.05
처리량
701,213 주문/초
호스트
Apple M5 Max · Mac17,6 · 18 CPU · 48 GiB
기준값
최적화 전 0.2.2 후보 · 동일한 호스트 및 도구 모음
측정에 사용된 스냅샷
AQE 0.2.2 @ 8382531 · rustc 1.98.1 (48a229cea 2026-09-01) · cargo 1.98.1 (797e8a9bc 2026-08-05)
소스 상태
로컬 변경 사항이 포함되어 있으며, 소스 해시는 JSON 보고서에 기록되어 있습니다.
최대 메모리 사용량
전체 테스트, RSS: 116.8 MiB → 120.8 MiB

최대 메모리는 개선되지 않았습니다. 통제 비교에서 전체 테스트의 최대 RSS가 3.5% 더 높았습니다. 오프라인 실시간 수명 주기의 중앙값은 사실상 변하지 않았습니다.

과거 참고 자료: 9월 0.2.0은 PaperBroker 초당 400,981건을 기록했고, 이 후보는 701,213건을 기록했습니다.

기록된 소스 스냅샷으로 재현하기cargo run --release -p aq-engine --example engine_performance --features runtime --locked

기준 JSON측정 결과 JSON 보고서통제 비교 JSON검증 보고서9월 과거 JSON실행 1: 최적화 전 / 최적화 후실행 2: 최적화 전 / 최적화 후실행 3: 최적화 전 / 최적화 후실행 4: 최적화 전 / 최적화 후실행 5: 최적화 전 / 최적화 후

aq-engine/src/core/pipeline/mod.rs현재 트레이트
pub trait InsightPipe {
    fn version(&self) -> &str;

    fn run(
        &mut self,
        ctx: &mut dyn StrategyContext,
        insight: &mut Insight,
    ) -> InsightPipeResult;
}
재사용 가능한 컴포넌트

트레이딩 로직을 한 번 구현하고 여러 전략에서 조합해 사용하세요.

인사이트 파이프는 각 거래 의사결정을 상태에 따라 처리합니다. 수량 산정, 시간 필터, 스톱, 주문 제출, 포지션 관리를 하나의 전략 본문에 모두 넣지 않고, 역할이 명확한 컴포넌트들을 조합하세요.

수량 산정, 시장 진입, 손절, 익절, 거래 시간대 파이프를 재사용하세요.
신규, 주문 제출됨, 체결됨, 취소됨, 거부됨, 청산됨 상태의 인사이트에 맞춰 로직을 구성합니다.
공통 트레이트를 통해 PaperBroker, MT5, Yahoo Finance 또는 향후 추가될 연동을 교체해 사용하세요.
examples/hyperparameter.rs결정론적 스윕
let mut hyperparameters = HyperParameterConfig::new();
hyperparameters
    .set_sweep_id("ema-crossover-v1")
    .add_hyper_parameter(
        HyperParameter::new("atr_period", 14).values([10, 14, 20]),
    )?
    .add_hyper_parameter(
        HyperParameter::new("ema_period", 21).range(10.0, 30.0, 5.0),
    )?;

let mut state = build_state(timeframe.clone());
state.set_hyper_parameter_config(hyperparameters);
state.run_backtest(start, end, timeframe).await?;
하이퍼파라미터 스윕

코드로 값의 범위를 정의하세요. AQE가 필요한 조합을 그때그때 생성해 실행합니다.

전략과 함께 타입이 지정된 개별 값이나 숫자 범위를 등록하고, 알파 모델, 인사이트 파이프, 전략 변수에서 기본값이 있는 동일한 값을 사용하세요. AQE는 스윕을 실행하는 동안에만 조합을 생성하고, 각 시드마다 새로운 상태를 만들며, 각 결과를 독립적으로 영속 저장합니다.

--hyper-sweep 모든 조합을 순차적으로 실행합니다.
--hyper-seed <prefix> 재현 가능한 조합 하나를 실행합니다.
플래그를 지정하지 않으면 기존의 하드코딩된 기본값을 사용합니다.
백테스트와 실시간 운영의 일관성

실행 환경이 바뀌어도 전략 워크플로는 일관되게 유지하세요.

AQE는 과거 데이터 리서치와 실시간 세션에서 동일한 전략 수명 주기와 컴포넌트 모델을 사용합니다. 브로커와 데이터 피드 구성이 달라져도 전략을 따로 구현할 필요가 없습니다.

01과거 데이터Yahoo Finance 또는 MT5 봉 데이터
→
02AQ Engine전략, 모델, 파이프, 리스크
→
03모의 주문 실행주문, 체결, 계좌 상태
→
04실시간 주문 실행MT5 및 모니터링 세션
공유됨

전략 수명 주기

시작, 유니버스 선택, 초기화, 봉 처리, 인사이트, 파이프라인, 종료 처리는 동일한 런타임 순서를 유지합니다.

교체 가능

주문 실행 및 데이터

UnifiedBroker는 선택한 환경에 맞게 주문 실행 제공자와 데이터 피드를 조합합니다.

검토 가능

상태 및 결과

백테스트는 결과를 SQLite에 영속 저장하고, 실시간 세션은 TUI나 AQS에 정해진 범위의 상태를 제공합니다.

특정 환경에 종속되지 않는 운영

로컬에서 실행하고, 자체 인프라를 연결하고, 전략 코드를 비공개로 유지하세요.

AQE는 독립형 런타임입니다. AQS와 원격 노드는 선택 사항이며, 브로커와 데이터 제공자는 확장 가능한 통합 인터페이스를 통해 연결됩니다.

전략 실행에 클라우드 연결이 필수는 아닙니다.
SQLite 백테스트 산출물은 AQS 외부에서도 확인할 수 있습니다.
터미널에서 지표, 변수, 활성 인사이트, 로그, 동기화 상태를 모니터링할 수 있습니다.
브로커, 데이터 피드, 데이터베이스, 내부 시스템 연동을 통해 엔진 트레이트를 확장할 수 있습니다.
런타임 지표, 인사이트, 변수, 감시 항목, 로그를 보여 주는 AQ Engine 터미널 UI
AQ Engine 터미널 UI실행 중인 프로세스에서 백테스트와 실시간 세션을 직접 운영하세요.
현재 기술 구성

현재 구현된 기능을 살펴보세요.

문서와 소스에서 현재 런타임 계약, 수명 주기, 브로커 연동, 데이터 피드, 인사이트 모델, 운영 상태를 확인할 수 있습니다.

주문 실행

PaperBroker · Mt5Broker

브로커 트레이트를 통해 과거 데이터 시뮬레이션과 실시간 MetaTrader 5 주문 라우팅을 제공합니다.

브로커 문서 보기 →
시장 데이터

Yahoo Finance · MT5

교체 가능한 데이터 피드 트레이트를 통해 과거 봉, 호가, 실시간 데이터를 제공합니다.

데이터 피드 문서 보기 →
의사결정 모델

인사이트 · 파이프라인

거래 의도를 담은 인사이트(거래 신호)로, 상태 정보와 수량 산정·검증·주문 제출·관리 흐름을 갖춥니다.

파이프라인 문서 보기 →
시각화 계층

선택적 AQS 연결

엔진 상태를 Studio와 동기화해 시각적으로 확인하고 실시간으로 운영하세요.

AQS 문서 보기 →
수익을 내고 청산된 AQ Engine 인사이트를 표시하는 AlgoQuant Studio 화면수익을 내고 청산된 AQ Engine 인사이트를 표시하는 AlgoQuant Studio 화면
AQS에서 보는 AQE 상태Studio는 런타임 인사이트 상태를 확인 가능한 운영 이력으로 보여 줍니다.
작업 환경 선택

엔진을 직접 사용하고, 시각적인 운영 환경이 필요할 때 Studio를 추가하세요.

사용자 지정 시스템을 개발할 때 AQE만으로도 활용할 수 있습니다. AQS는 런타임에 노드 기반 구성, 백테스트 검토, 배포 제어, 실시간 대시보드, Insight Flow를 더합니다.

이용 전 확인 사항

시작하기 전에 확인하세요.

현재 사용할 수 있는 워크스페이스, 런타임, 연동을 확인하세요.

AQS, AQE, AQI는 각각 무엇인가요?

AlgoQuant Studio(AQS)는 데스크톱 워크스페이스이며, AlgoQuant Engine(AQE)은 전략을 실행하는 엔진입니다. AlgoQuant Insights(AQI)는 게시된 리서치를 백테스트 및 참고 자료와 연결합니다.

워크플로 살펴보기
Studio 없이 AQE를 사용할 수 있나요?

네. AQE는 독립적으로 빌드할 수 있으며, 직접 만든 Rust 프로젝트에서 전략을 실행할 수 있습니다. Studio와 클라우드 동기화는 필요에 따라 추가하는 운영 기능으로, AQE의 독립 실행에 필수적이지 않습니다.

엔진 시작하기
AQE에서 Python을 사용할 수 있나요?

Python 바인딩은 AQE의 향후 릴리스에서 제공할 계획입니다. 현재 AQE는 Rust를 사용하며, Python 바인딩은 아직 제공되지 않습니다. 제공 관련 정보와 API 세부 사항은 별도로 안내할 예정입니다.

Rust 전략 만들기
백테스트와 실거래에서 같은 전략 로직을 사용할 수 있나요?

AQE는 두 환경에서 동일한 전략 수명 주기와 컴포넌트 모델을 사용합니다. 전략을 별도로 구현해 관리할 필요 없이 브로커와 데이터 피드 구성만 변경하면 됩니다. 다만 실제 체결과 주문 실행 조건은 사용하는 브로커와 시장 상황에 따라 달라집니다.

백테스트에서 실거래로 전환하는 방법 보기
어떤 브로커와 데이터 피드를 사용할 수 있나요?

시뮬레이션에는 PaperBroker를, 브로커를 통한 주문 실행에는 MetaTrader 5를 사용할 수 있습니다. 시장 데이터는 Yahoo Finance 또는 MetaTrader 5에서 가져올 수 있습니다. 사용자 지정 연동은 브로커와 데이터 피드 트레이트를 구현해 추가합니다. 요구 사항과 제약은 연동 가이드에서 확인하세요.

연동 가이드 보기
AQE에는 어떤 라이선스가 적용되나요?

AQE는 소스 코드가 공개되어 있으며, PolyForm Shield License 1.0.0에 따라 자체 리서치, 백테스트, 실거래 등 경쟁하지 않는 용도로 사용할 수 있습니다. 경쟁 제품을 제공하려면 별도의 서면 허가가 필요합니다.

라이선스 보기
런타임 직접 제어

직접 살펴보고 확장할 수 있는 시스템 트레이딩 엔진을 기반으로 개발하세요.

수명 주기 문서부터 살펴보고 빈 전략을 실행한 다음, 워크플로에 필요한 브로커, 데이터 피드, 운영 환경을 연결하세요.