Skip to main content
Core Platform

Generate an evidence-sealed synthetic counterfactual market scenario for a portfolio

POST /investment/portfolios/{portfolio}/generative-markets

Contract

Uses an approved FinanceGPT time-series generative model to produce multi-step market-factor paths, then deterministically derives yield, credit, volatility and FX curve views and applies terminal factor states only through verified portfolio/security sensitivities. Sample quantiles are descriptive statistics over generated counterfactuals, not probabilities, forecasts or confidence intervals. Outputs are synthetic and never execution eligible.

Authentication
Bearer credential required
Required scope
investment:run
Status
Published

Parameters

Name Location Type Required Description
portfolio path string Yes

Request body

application/json · required
{
    "regime": "contraction",
    "sample_count": 8,
    "horizon": 6,
    "seed": 42,
    "base_volatility_pct": 20,
    "base_rate_pct": 4,
    "yield_curve_slope_bps_per_year": 20,
    "base_credit_spread_bps": 150,
    "credit_curve_slope_bps_per_year": 10,
    "base_fx_level": 1,
    "stress": {
        "equity_pct": -100,
        "fx_pct": -100,
        "rates_bps": -10000,
        "credit_bps": -10000,
        "commodity_pct": -100,
        "volatility_pct": -100
    }
}

Code examples

These examples compose a request only. Public reference pages never transmit your credential or execute the operation.

curl

curl -X POST \
  -H "Authorization: Bearer $FINANCEGPT_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "regime": "contraction",
    "sample_count": 8,
    "horizon": 6,
    "seed": 42,
    "base_volatility_pct": 20,
    "base_rate_pct": 4,
    "yield_curve_slope_bps_per_year": 20,
    "base_credit_spread_bps": 150,
    "credit_curve_slope_bps_per_year": 10,
    "base_fx_level": 1,
    "stress": {
        "equity_pct": -100,
        "fx_pct": -100,
        "rates_bps": -10000,
        "credit_bps": -10000,
        "commodity_pct": -100,
        "volatility_pct": -100
    }
}' \
  "https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/generative-markets"

javascript

const response = await fetch("https:\/\/financegpt.dev\/api\/v2\/investment\/portfolios\/{portfolio}\/generative-markets", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${FINANCEGPT_API_KEY}`,
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "regime": "contraction",
    "sample_count": 8,
    "horizon": 6,
    "seed": 42,
    "base_volatility_pct": 20,
    "base_rate_pct": 4,
    "yield_curve_slope_bps_per_year": 20,
    "base_credit_spread_bps": 150,
    "credit_curve_slope_bps_per_year": 10,
    "base_fx_level": 1,
    "stress": {
        "equity_pct": -100,
        "fx_pct": -100,
        "rates_bps": -10000,
        "credit_bps": -10000,
        "commodity_pct": -100,
        "volatility_pct": -100
    }
}),
});
const data = await response.json();

python

import json
import os
import requests

response = requests.request(
    'POST',
    'https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/generative-markets',
    headers={
        'Authorization': 'Bearer ' + os.environ['FINANCEGPT_API_KEY'],
        'Accept': 'application/json',
    },
    json=json.loads('{"regime":"contraction","sample_count":8,"horizon":6,"seed":42,"base_volatility_pct":20,"base_rate_pct":4,"yield_curve_slope_bps_per_year":20,"base_credit_spread_bps":150,"credit_curve_slope_bps_per_year":10,"base_fx_level":1,"stress":{"equity_pct":-100,"fx_pct":-100,"rates_bps":-10000,"credit_bps":-10000,"commodity_pct":-100,"volatility_pct":-100}}'),
)
response.raise_for_status()
print(response.json())

php

<?php
$ch = curl_init('https://financegpt.dev/api/v2/investment/portfolios/{portfolio}/generative-markets');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('FINANCEGPT_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(array (
  'regime' => 'contraction',
  'sample_count' => 8,
  'horizon' => 6,
  'seed' => 42,
  'base_volatility_pct' => 20,
  'base_rate_pct' => 4,
  'yield_curve_slope_bps_per_year' => 20,
  'base_credit_spread_bps' => 150,
  'credit_curve_slope_bps_per_year' => 10,
  'base_fx_level' => 1,
  'stress' => 
  array (
    'equity_pct' => -100,
    'fx_pct' => -100,
    'rates_bps' => -10000,
    'credit_bps' => -10000,
    'commodity_pct' => -100,
    'volatility_pct' => -100,
  ),
)),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

Status Description
201 Evidence-sealed synthetic generative market run with paths
422 Invalid conditioning input
503 Approved generative model

Authority boundary

A developer credential proves application identity and permits only its scopes. It does not grant model promotion, policy override, QLM rebinding, or Financial Actions execution authority unless those separate controls are satisfied.

investment:run

Machine-readable sources