Execution & Research

Execute trades with precision analytics and research complex scenarios. Our execution planner endpoints model TWAP/VWAP cost structures with real market impact, while our research tools simulate financial projections and detect correlated moves.

What's inside#

Execution analytics grounds trading plans in real price dynamics: TWAP and VWAP child-order schedules calibrated to historical U-curves, estimated all-in trading costs (spread + impact + commissions) via the square-root impact model, and smart venue routing across lit/dark/algo pools. All pre-trade, no order submission.

Research tools power deep financial analysis: DCF-style scenario projection (bull/base/bear) with deterministic arithmetic across configurable horizons, and correlation mesh detection of 36-month realized-return cohesion to answer "what moves with X" across depth.

Built from real-time and historical liquidity tables, historical slippage sidecar (Polygon), dark-pool prints (Unusual Whales), and 36-month returns correlation sidecar.

Access#

4 credits/call, Pro and up.

Endpoints#

MethodPathDescription
GET/api/v3/execution/cost_estimate/{ticker}Expected all-in trading cost (spread + impact + commission)
GET/api/v3/execution/twap_plan/{ticker}TWAP child-order schedule (even slicing over N minutes)
GET/api/v3/execution/vwap_plan/{ticker}VWAP child-order schedule (U-curve bucketing)
GET/api/v3/execution/smart_route/{ticker}Recommended venue mix (lit / dark / algo)
POST/api/v3/research/scenario_simulatorDCF projection: bull/base/bear scenarios with math trail
GET/api/v3/research/correlation_mesh36-month correlation mesh: "what moves with X"

Examples#

TWAP execution plan:

Shell
1curl -H "Authorization: Bearer $TENGU_API_KEY" \2  "https://firm.tengu.co/api/v3/execution/twap_plan/AAPL?qty=50000&minutes=120"
Python
1import requests2 3resp = requests.get(4    "https://firm.tengu.co/api/v3/execution/twap_plan/AAPL",5    params={"qty": 50000, "minutes": 120},6    headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},7)8data = resp.json()  # {"ok": true, "timestamp": ..., "ticker": "AAPL", "algorithm": "TWAP", "total_qty": 50000, "duration_min": 120, "n_slices": 60, "schedule": [...]}9print(data["schedule"][:3])  # First 3 time slices

Scenario simulation (DCF projection):

Shell
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.tengu.co/api/v3/research/scenario_simulator"
Python
1import requests2 3resp = requests.post(4    "https://firm.tengu.co/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)23data = resp.json()24# Response: {"ok": true, "timestamp": ..., "ticker": "TSLA", "current": {...}, "horizon_quarters": 4, "results": {"bull": {...}, "base": {...}, "bear": {...}}, "summary": {"expected_value_price": ..., "skew": "bullish"}}25print(data["results"]["bull"]["projected_price"])26print(data["summary"]["expected_value_price"])