Skip to main content

Overview

This server decomposes a numeric series into wavelet scales, analyzes mean-reversion properties, generates signals, and provides simple backtests and visualizations. Supplied and synthetic data work without an external provider; Yahoo retrieval requires network access.

Connection

MCP URL: https://quantx-api.limex.pro/mcps/wavelet-mean-reversion Select Wavelet Mean Reversion in the QuantX marketplace. Use its gateway connection and QuantX authorization. See Client Setup. Cursor configuration (.cursor/mcp.json):
Set the referenced environment variables before starting Cursor. For Claude Code or Python, use the client-specific format in Client Setup.

Tools

Data and Analysis

Signals, Backtests, and Charts

Configuration and Object Lifecycle

config-from-dict and config-to-dict convert configuration. The presets are default-config, monte-carlo-default, statistical-analyzer-default, wavelet-analyzer-default, wavelet-strategy-default, wavelet-visualizer-default, and yahoo-fetcher-default. Each of these object prefixes has -create, -info, -list, and -delete tools:
  • config
  • yahoo-data-fetcher
  • trading-signal
  • wavelet-mean-reversion-strategy
  • wavelet-visualizer
  • wavelet-analysis-result
  • wavelet-analyzer
  • wavelet-decomposition-result
wavelet-mean-reversion-strategy-create requires an analyzer. The shortest path is wavelet-strategy-default with {"request": {}}, which returns the strategy handle and deps.analyzer. The demonstration entry points are main-main, example-synthetic-data, example-real-market-data, example-monte-carlo-backtest, example-multiple-tickers, and example-custom-configuration. Inspect their schemas and expected cost before using them in automation. Do not infer additional callable methods from a class name.

Examples

Retrieve One or Several Tickers

Call yahoo-data-fetcher-fetch with a single string ticker:
For more than one ticker, call yahoo-data-fetcher-fetch-multiple-series. The field is tickers, not ticker; select the price field with column. This tool has no interval parameter:
Both calls depend on Yahoo availability. Passing an array to the single-ticker tool fails schema validation even if older descriptions suggest otherwise.

Generate a Synthetic Series

Call synthetic-data-generator-generate-mean-reverting:
Resolve a returned result_id and extract the numeric series. Analysis tools take those numbers as signal. validate-time-series is the exception: it rejects a plain JSON array and needs the values wrapped in the Series object shown below.

Validate a Small Input

Call validate-time-series with a nested pandas.Series constructor. data here is an object specification, not a raw list:
Four points is only the validator’s minimum. A useful wavelet analysis requires enough history for the chosen wavelet and decomposition level; do not interpret this short example as research evidence.

Pass Object Handles

Create the required objects with -create or their preset tools and inspect the returned handle. A receiver uses handle, while a nested object parameter uses {"__handle__": "<handle>"}. wavelet-analyzer-analyze and wavelet-mean-reversion-strategy-generate-signals return JSON payloads rather than object handles. That limits chaining: wavelet-mean-reversion-strategy-backtest-simple and the visualizers expect a TradingSignal or WaveletAnalysisResult object, so read the returned signal JSON yourself instead of feeding it to them. For wavelet-mean-reversion-strategy-generate-signals, supply the strategy handle and the input signal. Set refit when the strategy should fit the new series instead of reusing its previous fit; check the current schema for the field name.

Results and Limitations

Analysis comes back either as structured JSON or as an object handle. For a handle, read it with the matching tool — wavelet-analysis-result-summary or wavelet-analysis-result-get-statistics-dataframe. Large results are available through result_get. Charts return image data with artifact_type: "image" and mime: "image/png", often inside a stored result. NaN/Inf values are rejected. Save returned analysis separately. A full-series decomposition or in-sample backtest is not automatically causal or out of sample; use time-separated evaluation for research claims. See Shared MCP Tools for artifacts and object handling.