Skip to main content

Trading edge discovery. Test any idea with real market data.

Project description

VARRD

PyPI MCP Transport License

Turn any trading idea into a statistically validated edge — or find out it doesn't work for $0.25.

pip install varrd

Ask it anything

varrd research "Does buying SPY after a 3-day losing streak actually work?"

varrd research "When VIX spikes above 30, is there a bounce in ES?"

varrd research "Is there a seasonal pattern in wheat before harvest?"

varrd research "What happens to gold when the dollar drops 3 days straight?"

varrd research "Does Bitcoin rally after the halving?"

varrd research "When crude oil drops 5% in a week, what happens next?"

Every question gets real data, a chart with signals marked, a statistical test, and a definitive answer.

What you get back

Edge found

STRONG EDGE — Statistically significant vs both zero and market baseline.

  Direction:    LONG
  Win Rate:     62%
  Sharpe:       1.45
  Signals:      247

  Trade Setup:
    Entry:       $5,150.25
    Stop Loss:   $5,122.00
    Take Profit: $5,192.50
    Risk/Reward: 1:1.5

No edge

NO EDGE — Neither test passed. No tradeable signal found.

You found out for 25 cents instead of $25,000 in live losses.

Both are valuable results.


How it works

Your idea (plain English)
     ↓
  Load real market data — stocks, futures, crypto
     ↓
  Chart the pattern — see actual signals on price history
     ↓
  You approve — sanity check before spending statistical power
     ↓
  Statistical test — event study with proper controls
     ↓
  Verdict:  STRONG EDGE / MARGINAL / NO EDGE
     ↓
  Trade setup — exact entry, stop-loss, take-profit in dollars

A typical session is 3–5 turns and costs ~$0.25.


Quick start — Python

from varrd import VARRD

v = VARRD()  # auto-creates free account, $2 in credits

# Research a trading idea
r = v.research("When RSI drops below 25 on ES, is there a bounce?")
r = v.research("test it", session_id=r.session_id)

print(r.context.edge_verdict)  # "STRONG EDGE" / "NO EDGE"

# Get exact trade levels
r = v.research("show me the trade setup", session_id=r.session_id)
# What's firing right now across all your strategies?
signals = v.scan(only_firing=True)
for s in signals.results:
    print(f"{s.name}: {s.direction} {s.market} @ ${s.entry_price}")
# Let VARRD discover edges autonomously
result = v.discover("mean reversion on futures")
print(result.edge_verdict, result.market, result.win_rate)

Quick start — CLI

# Full research workflow (auto-follows chart → test → trade setup)
varrd research "When wheat drops 3 days in a row, is there a snap-back?"

# What's firing right now?
varrd scan --only-firing

# Search saved strategies
varrd search "momentum on grains"

# Let VARRD discover edges on its own
varrd discover "mean reversion on futures"

Use with AI agents

Claude Desktop / Claude Code / Cursor

Add to your MCP config — no API key needed:

{
  "mcpServers": {
    "varrd": {
      "transport": {
        "type": "streamable-http",
        "url": "https://app.varrd.com/mcp"
      }
    }
  }
}

Then just ask: "Is there a pattern when gold spikes after a Fed rate decision?"

CrewAI

from crewai import Agent, Task, Crew

researcher = Agent(
    role="Trading Researcher",
    goal="Find statistically validated trading edges",
    backstory="You are a quantitative researcher who tests trading ideas rigorously.",
    mcps=[{"type": "streamable-http", "url": "https://app.varrd.com/mcp"}]
)

task = Task(
    description="Research whether RSI oversold conditions on ES lead to a bounce within 5 days.",
    agent=researcher,
    expected_output="Edge verdict with trade setup if edge is found."
)

crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()

LangChain / LangGraph

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic

model = ChatAnthropic(model="claude-sonnet-4-20250514")

async with MultiServerMCPClient({
    "varrd": {"url": "https://app.varrd.com/mcp", "transport": "streamable_http"}
}) as client:
    agent = create_react_agent(model, client.get_tools())
    result = await agent.ainvoke({"messages": [
        {"role": "user", "content": "Does gold rally when the dollar drops 3 days in a row?"}
    ]})

Raw MCP (any client)

# Any MCP-compatible client can connect to:
https://app.varrd.com/mcp
# Transport: Streamable HTTP | No auth required | $2 free credits

8 statistical guardrails (infrastructure-enforced)

Every test runs through these automatically. You can't skip them.

Guardrail What It Prevents
K-Tracking Tests 50 variations of the same idea? Significance bar goes up automatically.
Bonferroni Correction Multiple comparison penalty. No p-hacking.
OOS Lock Out-of-sample is one shot. Can't re-run after seeing results.
Lookahead Detection Catches formulas that accidentally use future data.
Tools Calculate, AI Interprets Every number comes from real data. AI never fabricates stats.
Chart → Approve → Test You see and approve the pattern before spending statistical power.
Fingerprint Dedup Can't retest the same formula/market/horizon twice.
No Post-OOS Optimization Parameters lock after out-of-sample validates.

Data coverage

Asset Class Markets Timeframes
Futures (CME) ES, NQ, CL, GC, SI, ZW, ZC, ZS, ZB, TY, HG, NG + 20 more 1h and above
Stocks / ETFs Any US equity Daily
Crypto (Binance) BTC, ETH, SOL + more 10min and above

15,000+ instruments total.

MCP tools

Tool Cost What It Does
research ~$0.25 Multi-turn quant research. Orchestrates 15 internal tools.
autonomous_research ~$0.25 AI discovers edges for you. Give it a topic, get validated results.
scan Free Scan strategies against live data. Fresh entry/stop/target prices.
search Free Find strategies by keyword or natural language.
get_hypothesis Free Full details on any strategy.
check_balance Free View credits and available packs.
buy_credits Free Buy credits with USDC on Base or Stripe.
reset_session Free Kill a broken session and start fresh.

Pricing

  • $2 free on signup — enough for 6–8 research sessions
  • Research: ~$0.20–0.30 per idea tested
  • Discovery (autonomous): ~$0.20–0.30
  • ELROND council (8 expert investigators): ~$0.40–0.60
  • Multi-market (3+ markets): ~$1
  • Scan, search, balance: Always free
  • Credit packs: $5 / $20 / $50 via Stripe
  • Credits never expire

Examples

See examples/ for runnable scripts:

For AI agent builders

See AGENTS.md for the complete integration guide — tool reference, response formats, authentication, and workflow patterns.


Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

varrd-0.3.0.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

varrd-0.3.0-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file varrd-0.3.0.tar.gz.

File metadata

  • Download URL: varrd-0.3.0.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for varrd-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c88c224dc969f3f1adccd52be134a2c9242a51994634ba207bf87faee7320bf6
MD5 0730d6aa7a2890c65e675228c288bc3b
BLAKE2b-256 29bb65dc8f8c0a5a35866ca4ab38e8686798078809ad50ea763a88f514e07a7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for varrd-0.3.0.tar.gz:

Publisher: publish.yml on augiemazza/varrd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file varrd-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: varrd-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for varrd-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57a4e1dd3dcc3107dc2569fef18dee74c4d3ca456060ee758bd0699baac4c021
MD5 180a3f51886a95752f0de48877ab67fa
BLAKE2b-256 b5a0d87dbe8748cc95e1b0b069bf01169ce10663deec59fff38f06e72423f6f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for varrd-0.3.0-py3-none-any.whl:

Publisher: publish.yml on augiemazza/varrd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page