Fintech

Signal Backtesting Engine

Wallex — event-driven fintech infrastructure

Role
Backend engineer (Wallex)
Period
2022 – 2023
Scale
5M+ events/day

Overview

Signal-backtesting infrastructure at Wallex built on Apache Kafka and the Microsoft Orleans actor model: market data lands on partitioned topics, and each symbol is a virtual actor that fans out to Redis (hot state), SQL Server (positions and history), and dashboards.

This is the same Orleans runtime discipline visible in the Crypto BI codebase (Crypto.Runtime.Grains) applied to signal backtesting: the engine replayed the entire set of trading signals, one pass at a time, checking each in live-time against point-in-time market data — the market exactly as it stood at that moment — to validate the signals rather than execute live trades. Thousands of signals at millisecond latency, 5M+ events processed daily.

  • crypto (Runtime.Grains)the authored Orleans actor codebase
  • risk-signalsignal/risk service (hamgit)

Tech stack

Core

  • C#
  • Microsoft Orleans
  • Apache Kafka

State & storage

  • Redis
  • SQL Server

Delivery

  • Azure DevOps
  • Kubernetes

Design patterns

  • Event-driven pipeline

    Kafka topics (signals.raw → signals.enriched → validation results) decouple producers from the actor cluster.

  • Actor model

    One virtual actor per symbol serializes state transitions without locks — Orleans grains distribute across the cluster.

  • Hot/cold path split

    Redis serves hot state to dashboards; SQL Server keeps the durable position/history record.

System design

Signal Backtesting Engine system diagram