Pulse is synthetic orderbook data for training
Millisecond-resolution L1/L2 quotes, depth, trades, and order flow — via a Python SDK. Free to get started.
Simulation run in Pulse · 700.HK 09:30:01
- Waiting for messages…
Simulators
Two ways to simulate markets
PulseABM
Available nowAgent-based market simulator generating synthetic tick data at millisecond resolution. Access order books, L1/L2 quotes, orders, and trades via a Python SDK.
- ✓L1 & L2 order book data
- ✓Order flow & trade data
- ✓Python SDK with Polars DataFrames
- ✓Run custom simulations
- ✓Test algos & measure market impact
- SoonTrain online reinforcement learning agents
Pulse Foundation Model
Coming soonA generative model for financial markets. Like an LLM predicts the next word, the Large Market Model predicts the next order, generating realistic synthetic order books and market scenarios on demand.
- SoonSynthetic order book generation
- SoonScenario generation
- SoonExpanded universe of symbols & venues
- SoonAPI access
Use cases
What can Pulse do?
01 · Algo backtesting
Replay your algo over synthetic markets
02 · Market impact
Measure impact in a market that reacts realistically
03 · Pre-trade TCA
Estimate cost before you trade
04 · Stress scenarios
Trade through crises that never happened
05 · Training data
Unlimited tape for models that need more than history
cached run 0000 — 50k TWAP sell replay (unreactive)
arrival slippage (bps) by parent-order size — mean ± 1 s.d., 10 runs
reactive VWAP execution, 11:00 window (Pro tier)
cost vs arrival by window — 09:30: 8.4 bps · 11:00: 6.1 bps (lowest, shown above) · 14:00: 7.3 bps
mid price — scenario=flash_crash, 8 of 25 runs
mid_price_by_min — 14 Monte Carlo runs, one calibration
Pull a cached Pulse run and backtest your strategy against synthetic data. A classic replay backtest, but on unlimited synthetic days instead of one historical tape. The market doesn't react to your orders here; when you need impact, the same data model goes reactive on Pro.
Inject orders into a live synthetic market and watch impact emerge from the simulation.
Run the same order through different execution windows and schedules to build a pre-trade cost curve.
Historical data only contains the crashes that occurred. See how your strategy behaves if the market drastically turns against it.
One trading day happens once. Pulse generates as many statistically realistic variations of the market as your models need.
FIX connectivity
Trade against Pulse over a real FIX session
Pulse exposes its simulated exchange over standard FIX 4.4 point your algo at the simulator before running on a live market. You can run it at up to 20× speed, and get a pre-trade cost report before you risk the alpha for real.
Waiting for messages…
Sample Data
See what the data looks like
Download a real Pulse output. 5 Monte Carlo runs for 700.HK under a baseline scenario, calibrated to HKEX market microstructure. No account needed.
- ▸700.HK_2025-09-02_…_baseline_0000/
- │ mid_price_by_min.parquet
- │ sim_data.parquet
- ▸700.HK_2025-09-02_…_baseline_0001/
- …
- ▸700.HK_2025-09-02_…_baseline_0002/
- …
- ▸700.HK_2025-09-02_…_baseline_0003/
- …
- ▸700.HK_2025-09-02_…_baseline_0004/
- …
Symbol
700.HK
Exchange
HKEX
Scenario
baseline
MC runs
5
Date
2025-09-02
Resolution
tick-level
Orderbook
Full L2, 10 levels
Session
09:30 – 16:00
Quick start
Your data in six lines
from simudyne import PulseABM client = PulseABM(api_key="pk_live_...") # Discover available cached simulationscached_simulations = client.simulation.list_cached() # Find a cached sim IDsim_id = cached_simulations['simulations'][0]['example_sim_id'] # Fetch full data (messages + LOB)df = client.simulation.get_sim_data(sim_id, 'sim_data.parquet') print(df.head())Cite Pulse
Using Pulse in your research?
If you use Pulse data in a publication, please cite us. Copy the BibTeX entry below.
@misc{simudyne2025pulse, title = {Pulse: Synthetic Market Microstructure Data from Agent-Based Simulation}, author = {Simudyne}, year = {2026}, howpublished = {\url{https://pulse.simudyne.com}}, note = {Tick-level synthetic order book data generated by PulseABM, calibrated to real exchange microstructure},}
Foundation Model
Join the waiting list
Be the first to know when the Pulse Foundation Model is available.
FAQs
Frequently asked questions
Pulse is Simudyne's platform for synthetic market data generation. It provides APIs and a Python SDK to access simulated market data for research, model training, algo development, and backtesting.
PulseABM is an agent-based market simulator. It generates realistic synthetic market data at millisecond resolution by modelling individual market participants and their interactions. You can access the resulting data through the Pulse API and Python SDK, including order books, L1/L2/L3, trades, and orders.
The Pulse Foundation Model is an upcoming large market model calibrated with real market data. Just as a Large Language Model predicts the next word in a sequence, the Pulse Foundation Model predicts the next order in a market, generating realistic synthetic order books and market scenarios on demand. Join the waiting list to get early access.
PulseABM currently supports HKEX and LSE, with venues and symbols growing rapidly. Available data includes synthetic order books, L1/L2/L3 data, individual order events, and executed trades. All data is generated at millisecond time resolution and returned as Polars DataFrames. To request new symbols or venues, reach out to support@simudyne.com.
Sign up for a free account, then go to your dashboard to generate an API key. You can create multiple keys, label them for different projects, and revoke them at any time.
Install the SDK with: pip install git+https://github.com/simudyne/pulse-api.git (or uv pip install git+https://github.com/simudyne/pulse-api.git). Then import the client with `from simudyne import PulseABM` and pass your API key to get started.
Yes, Pulse is currently free to use. Create an account to get started.
Yes. PulseABM data is designed for training trading agents and financial models. The SDK returns data in Polars DataFrames that integrate smoothly with ML workflows.