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_modelinstead.
What parameters does List risk condition presets take?
group(optional; string; one ofvolatility,yield_curve,inflation,sp500) — Only the presets of this group:volatility,yield_curve,inflationorsp500. Left out, every preset is listed.includeRuleTypes(optional; boolean; defaultfalse) — 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 ofvolatility,yield_curve,inflation,sp500) — The preset's group:volatility,yield_curve,inflationorsp500.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 ofsingle_series,double_series) —single_seriescompares one series with thresholds;double_seriescompares 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 ofnone,sma,change,average_momentum) —none(the series as it is),sma(a simple moving average),change(the change over a number of months) oraverage_momentum.presets[].indicator.value(number; may be null; unit: the unit of what it describes) — The indicator's window: trading days forsma, months forchangeandaverage_momentum, null fornone. (conventionnative_unit)presets[].riskOff(object; may be null) — When the condition turns risk-off, or null for a crossing rule.presets[].riskOff.operator(string; one ofabove,below) —aboveorbelow: 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. (conventionnative_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 ofabove,below) —aboveorbelow: 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. (conventionnative_unit)presets[].crossing(object; may be null) — For adouble_seriespreset, the comparison with the second series; null otherwise.presets[].crossing.operator(string; one ofabove,below) —aboveorbelow: 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 ofnone,sma,change,average_momentum) — The comparison indicator's kind, as inindicator.kind.presets[].crossing.against.value(number; may be null; unit: the unit of what it describes) — The comparison indicator's window, as inindicator.value. (conventionnative_unit)presets[].weeksOfDelay(integer; at least0; 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 unlessincludeRuleTypeswas true.ruleTypes[].id(string; one ofsingle_series,double_series,hidden_markov,clustering,portfolio_based) —single_series,double_series,hidden_markov,clusteringorportfolio_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.
riskOffandriskOnare 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
editablecan 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-generatedEvery defined term this page uses, matched against the corpus — including the alias forms the prose actually says.