loading…
Search for a command to run...
loading…
From idea to edge. Everyone has unique opinions and views of the world. Varrd makes it possible for everyone regardless of statistical, coding, or market knowle
From idea to edge. Everyone has unique opinions and views of the world. Varrd makes it possible for everyone regardless of statistical, coding, or market knowledge to be able to find their unique edge. The issue with LLMs testing for edges in the market is redundant idea loops, overfit with confidence, and waste days exploring nonsense. Varrd is the infrastructure and guardrails to prevent those f
PyPI MCP Transport License MCP Badge
Turn any trading idea into a statistically validated edge in about 3 minutes.
pip install varrd
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.
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 — Neither test passed. No tradeable signal found.
You found out for 25 cents instead of $25,000 in live losses.
Both are valuable results.
Because testing trading ideas properly is really hard to get right, and there are a dozen ways to accidentally produce fake results that look great but lose money in production.
An LLM by itself will happily write you a backtest, show you a beautiful equity curve, and tell you it has a 70% win rate. The problem: none of it is real. The LLM doesn't have market data, doesn't have a testing environment, and has no guardrails preventing it from overfitting, cherry-picking, or just making numbers up.
Even if you give an LLM real data (like in Claude Code or Cursor), it still can't do this properly. Here's why:
What can go wrong when testing trading ideas — and what VARRD handles:
An LLM is a brain without a lab. It can reason about trading ideas, but it can't test them in a controlled environment. VARRD is the lab — purpose-built infrastructure where every test is tracked, every result is verified, and the dozen ways to accidentally cheat are blocked at the system level, not the prompt level.
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}")
# Morning briefing — today's news connected to your specific edges
b = v.briefing()
print(b.news)
# "**ES selling accelerates into the open** Three consecutive lower highs..."
# "↳ Your ES mean-reversion setups are live territory here..."
# Let VARRD discover edges autonomously
result = v.discover("mean reversion on futures")
print(result.edge_verdict, result.market, result.win_rate)
# 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
# Personalized market briefing — news filtered to your edge library
varrd briefing
# Search saved strategies
varrd search "momentum on grains"
# Let VARRD discover edges on its own
varrd discover "mean reversion on futures"
Option 1 — Direct HTTP (Claude Code, Cursor, OpenBB):
{
"mcpServers": {
"varrd": {
"transport": {
"type": "streamable-http",
"url": "https://app.varrd.com/mcp"
}
}
}
}
Option 2 — via mcp-remote (Claude Desktop, any stdio client):
{
"mcpServers": {
"varrd": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.varrd.com/mcp"]
}
}
}
No API key needed. Then just ask: "Is there a pattern when gold spikes after a Fed rate decision?"
VARRD plugs directly into OpenBB Workspace as an MCP server:
https://app.varrd.com/mcpOpenBB gives you the data. VARRD tells you if your idea has an edge.
VARRD validates that your strategy has a real edge before you deploy it. Works with any bot:
from varrd import VARRD
from varrd.freqtrade import generate_strategy
v = VARRD()
result = v.discover("RSI oversold reversal on BTC")
if result.has_edge:
hyp = v.get_hypothesis(result.hypothesis_id)
strategy_code, config = generate_strategy(hyp)
# Drop into your bot's strategies/ folder and run it
| Bot | How VARRD plugs in |
|---|---|
| Freqtrade | varrd.freqtrade generates ready-to-run IStrategy files with ATR stops |
| Jesse | varrd.jesse generates ready-to-run Strategy files with ATR stops |
| Hummingbot | Validate directional signals before deploying to market-making |
| OctoBot | Pre-validate any tentacle strategy through VARRD's MCP server |
| NautilusTrader | Statistical edge validation before live deployment |
The pattern: validate first, deploy second. Most strategies don't survive statistical testing — better to find out for $0.25 than $25,000.
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()
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?"}
]})
# Any MCP-compatible client can connect to:
https://app.varrd.com/mcp
# Transport: Streamable HTTP | No auth required | $2 free credits
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. |
| 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.
| 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. |
See examples/ for runnable scripts:
See AGENTS.md for the complete integration guide — tool reference, response formats, authentication, and workflow patterns.
https://app.varrd.com/mcpДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"varrd": {
"command": "npx",
"args": []
}
}
}