Historic Best/Worst FX Performance
get_historic_best_worstAnalyze historic best/worst FX performance for a currency pair over a Guard's duration. Uses Bank of England historic rates. Returns a 'performances' array with 6 entries — BEST and WORST for each of three lookback periods (5, 10, 25 years). Each entry contains: performanceType (BEST or WORST), periodInYears (5, 10 or 25), windowSizeInDays, startDate/endDate, startRate/endRate, performancePercentage, startAmount, finalAmount, deltaAmount (in the window's own money), finalAmountToday, deltaAmountToday (the same move applied to today's amount). For Guard-Pay: negative delta = cost decreased = BEST; positive delta = cost increased = WORST. For Guard-Receive: positive delta = receipt increased = BEST; negative delta = receipt decreased = WORST. When there is a preceding price_guard call, the parameters must match it, including payReceive (PAY or RECEIVE). WHEN TO CALL. Only when the user asks for historic performance, best or worst cases, or historic context. Never to answer "what can I do" or "what would you do". If there is no price_guard quote, leave guardAmount empty; do not call price_guard only to fill it. IF IT FAILS. A result with valid: false has no data. Say that historic figures are unavailable and stop. Do not show the table and do not estimate any figure.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"guardCurrency": "<guardCurrency>",
"foreignCurrency": "<foreignCurrency>",
"payReceive": "<payReceive>",
"foreignAmount": "<foreignAmount>",
"settlementDate": "<settlementDate>"
},
"name": "get_historic_best_worst"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payReceive | Yes | MUST be the exact same payReceive value you used in price_guard (PAY or RECEIVE). Do NOT change it. | |
| guardAmount | No | Guard amount in base/home currency from the Guard quote (the guardAmount field from the price_guard response). Leave it empty when there is no quote, and the tool uses today's indicative mid spot rate instead, so a risk question needs no price first. | |
| foreignAmount | Yes | Amount in foreign currency — MUST match foreignAmount from price_guard | |
| guardCurrency | Yes | Home/base currency ISO code — MUST match guardCurrency from price_guard | |
| settlementDate | Yes | Settlement date in ISO format YYYY-MM-DD — MUST match settlementDate from price_guard | |
| foreignCurrency | Yes | Foreign currency ISO code — MUST match foreignCurrency from price_guard |