Trading edge discovery. Test any idea with real market data.
Project description
VARRD
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:
quick_start.py— 5 lines to scan all strategiesresearch_idea.py— Full multi-turn research workflowmulti_idea_loop.py— Test many ideas in a loopscan_portfolio.py— Portfolio scan with trade levelsmcp_config.json— MCP config for Claude Desktop / Cursor
For AI agent builders
See AGENTS.md for the complete integration guide — tool reference, response formats, authentication, and workflow patterns.
Links
- Web app: app.varrd.com
- Website: varrd.com
- MCP endpoint:
https://app.varrd.com/mcp - PyPI: pypi.org/project/varrd
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c88c224dc969f3f1adccd52be134a2c9242a51994634ba207bf87faee7320bf6
|
|
| MD5 |
0730d6aa7a2890c65e675228c288bc3b
|
|
| BLAKE2b-256 |
29bb65dc8f8c0a5a35866ca4ab38e8686798078809ad50ea763a88f514e07a7a
|
Provenance
The following attestation bundles were made for varrd-0.3.0.tar.gz:
Publisher:
publish.yml on augiemazza/varrd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
varrd-0.3.0.tar.gz -
Subject digest:
c88c224dc969f3f1adccd52be134a2c9242a51994634ba207bf87faee7320bf6 - Sigstore transparency entry: 1060234095
- Sigstore integration time:
-
Permalink:
augiemazza/varrd@c7b51e6a95d80e14dc0e8d895516abf0f2f88c16 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/augiemazza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c7b51e6a95d80e14dc0e8d895516abf0f2f88c16 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57a4e1dd3dcc3107dc2569fef18dee74c4d3ca456060ee758bd0699baac4c021
|
|
| MD5 |
180a3f51886a95752f0de48877ab67fa
|
|
| BLAKE2b-256 |
b5a0d87dbe8748cc95e1b0b069bf01169ce10663deec59fff38f06e72423f6f1
|
Provenance
The following attestation bundles were made for varrd-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on augiemazza/varrd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
varrd-0.3.0-py3-none-any.whl -
Subject digest:
57a4e1dd3dcc3107dc2569fef18dee74c4d3ca456060ee758bd0699baac4c021 - Sigstore transparency entry: 1060234099
- Sigstore integration time:
-
Permalink:
augiemazza/varrd@c7b51e6a95d80e14dc0e8d895516abf0f2f88c16 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/augiemazza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c7b51e6a95d80e14dc0e8d895516abf0f2f88c16 -
Trigger Event:
release
-
Statement type: