Connect Your AI to Institutional Math
FolioForecast is the engine. Your AI is the pilot. Connect ChatGPT, Claude, or any agent to 165,000+ tickers and 15+ optimization strategies via MCP or REST API.
We're the Calculator
Portfolio optimization, backtesting, risk metrics, Monte Carlo — the institutional math.
Your AI is the Advisor
ChatGPT, Claude, or your custom agent interprets results and provides personalized guidance.
Connected via MCP/API
Model Context Protocol or REST API. Your AI calls our engine, gets structured data, and reasons over it.
Why BYOAI?
Other platforms lock you into their AI. We let you use yours — because your AI knows you better than ours ever could.
💬 "Analyze my portfolio like a CFA would"
Your AI calls our optimize endpoint, gets Sharpe ratios and efficient frontier data, then explains it in your preferred style.
📊 "Compare three allocation strategies"
One API call runs Max Sharpe, Min Volatility, and Risk Parity simultaneously. Your AI builds the narrative.
🔍 "Find me assets I'm missing"
Our screener endpoint searches 165,000+ tickers. Your AI filters and recommends based on your criteria.
Setup Guide
Get connected in under 5 minutes.
Get Your API Key
Sign up at FolioForecast (free tier works), go to Settings → API Keys, and generate a key.
Add to Claude Desktop (or any MCP client)
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"folioforecast": {
"url": "https://www.folioforecast.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer ff_your_key_here"
}
}
}
}
Start Asking Questions
Claude now has access to FolioForecast's full optimization engine. Just ask naturally:
"Optimize my portfolio: AAPL 30%, MSFT 25%, BND 25%, GLD 20%" "What's the maximum Sharpe ratio portfolio for these 10 tech stocks?" "Run a crisis scenario — what happens to my portfolio in a 2008-style crash?" "Compare my allocation vs an equal-weight version"
Authentication
Include your API key in the Authorization header:
curl -X POST https://www.folioforecast.com/api/v1/optimize \
-H "Authorization: Bearer ff_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"tickers": ["AAPL", "MSFT", "BND", "GLD"],
"user_weights": {"AAPL": 0.30, "MSFT": 0.25, "BND": 0.25, "GLD": 0.20},
"optimization_goal": "max_sharpe"
}'
Available Endpoints
Quick Start with Python
import requests
API_KEY = "your_api_key_here"
BASE = "https://www.folioforecast.com/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
# Optimize a portfolio
resp = requests.post(f"{BASE}/optimize", headers=headers, json={
"tickers": ["AAPL", "MSFT", "GOOGL", "BND", "GLD"],
"optimization_goal": "max_sharpe"
})
result = resp.json()
print(f"Sharpe Ratio: {result['sharpe_ratio']:.2f}")
print(f"Expected Return: {result['expected_return']:.1%}")
print(f"Volatility: {result['volatility']:.1%}")
print("Optimal Weights:")
for ticker, weight in result['weights'].items():
print(f" {ticker}: {weight:.1%}")
Compare Multiple Strategies
# Compare 3 optimization strategies at once
resp = requests.post(f"{BASE}/optimize/compare", headers=headers, json={
"tickers": ["AAPL", "MSFT", "GOOGL", "BND", "GLD", "VNQ"],
"strategies": ["max_sharpe", "min_volatility", "risk_parity"]
})
for strategy in resp.json()["results"]:
print(f"\n--- {strategy['strategy']} ---")
print(f"Return: {strategy['expected_return']:.1%}")
print(f"Risk: {strategy['volatility']:.1%}")
print(f"Sharpe: {strategy['sharpe_ratio']:.2f}")
API Access Tiers
| Tier | Price | Requests/mo | Max Assets | Strategies |
|---|---|---|---|---|
| Free | $0 | 50 | 10 | Basic (Max Sharpe, Min Vol) |
| Individual | $8/mo | 500 | 50 | All 15+ strategies |
| Advisor | $50/mo | 5,000 | Unlimited | All + batch + priority |
Your AI. Our Math. Your Edge.
Get your free API key in 30 seconds. No credit card required.
Get Your API Key — Free