GuidaAPI & MCP · ADVANCED

List risk condition presets

Lists the ready-made risk conditions a strategy can switch on — the VIX, the VIX ratio, TIPS, the yield-curve rules, the S&P 500 against its 200-day average and its 12-month momentum — each with the rule it applies: the indicator, the risk-off and risk-on thresholds, the weeks of delay and which values you may change. On request it also lists the rule types a custom risk condition can use.

UPDATED 2026-10-01REVIEWED 2026-10-016 MINENIT

Operation id: list_risk_rule_presets — REST POST /api/v1/research/list_risk_rule_presets, MCP tool list_risk_rule_presets.

When should you use List risk condition presets?

  • The user asks which risk-off signals Fincanva has, or how a named one decides.
  • Before setting a risk condition on a strategy, to start from a preset.

Use another operation when:

  • You need the bounds of every risk-condition field to write a custom condition — use describe_portfolio_model instead.

What parameters does List risk condition presets take?

  • group (optional; string; one of volatility, yield_curve, inflation, sp500) — Only the presets of this group: volatility, yield_curve, inflation or sp500. Left out, every preset is listed.
  • includeRuleTypes (optional; boolean; default false) — When true, the result also lists the rule types a custom risk condition can use.

What does List risk condition presets return?

The result object holds the fields below. Every result also carries a text summary, the assumed values and the dataVersion, as the reference describes.

  • presets (list) — The matching presets, in the order the app lists them.
  • presets[].id (string) — The preset's stable public id, in snake_case.
  • presets[].name (string; at least 1 characters) — The preset's name as the app shows it.
  • presets[].group (string; one of volatility, yield_curve, inflation, sp500) — The preset's group: volatility, yield_curve, inflation or sp500.
  • presets[].description (string; at least 1 characters) — The app's description of what the preset watches and when it turns risk-off.
  • presets[].ruleType (string; one of single_series, double_series) — single_series compares one series with thresholds; double_series compares a series with another series or with its own indicator.
  • presets[].indicator (object) — The indicator applied to the series before it is compared.
  • presets[].indicator.kind (string; one of none, sma, change, average_momentum) — none (the series as it is), sma (a simple moving average), change (the change over a number of months) or average_momentum.
  • presets[].indicator.value (number; may be null; unit: the unit of what it describes) — The indicator's window: trading days for sma, months for change and average_momentum, null for none. (convention native_unit)
  • presets[].riskOff (object; may be null) — When the condition turns risk-off, or null for a crossing rule.
  • presets[].riskOff.operator (string; one of above, below) — above or below: the regime holds while the series is above or below the threshold.
  • presets[].riskOff.value (number; unit: the unit of what it describes) — The risk-off threshold, in the unit of the series the preset reads. (convention native_unit)
  • presets[].riskOn (object; may be null) — When the condition turns back risk-on, or null for a crossing rule.
  • presets[].riskOn.operator (string; one of above, below) — above or below: the regime holds while the series is above or below the threshold.
  • presets[].riskOn.value (number; unit: the unit of what it describes) — The risk-on threshold, in the unit of the series the preset reads. (convention native_unit)
  • presets[].crossing (object; may be null) — For a double_series preset, the comparison with the second series; null otherwise.
  • presets[].crossing.operator (string; one of above, below) — above or below: the regime holds while the series is above or below the comparison indicator.
  • presets[].crossing.against (object) — The indicator the series is compared against.
  • presets[].crossing.against.kind (string; one of none, sma, change, average_momentum) — The comparison indicator's kind, as in indicator.kind.
  • presets[].crossing.against.value (number; may be null; unit: the unit of what it describes) — The comparison indicator's window, as in indicator.value. (convention native_unit)
  • presets[].weeksOfDelay (integer; at least 0; unit: weeks) — How many weeks the condition waits before acting on a switch.
  • presets[].switchRebalances (boolean) — True when a switch triggers a rebalance at once.
  • presets[].editable (list) — The values you may change while keeping the preset: riskOffOperator, riskOffValue, riskOnOperator, riskOnValue, indicatorValue.
  • ruleTypes (list; may be null) — The rule types a custom risk condition can use, or null unless includeRuleTypes was true.
  • ruleTypes[].id (string; one of single_series, double_series, hidden_markov, clustering, portfolio_based) — single_series, double_series, hidden_markov, clustering or portfolio_based.
  • ruleTypes[].name (string; at least 1 characters) — The rule type's name as the app shows it.
  • ruleTypes[].detects (string; at least 1 characters) — What the rule type detects, in one sentence.

What does a call to List risk condition presets look like?

The presets that watch volatility

Asked as: Which risk-off signals based on volatility does Fincanva have?

# Caller on the advanced plan
POST /api/v1/research/list_risk_rule_presets
Authorization: Bearer <API key or access token>
Content-Type: application/json

{
  "group": "volatility"
}

The result:

{
  "presets": [
    {
      "id": "vix_ratio",
      "name": "VIX ratio",
      "group": "volatility",
      "description": "Ratio of short-term (VIX) to medium-term (VXV) implied volatility. Risk-Off when the short term exceeds the medium term.",
      "ruleType": "single_series",
      "indicator": {
        "kind": "none",
        "value": null
      },
      "riskOff": {
        "operator": "above",
        "value": 1
      },
      "riskOn": {
        "operator": "below",
        "value": 0.95
      },
      "crossing": null,
      "weeksOfDelay": 0,
      "switchRebalances": false,
      "editable": [
        "riskOffOperator",
        "riskOffValue",
        "riskOnOperator",
        "riskOnValue"
      ]
    },
    {
      "id": "vix",
      "name": "VIX",
      "group": "volatility",
      "description": "CBOE volatility index level. Risk-Off when volatility exceeds the threshold.",
      "ruleType": "single_series",
      "indicator": {
        "kind": "none",
        "value": null
      },
      "riskOff": {
        "operator": "above",
        "value": 25
      },
      "riskOn": {
        "operator": "below",
        "value": 20
      },
      "crossing": null,
      "weeksOfDelay": 0,
      "switchRebalances": false,
      "editable": [
        "riskOffOperator",
        "riskOffValue",
        "riskOnOperator",
        "riskOnValue"
      ]
    }
  ],
  "ruleTypes": null
}

The summary it returns:

2 risk condition presets in the volatility group: VIX ratio and VIX.

The values it assumed, because the request left them out:

  • /includeRuleTypes = false — the rule types were not asked for, so they are not listed

What goes wrong most often with List risk condition presets?

  • A preset's thresholds are in the unit of the series it reads — index points for the VIX, a plain ratio for the VIX ratio — not fractions.
  • riskOff and riskOn are two thresholds, not one: the gap between them keeps the condition from flipping back and forth around a single level.
  • Only the values listed in editable can change while the preset stays a preset; the rest of its rule is fixed.

Which error codes can List risk condition presets return?

List risk condition presets has no error codes of its own beyond the common ones.

Every operation can also return the common error codes listed in the reference.

Which plans include List risk condition presets?

List risk condition presets belongs to the Strategy authoring family of operations and counts as one research call against your plan's monthly allowance. Which families your plan includes, and how large its allowances are, is set out in What each plan includes.

Terms on this page

Auto-generated

Every defined term this page uses, matched against the corpus — including the alias forms the prose actually says.

Fincanva is for education and illustration only. It is not personalised financial advice, and past or simulated results do not predict future ones. Read the Terms Addendum

DOCS · EN — IT