API · PORTFOLIO MATH · HONEST PROBABILITIES
The portfolio math API that doesn’t lie to you.
HRP optimizer. Kelly sizer. Factor scorer. Stress tester. One key. Deterministic math. No hidden fallbacks.
curl -X POST https://api.axistruth.com/v1/optimize-portfolio \
-H "Authorization: Bearer axt_live_..." \
-H "Content-Type: application/json" \
-d '{
"holdings": [
{"symbol":"SPY","weight":0.6},
{"symbol":"AGG","weight":0.4}
],
"method": "hrp"
}'
# 200 OK
{
"weights": {
"SPY": 0.5412,
"AGG": 0.4588
},
"risk_metrics": {
"portfolio_volatility": 0.0823,
"sharpe_estimate": 1.14,
"max_drawdown_estimate": -0.112
},
"method": "hrp"
}
HRP, not naïve 1/N
Hierarchical Risk Parity. Cluster-aware. Robust to correlation regime. Per Lopez de Prado 2016. [ARCHITECTURAL]
Kelly with caps
Configurable cap (default 25%) + kelly-fraction. Never blow up your position size. Per Kelly 1956, Merton 1969. [ARCHITECTURAL]
Factor + stress
5 academic factors + 2008 / 2020 / 2022 stress scenarios. Reproducible math. Per Fama-French 1993. [ARCHITECTURAL]
How it works
From curl to optimized weights in under 60 seconds
STEP 01
Sign up, get key
Email only. Free tier auto-assigned. Key issued in <30 seconds.
STEP 02
POST your holdings
One endpoint. Works with curl, Python, Node, or any HTTP client.
STEP 03
Get optimized weights
HRP / equal-vol / Kelly. Deterministic math. Same inputs always return same outputs.
STEP 04
Stress-test + monitor
4 stress regimes. Factor decomposition. Usage bar in your dashboard.
Capabilities
Eight primitives. One key.
HRP optimizer
Hierarchical Risk Parity allocation with Ledoit-Wolf shrinkage
Equal-vol balance
Equal-volatility weighting when HRP is over-powered for the use case
Kelly position sizer
Continuous + discrete Kelly with configurable cap and fractional Kelly
Fractional Kelly
Half-Kelly and quarter-Kelly modes for conservative sizing
5-factor scorer
Momentum, low-vol, quality, value, size per Fama-French + Jegadeesh-Titman
Stress-test 4 regimes
GFC 2008, COVID 2020, Dotcom 2000, Rising-rates 2022 Monte Carlo
Tail-risk metrics
CVaR / ES at configurable confidence levels per Rockafellar-Uryasev 2002
Walk-forward guard
Look-ahead bias detection flags and stateless compute guarantee
Developer quickstart
Your first call — three lines of curl
No SDK required. Zero dependencies. Works anywhere HTTP works.
curl -X POST https://api.axistruth.com/v1/optimize-portfolio \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"holdings":[{"symbol":"SPY","weight":0.6},{"symbol":"AGG","weight":0.4}],"method":"hrp"}'
Pricing
Start free. Scale when you need to.
Free
$0
100 calls / month
- All 5 core endpoints
- 5 requests / minute
- Best-effort latency
- Docs + community support
Pro
$99/mo
50,000 calls / month
- All 5 core endpoints
- 100 requests / minute
- <300ms p95 latency SLA
- Email support <24h
- Stripe Customer Portal
Enterprise
Custom + SLA
Unlimited calls
- All 5 core + roadmap endpoints
- Custom rate limit
- <150ms p95 + 99.9% uptime
- Slack channel + 4h support
- Custom API key prefix
FAQ
Common questions
What is AxisTruth?
AxisTruth is a commercial REST API for portfolio math primitives: HRP allocation, Kelly position sizing, 5-factor scoring, and Monte Carlo stress testing. You POST a portfolio and GET back mathematically rigorous output — no LLM, no hallucination, no hidden fallbacks.
Important: AxisTruth returns mathematical primitives only. It is not investment advice. You are responsible for any investment decisions made using this output. See Terms of Service.
Is the math academically rigorous?
Yes. HRP per Lopez de Prado (2016) Journal of Portfolio Management 42(4). Kelly with caps per Kelly (1956) and Merton (1969). Factor model per Fama-French (1993) + Jegadeesh-Titman (1993) momentum. Stress simulation per Rockafellar-Uryasev (2002) CVaR. All citations are in the API reference. [ARCHITECTURAL]
How is this different from PyPortfolioOpt?
PyPortfolioOpt is an open-source Python library you run locally. AxisTruth is a hosted, billable, rate-limited REST API. No local Python environment, no infra, no dependency management. Pro tier adds a <300ms p95 latency SLA. You pay for reliability and operational simplicity.
Do you store my holdings?
No. AxisTruth is stateless by default. Holdings POSTed to any endpoint are processed in-memory and discarded immediately after the response is returned. No server-side logging of portfolio composition, ticker symbols, or position sizes at the Free tier.
Can I cancel anytime?
Yes. Stripe Customer Portal handles cancellation, downgrade, and data deletion. No lock-in periods.