Backtesting & data integrity · Python

Backtests you can actually trust.

Tickbloom scores your market data before your strategy ever sees it — gaps, duplicates, look-ahead leakage, survivorship bias — and writes the audit trail your prop firm will ask for.

Time to confidence
Days, not months
Data providers
Databento + CSV
Runs
Client-side only
The cost of dirty data

~3 weeks

Typical time a solo quant spends rebuilding ETL and cleanup for each new data provider.

The silent killer

1 line

A single shifted index is enough to turn a losing strategy into a beautiful, fictional equity curve.

The gate

0 evidence

What most traders can produce when a prop firm asks why a specific fill looked like an outlier.

What's in the box

Five layers that replace months of hand-cleaned CSVs.

Tickbloom doesn't try to replace QuantConnect or Lean. It does one thing: make sure the data feeding your strategy is clean, documented, and auditable end to end. The layers run in order — each only makes sense once the one before it has passed.

01

Provider connectors with one normalized schema

Databento and CSV today; Polygon.io and IQFeed next. Pull by symbol, date range, and venue without re-learning an API. Symbol metadata, exchange calendars, splits, and contract rolls attach to every batch automatically.

tickbloom.load("ES.c.0", "2024-07-01:2024-09-30")
Connect
02

Automated integrity checks with a numeric verdict

Gaps, duplicates, zero-volume prints, out-of-order timestamps, and session-border drift are validated against configurable thresholds. The Integrity Score turns "is this data clean?" into a number you can put in a document and defend.

tickbloom.audit(data).score # 98.4
Validate
03

Look-ahead and survivorship bias detection

A static AST scanner flags places where a future-looking feature can contaminate results — a negative shift, a full-series fit(), a resample that leaks the close. Runtime guards catch the rest, and delisted names are restored to the universe so your equity curve stops lying.

tickbloom.scan("strategies/") → 2 findings
Audit
04

Review-ready trade documentation

An AutoAudit bundle: order log, fill breakdown, slippage attribution, and equity curve, exported in the format prop firms and allocators ask for. When someone asks why a trade was an outlier, you send the file instead of writing an apology.

tickbloom.export("trades/2024", fmt="review")
Document
05

An agent that proposes fixes — and proves them

Reads your findings and proposes targeted changes: tune the fill model, adjust slippage assumptions, handle a tail event. Then it runs the regression suite against your documented history and shows the delta. You approve before anything is written. Optional, and off by default.

tickbloom.agent.propose(report) # dry-run
Regress

The workflow

Four commands from install to a signed report.

No Docker, no separate server, no DevOps. Every step returns a structured object you can hand to an auditor, an allocator, or your future self six months from now.

Step 01 — Install

Install

A standard pip install inside your existing virtualenv. Pure Python, pandas and pyarrow only.

pip install tickbloom
Step 02 — Pull

Pull

Load from one or more providers in a single call. Metadata and calendars attach automatically.

df = tb.load("ES.c.0",
  "2024-Q3")
Step 03 — Audit

Audit

Integrity checks plus bias scans in one command. Output is a structured report, not a printout.

rep = tb.audit(df)
rep.score  # 98.4
Step 04 — Document

Document

Produce the AutoAudit bundle. Every order, fill, and equity tick logged with replay support.

tb.export("trades/24",
  fmt="review")

Who it's for

Built around the pain of the solo quant.

If you write strategies in Python, want data confidence before you risk capital, and would rather pay than lose another month to cleanup — this is for you.

Solo quant developer

Writes strategies from a notebook. Needs the data clean before any capital moves.

Pain → "My backtest Sharpe was 2.8. Live it was 0.4."

Small fund, 2–10 people

Budget that can't stretch to an enterprise platform, but still needs an institutional audit trail.

Pain → "The allocator asked for our data lineage doc."

Funded prop trader

Trading someone else's capital under review, with rules that require evidence for every outlier.

Pain → "I need to explain this trade by Friday."

I used to rebuild ETL from scratch for every new data provider. Now the tool documents itself, and I spend the week on the strategy instead.

Quant developer · independent trading fund

Pricing

Priced for a small shop, not an investment bank.

Monthly, cancel anytime. Every tier runs the same loader and the same integrity suite — higher tiers add surface area, reporting formats, and support, never a better version of the core checks.

Solo
$49
/ month · 1 seat

For the individual quant validating strategies before risking their own capital.

  • Databento + CSV loaders
  • Full integrity suite & Integrity Score
  • Look-ahead + survivorship scanners
  • HTML & JSON audit reports
  • Community support
Start free trial
Most common
Desk
$199
/ month · up to 5 seats

For funded prop traders and small desks who owe someone else an explanation.

  • Everything in Solo
  • AutoAudit trade-documentation bundle
  • Prop-firm review export formats
  • Shared notebook workspaces
  • CI integration & regression suite
  • Optional fix agent (opt-in)
  • Email support, 1 business day
Start free trial
Fund
Custom
annual · unlimited seats

For funds who need the audit trail to survive an allocator's due diligence.

  • Everything in Desk
  • Custom dataplane & private connectors
  • Priority connector requests
  • On-prem / VPC deployment
  • Data-lineage documentation pack
  • Published SLA & named engineer
Talk to us

14-day trial, no card. Data-provider subscriptions (e.g. Databento) are billed by the provider, not by us.

FAQ

What buyers check before they sign.

Didn't find your answer? Email us — a human replies, usually within a day.

Does Tickbloom replace QuantConnect or Lean?+
No, and it isn't trying to. Those are execution and research platforms. Tickbloom sits upstream of them: it validates and documents the data and the code that feeds them. Most users run Tickbloom in the same notebook or CI job that later calls their existing backtester.
Which data providers are supported?+
Databento and local CSV/Parquet at launch, normalized to one schema. Polygon.io and IQFeed are next. The connector layer is modular: you can register a custom loader in about thirty lines by implementing the Loader protocol, and a community connector is a pull request — no fork required. The integrity suite works on any source that returns the normalized frame.
Is my strategy code or my order history sent to your servers?+
No. Checks execute client-side, in your own process. We record only audit metadata for the trail: Tickbloom version, check identifiers, thresholds, verdicts, and a hash of the input. Your code, your data, and your fills never leave your machine. The on-prem Fund tier removes even the metadata call.
How does the look-ahead scanner actually work?+
Two passes. A static pass walks your code's syntax tree looking for known leakage patterns — negative shifts, rolling windows centred on the current bar, scalers fit on the full series, resampling that pulls a future close into a past bar. A runtime pass wraps your feature pipeline and asserts that no computed value at time t depends on an index greater than t. Static findings are advisory; runtime violations fail the audit.
How is the Integrity Score calculated?+
It's a declared deduction model, not a learned one: score = 100 - sum(penalties), where each check has a documented maximum weight and a tolerance. Rate-based checks use exponential saturation, so the first defects cost the most and no single defect maxes out a check. Every weight and tolerance is recorded in the report manifest and can be overridden in tickbloom.toml — so you can say "we used these thresholds" rather than "the vendor decided".
What exactly is in the trade-documentation bundle?+
A timestamped order log, a fill breakdown with slippage attributed against a stated reference price, the equity curve with drawdown markers, the Integrity Score of the underlying data, and a manifest recording the versions and thresholds used. It exports to HTML, PDF, and CSV. It's designed to answer "why did this trade happen and can you prove the data behind it" — it is documentation, not a certification or a guarantee of approval by any particular firm.
Is the AI agent required?+
No. It's off by default and every tier works fully without it. When enabled it operates in dry-run: it proposes a diff and a regression result, and nothing is written until you approve. If you'd rather it never see your code, leave it disabled — the audit and documentation layers are entirely deterministic.
What happens if my score is low?+
You get a findings list ordered by how much each issue is likely to distort your results, with the specific rows, timestamps, or code lines involved. A low score is not a blocker — it's an itemized description of what you'd be trusting if you traded on this data anyway.

Contact

Ready to run backtests on data you can defend?

Tickbloom is new and we're onboarding a first cohort of funds and prop traders by hand. Email us and you'll get subscription details plus a live walkthrough on your own data.

Privacy

We do not store your strategy code or your trade orders. Runs execute client-side; the system records only audit metadata — Tickbloom version, data source identifier, thresholds, and check results — to make the audit trail reproducible.