GuidaAPI E MCP · ADVANCED

Descrivi il modello di strategia

Descrive il modello di strategia di Fincanva una sezione alla volta — il livello della Combinata (il portfolio dell’API), le condizioni di rischio, l’allocazione, le strategie dentro una Combinata (i models dell’API), le uscite dalle posizioni, la selezione e le impostazioni di simulazione — elencando ogni campo con il tipo, l’unità, il valore predefinito, i limiti e i valori ammessi, e il limite del tuo piano dove ce n’è uno. La panoramica elenca le sezioni.

AGGIORNATA 2026-10-01RIVISTA 2026-10-019 MINENIT

Id dell’operazione: describe_portfolio_model — REST POST /api/v1/research/describe_portfolio_model, strumento MCP describe_portfolio_model.

Quando si usa Descrivi il modello di strategia?

  • Prima di creare o modificare una strategia, per conoscere ogni campo che si può impostare e i limiti del piano dell’utente.
  • L’utente chiede che cosa significa un’impostazione, qual è il suo valore predefinito o fin dove può arrivare.

Usa un’altra operazione quando:

Quali parametri accetta Descrivi il modello di strategia?

  • section (facoltativo; testo; uno tra overview, portfolio, risk_conditions, allocation, models, position_exits, selection, user_settings; predefinito "overview") — La sezione da descrivere: overview elenca le sezioni; portfolio (il livello della Combinata), risk_conditions, allocation, models (le strategie dentro una Combinata), position_exits, selection oppure user_settings (le impostazioni di simulazione).

Che cosa restituisce Descrivi il modello di strategia?

L’oggetto result contiene i campi qui sotto. Ogni risultato riporta anche un summary testuale, i valori assumed e la dataVersion, come descrive il riferimento.

  • section (testo; uno tra overview, portfolio, risk_conditions, allocation, models, position_exits, selection, user_settings) — La sezione descritta.
  • title (testo; almeno 1 caratteri) — Il titolo della sezione, con le parole del prodotto.
  • summary (testo; almeno 1 caratteri) — Che cosa controlla la sezione, in una o due frasi.
  • fields (elenco) — Ogni campo della sezione, nell’ordine in cui li mostra l’app; vuoto per la panoramica.
  • fields[].path (testo) — Il percorso pubblico del campo in una definizione di strategia, quello che usano la creazione e la modifica di una strategia.
  • fields[].name (testo; almeno 1 caratteri) — Il nome del campo come lo mostra l’app.
  • fields[].type (testo; uno tra number, integer, boolean, enum, string, list, object) — number, integer, boolean, enum, string, list o object.
  • fields[].unit (testo; uno tra none, number, count, days, weeks, months, quarters, years, reports, bars, fraction, percent, multiple, sharpe_points, sigma, usd, base_currency, date, native) — L’unità del valore del campo. (convenzione fraction)
  • fields[].default (numero / vero o falso / testo; può essere null; unità: l’unità di ciò che descrive) — Il valore usato quando il campo non viene indicato. (convenzione native_unit)
  • fields[].enabledByDefault (vero o falso; può essere null) — Per un campo che si può attivare o disattivare, se è attivo in modo predefinito; null per ogni altro campo.
  • fields[].min (numero; può essere null; unità: l’unità di ciò che descrive) — Il valore più piccolo che il prodotto consente, oppure null. (convenzione native_unit)
  • fields[].max (numero; può essere null; unità: l’unità di ciò che descrive) — Il valore più grande che il prodotto consente, oppure null. (convenzione native_unit)
  • fields[].values (elenco; può essere null) — I valori che l’app offre per un campo enum, oppure null. Dove l’app blocca una scelta, è elencato solo il valore bloccato: due condizioni di rischio si combinano con or e la cadenza di ribilanciamento è month.
  • fields[].steps (elenco; può essere null; unità: l’unità di ciò che descrive) — Gli unici numeri che il campo accetta, in ordine crescente, come gli importi fissi del capitale iniziale; null quando è accettato qualsiasi numero tra min e max. (convenzione native_unit)
  • fields[].boundsBy (oggetto; può essere null) — Limiti che dipendono da un altro campo, un caso per ogni valore di quel campo, come la soglia di una regola di rischio in base alla metrica che legge; null quando i limiti sono fissi. I valori unit, default, min e max del campo sono quelli del valore predefinito dell’altro campo.
  • fields[].boundsBy.on (testo) — Il percorso pubblico del campo il cui valore decide i limiti.
  • fields[].boundsBy.cases (elenco) — Una voce per ogni valore di quel campo.
  • fields[].boundsBy.cases[].when (testo; almeno 1 caratteri) — Il valore del campo decisivo a cui si applica questo caso.
  • fields[].boundsBy.cases[].unit (testo; uno tra none, number, count, days, weeks, months, quarters, years, reports, bars, fraction, percent, multiple, sharpe_points, sigma, usd, base_currency, date, native) — L’unità del valore del campo in questo caso. (convenzione fraction)
  • fields[].boundsBy.cases[].default (numero / vero o falso / testo; può essere null; unità: l’unità di ciò che descrive) — Il valore predefinito in questo caso. (convenzione native_unit)
  • fields[].boundsBy.cases[].min (numero; può essere null; unità: l’unità di ciò che descrive) — Il valore più piccolo ammesso in questo caso, oppure null. (convenzione native_unit)
  • fields[].boundsBy.cases[].max (numero; può essere null; unità: l’unità di ciò che descrive) — Il valore più grande ammesso in questo caso, oppure null. (convenzione native_unit)
  • fields[].boundsBy.cases[].steps (elenco; può essere null; unità: l’unità di ciò che descrive) — Gli unici numeri accettati in questo caso, in ordine crescente; null quando è accettato qualsiasi numero tra min e max di questo caso. (convenzione native_unit)
  • fields[].valuePlans (elenco; può essere null) — I valori che richiedono un piano più alto di quello del campo stesso, come gli stimatori avanzati della covarianza; null quando ogni valore è incluso con il campo.
  • fields[].valuePlans[].value (testo; almeno 1 caratteri) — Uno dei values del campo.
  • fields[].valuePlans[].includedInYourPlan (vero o falso) — Vale true quando il tuo piano attuale include questo valore.
  • fields[].valuePlans[].lowestPlan (testo; uno tra free, starter, advanced, ultimate, professional; può essere null) — Il piano più basso che include questo valore, oppure null quando oggi nessun piano lo include.
  • fields[].planLimit (oggetto; può essere null) — Il limite del tuo piano sul campo, oppure null quando nessun piano lo limita.
  • fields[].planLimit.includedInYourPlan (vero o falso) — Vale true quando il tuo piano ti permette di usare il campo.
  • fields[].planLimit.lowestPlan (testo; uno tra free, starter, advanced, ultimate, professional; può essere null) — Il piano più basso che ti permette di usare il campo, oppure null quando oggi nessun piano te lo permette.
  • fields[].planLimit.yourMin (numero; può essere null; unità: l’unità di ciò che descrive) — Il minimo del tuo piano per un campo numerico, come il primo anno di partenza che il tuo piano consente, che può essere più alto di min; null quando il tuo piano non ne fissa uno. (convenzione native_unit)
  • fields[].planLimit.yourMax (numero; può essere null; unità: l’unità di ciò che descrive) — Il massimo del tuo piano per un campo numerico, che può essere più basso di max; null quando il tuo piano non ne fissa uno. (convenzione native_unit)
  • sections (elenco) — Ogni sezione del modello, da cui muoversi.
  • sections[].id (testo; uno tra overview, portfolio, risk_conditions, allocation, models, position_exits, selection, user_settings) — L’id della sezione, da passare come section.
  • sections[].title (testo; almeno 1 caratteri) — Il titolo della sezione.

Com’è fatta una chiamata a Descrivi il modello di strategia?

Le uscite dalle posizioni di una strategia, per un utente il cui piano limita le posizioni

Domanda: Quanto in basso posso impostare uno stop loss?

# Chiamante con il piano starter
POST /api/v1/research/describe_portfolio_model
Authorization: Bearer <chiave API o token di accesso>
Content-Type: application/json

{
  "section": "position_exits"
}

Il risultato:

{
  "section": "position_exits",
  "title": "Position exits",
  "summary": "Rules that close positions inside each strategy: a maximum holding time, a delay before reinvesting, a cap on open positions, a take profit and a stop loss. Each can be switched on or off.",
  "fields": [
    {
      "path": "models[].positionExits.maxHoldMonths",
      "name": "Max hold months",
      "type": "integer",
      "unit": "months",
      "default": 12,
      "enabledByDefault": false,
      "min": 1,
      "max": 120,
      "values": null,
      "steps": null,
      "boundsBy": null,
      "valuePlans": null,
      "planLimit": null
    },
    {
      "path": "models[].positionExits.reinvestDelayMonths",
      "name": "Reinvest delay",
      "type": "integer",
      "unit": "months",
      "default": 12,
      "enabledByDefault": false,
      "min": 1,
      "max": 120,
      "values": null,
      "steps": null,
      "boundsBy": null,
      "valuePlans": null,
      "planLimit": null
    },
    {
      "path": "models[].positionExits.maxPositions",
      "name": "Max positions",
      "type": "integer",
      "unit": "count",
      "default": 10,
      "enabledByDefault": true,
      "min": 1,
      "max": 50,
      "values": null,
      "steps": null,
      "boundsBy": null,
      "valuePlans": null,
      "planLimit": {
        "includedInYourPlan": true,
        "lowestPlan": "free",
        "yourMin": null,
        "yourMax": 10
      }
    },
    {
      "path": "models[].positionExits.takeProfit",
      "name": "Take profit",
      "type": "number",
      "unit": "fraction",
      "default": 1.5,
      "enabledByDefault": false,
      "min": 0.05,
      "max": 10,
      "values": null,
      "steps": null,
      "boundsBy": null,
      "valuePlans": null,
      "planLimit": null
    },
    {
      "path": "models[].positionExits.stopLoss",
      "name": "Stop loss",
      "type": "number",
      "unit": "fraction",
      "default": -0.3,
      "enabledByDefault": false,
      "min": -1,
      "max": -0.05,
      "values": null,
      "steps": null,
      "boundsBy": null,
      "valuePlans": null,
      "planLimit": null
    }
  ],
  "sections": [
    {
      "id": "overview",
      "title": "Overview"
    },
    {
      "id": "portfolio",
      "title": "Combined level"
    },
    {
      "id": "risk_conditions",
      "title": "Risk conditions"
    },
    {
      "id": "allocation",
      "title": "Allocation"
    },
    {
      "id": "models",
      "title": "Strategies"
    },
    {
      "id": "position_exits",
      "title": "Position exits"
    },
    {
      "id": "selection",
      "title": "Selection"
    },
    {
      "id": "user_settings",
      "title": "Simulation settings"
    }
  ]
}

Il riepilogo restituito:

Position exits: 5 fields. Max positions is on by default and capped at 10 by your plan; the other four are off until you set them.

Dove si sbaglia più spesso con Descrivi il modello di strategia?

  • Take profit e stop loss sono frazioni: 1.5 è +150% e -0.3 è -30%, mentre l’app li mostra come percentuali.
  • Un campo numerico può avere due massimi e due minimi: max e min sono quelli del prodotto, planLimit.yourMax e planLimit.yourMin quelli del tuo piano; vale il più stretto. Un campo con steps accetta solo quei numeri, e un campo con boundsBy prende i limiti del caso che il suo campo decisivo seleziona.
  • Le uscite dalle posizioni si applicano dentro ogni strategia (il model dell’API), non alla Combinata nel suo insieme.

Quali codici di errore restituisce Descrivi il modello di strategia?

Descrivi il modello di strategia non ha codici di errore propri oltre a quelli comuni.

Ogni operazione può restituire anche i codici di errore comuni elencati nel riferimento.

Quali piani includono Descrivi il modello di strategia?

Descrivi il modello di strategia appartiene alla famiglia di operazioni «Creazione delle strategie» e conta come una chiamata di ricerca nella quota mensile del tuo piano. Quali famiglie include il tuo piano, e quanto sono ampie le sue quote, lo trovi in Cosa include ciascun piano.

Termini in questa pagina

Elenco automatico

Ogni termine definito che questa pagina usa, confrontato con il corpus — comprese le forme alternative che il testo usa davvero.

Fincanva ha uno scopo solo educativo e illustrativo: non è una consulenza finanziaria personalizzata, e i risultati passati o simulati non indicano quelli futuri. Leggi l'Addendum ai Termini

DOCS · EN — IT