---
title: "Analyze best and worst historical FX performance"
method: GET
path: "/api-regulated/v1/best-worst-historic-fx-performance"
tags: ["HistoricPerformance"]
---

# Analyze best and worst historical FX performance

`GET /api-regulated/v1/best-worst-historic-fx-performance`

## Request

- Base URL: `https://api.currencyguard.com`
- URL: `https://api.currencyguard.com/api-regulated/v1/best-worst-historic-fx-performance`
- Auth: HTTP bearer

Analyzes historical FX rate data to identify the best and worst performing periods that match the duration from today to the settlement date. The analysis looks back through 25 years of historical data to provide insights into potential volatility scenarios.

## Query parameters

- `settlementDate` string, required: Settlement date for the analysis period, representing the end of the target duration
- `baseCurrency` string, required: Base currency (domestic currency)
- `quoteCurrency` string, required: Quote currency (foreign currency)
- `payReceive` 'PAY' | 'RECEIVE', required: Indicates whether this is a pay or receive scenario
- `foreignAmount` string, required: Amount in the foreign (quote) currency
- `guardAmount` string: Guard amount in the base (domestic) currency. When provided, delta amounts are calculated relative to this protected amount. Typically the guardAmount from a Guard quote.

## Response `200`

Analysis completed successfully

- BestWorstHistoricFxPerformanceResponseDTO: Response containing best/worst historical FX performance analysis results
  - `payReceive` 'PAY' | 'RECEIVE': Indicates whether this is a PAY or RECEIVE scenario
  - `foreignAmount` number: The foreign currency amount being analyzed
  - `guardAmount` number: The guard amount in the base currency used as the delta baseline
  - `quoteCurrency` string: The quote currency (foreign currency in the pair)
  - `baseCurrency` string: The base currency (domestic currency in the pair)
  - `today` string: The reference date for the analysis (ISO8601 date format)
  - `periodInDaysRemaining` integer: The duration of the target period in days (from today to settlement date)
  - `performances` BestWorstFxPerformancePeriodDTO[]: List of best and worst performing periods found in the historical data. Each entry represents either a BEST or WORST period for a specific lookback window (e.g., 5, 10, 25 years).
    - `performanceType` string: The type of performance result, either 'BEST' or 'WORST'
    - `performancePercentage` number: The calculated performance as a percentage (positive = appreciation, negative = depreciation)
    - `startDate` string: The start date of the performance window in ISO8601 date format
    - `endDate` string: The end date of the performance window in ISO8601 date format
    - `windowSizeInDays` integer: The size of the analysis window in days
    - `periodInYears` integer: The overall lookback period analyzed, in years (e.g., 5, 10, or 25 years)
    - `startRate` number: The FX rate at the start of the performance window
    - `endRate` number: The FX rate at the end of the performance window
    - `startAmount` number: The base currency cost at the start of the performance window (foreignAmount / startRate)
    - `finalAmount` number: The base currency cost at the end of the performance window (foreignAmount / endRate)
    - `deltaAmount` number: The change in base currency cost over the window (finalAmount - startAmount)
  - `explanation` string: Client-friendly explanation of the best/worst historic performance analysis

## Other responses

- `400`: Invalid request data — [`http/malformed-request`](/problems/http/malformed-request/)
- `401`: Not authenticated — [`security/authentication-failed`](/problems/security/authentication-failed/)
- `403`: Not authorized — [`security/insufficient-permissions`](/problems/security/insufficient-permissions/)
- `422`: Unprocessable entity - invalid currency codes or dates — [`validation/validation-error`](/problems/validation/validation-error/)
- `500`: Server error — [`server/internal-error`](/problems/server/internal-error/)

---

[API](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external.md) · [All operations](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/revisions/a1f3f854190d?raw)
