Products
Execution & Research
Execution & Research provides planning and scenario routes. It does not submit orders.
Available calculations and limits#
VWAP allocates whole shares using the observed minute-by-minute volume of one
completed US equity session. Pass reference_date=YYYY-MM-DD, or omit it for the
last completed session, and minutes_per_slice (1–60; default 30). The response
names the session, observation time, minute coverage, and source snapshot hash.
Every session minute must have an observed bar; missing evidence is not filled
with an assumed curve. Holidays and early closes use the exchange calendar.
The profile describes that historical session. It is not a forecast or a fill
guarantee.
TWAP produces an arithmetic schedule from your quantity and duration. It does not prove that the order can execute at a given price or participation rate. Scenario projections calculate outcomes from supplied assumptions; they are not forecasts or verified trading outcomes.
Calibrated cost estimates and smart routing stay unavailable until timestamped
market quotes, account fees, routing evidence, and calibrated fills are bound.
Both routes return 503 capability_data_unavailable (body status is
unavailable_data_pending, retryable is false), read no data, and consume no
credits. VWAP returns a 503 whose status is unavailable_symbol_volume_curve
without an empirical symbol volume curve; that body has no error field, and
retrying helps only when its retryable is true. These unavailable outputs do
not fulfill an execution-data request.
Access#
4 credits for a billable product call, Pro and up. Quarantined data_pending routes have a zero-credit policy.
Endpoints#
| Method | Path | Description |
|---|---|---|
| GET | /api/v3/execution/cost_estimate/{ticker} | Unavailable until market, fee, and calibration inputs are bound |
| GET | /api/v3/execution/twap_plan/{ticker} | Arithmetic TWAP schedule (even slicing over N minutes) |
| GET | /api/v3/execution/vwap_plan/{ticker} | Historical volume-weighted allocation from a complete observed session |
| GET | /api/v3/execution/smart_route/{ticker} | Unavailable until venue-liquidity evidence is bound |
| POST | /api/v3/research/scenario_simulator | DCF projection: bull/base/bear scenarios with math trail |
| GET | /api/v3/research/correlation_mesh | 36-month correlation mesh: "what moves with X" |
Examples#
Historical VWAP scenario:
1curl --fail-with-body --max-time 30 \2 -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.wealthnow.io/api/v3/execution/vwap_plan/AAPL?qty=100&minutes_per_slice=30"Check status, reference_date, data_as_of, and observed_minutes before
using the schedule. Positive child quantities sum exactly to total_qty.
Incomplete or conflicting tape returns 503 and consumes no credits.
TWAP execution plan:
1curl -H "Authorization: Bearer $TENGU_API_KEY" \2 "https://firm.wealthnow.io/api/v3/execution/twap_plan/AAPL?qty=50000&minutes=120"1import os, requests2 3resp = requests.get(4 "https://firm.wealthnow.io/api/v3/execution/twap_plan/AAPL",5 params={"qty": 50000, "minutes": 120},6 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},7 timeout=30,8)9resp.raise_for_status()10data = resp.json() # {"ok": true, "timestamp": ..., "ticker": "AAPL", "algorithm": "TWAP", "total_qty": 50000, "duration_min": 120, "n_slices": 60, "schedule": [...]}11print(data["schedule"][:3]) # First 3 time slicesScenario simulation (DCF projection):
1curl -X POST -H "Authorization: Bearer $TENGU_API_KEY" \2 -H "Content-Type: application/json" \3 -d '{4 "ticker": "TSLA",5 "current": {6 "revenue_ttm": 95000000000,7 "eps_ttm": 2.10,8 "shares_outstanding": 3180000000,9 "current_price": 372.0410 },11 "horizon_quarters": 4,12 "scenarios": {13 "bull": {"revenue_growth_pct": 25, "net_margin_pct": 15, "exit_pe_multiple": 80},14 "base": {"revenue_growth_pct": 12, "net_margin_pct": 9, "exit_pe_multiple": 50},15 "bear": {"revenue_growth_pct": 0, "net_margin_pct": 5, "exit_pe_multiple": 25}16 },17 "scenario_probabilities": {"bull": 0.25, "base": 0.50, "bear": 0.25}18 }' \19 "https://firm.wealthnow.io/api/v3/research/scenario_simulator"1import os, requests2 3resp = requests.post(4 "https://firm.wealthnow.io/api/v3/research/scenario_simulator",5 json={6 "ticker": "TSLA",7 "current": {8 "revenue_ttm": 95_000_000_000,9 "eps_ttm": 2.10,10 "shares_outstanding": 3_180_000_000,11 "current_price": 372.04,12 },13 "horizon_quarters": 4,14 "scenarios": {15 "bull": {"revenue_growth_pct": 25, "net_margin_pct": 15, "exit_pe_multiple": 80},16 "base": {"revenue_growth_pct": 12, "net_margin_pct": 9, "exit_pe_multiple": 50},17 "bear": {"revenue_growth_pct": 0, "net_margin_pct": 5, "exit_pe_multiple": 25},18 },19 "scenario_probabilities": {"bull": 0.25, "base": 0.50, "bear": 0.25},20 },21 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},22 timeout=30,23)24resp.raise_for_status()25data = resp.json()26# Response: {"ok": true, "timestamp": ..., "ticker": "TSLA", "current": {...}, "horizon_quarters": 4, "results": {"bull": {...}, "base": {...}, "bear": {...}}, "summary": {"expected_value_price": ..., "skew": "bullish"}}27print(data["results"]["bull"]["projected_price"])28print(data["summary"]["expected_value_price"])Related#
- API reference — full endpoint catalog
- Pricing & credits — plan tiers and cost details
- Skills in the API reference: TA Master (
/api/v3/skills/ta_master/{ticker}); Apex Equity and Trading Plan are listed inGET /api/capabilities