fidetolabs/qanat
A data platform for investment research. Ingests financial data sources and computes point-in-time financial metrics for valuation and screening. Delivered as an MCP server.
What it solves
Qanat provides a framework for building and testing financial valuation indicators. It solves the problem of "look-ahead bias" in backtesting by ensuring that data is only accessed based on when it was actually knowable (point-in-time), and it prevents "p-hacking" by tracking the number of trials conducted to adjust the statistical significance of results.
How it works
Qanat operates as an MCP (Model Context Protocol) server that allows an AI agent to drive a data pipeline. The pipeline moves data through specific stages: raw (initial arrival), normalized (cleaning), features (indicators), weights (portfolio baskets), and pnl (profit and loss).
Users define their project in a qanat.yaml file, specifying data sources (via REST, SQL, CSV, or synthetic connectors) and steps written in SQL or Python. The system then performs a "replay"—walking through a historical period date-by-date to simulate how a strategy would have performed, accounting for fees and slippage without allowing the steps to see future data.
Who it’s for
It is designed for quantitative researchers and financial analysts who want to use AI agents to iterate on valuation indicators and backtest them rigorously against historical data.
Highlights
- MCP-Native Interface: Designed to be controlled entirely by an AI agent, which decides which indicators to test and analyzes the results.
- Point-in-Time Replay: Strictly prevents data leakage by ensuring steps only read rows that existed on a specific historical date.
- Trial Tracking: Maintains a count of all attempted indicators to prevent over-fitting and noise from being mistaken for a successful strategy.
- Flexible Pipeline: Supports custom logic via Python and SQL scripts with a strict data-flow contract to maintain integrity.
Related
- Project
- Project
- Project
- Project