Currency Volatility API
The Currency Volatility API measures how much a currency pair's exchange rate fluctuates over time. It provides realized (historical) volatility, EWMA (RiskMetrics, λ=0.94) and GARCH(1,1) volatility forecasts, volatility cones, and percentile/HV-rank context.
Volatility is computed from daily closing rates using the industry-standard method: the sample standard deviation of daily logarithmic returns, annualized by the square root of 252 trading days.
From 8,006 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 257ms | 305ms | 327ms | 634ms | 928ms |
Similar APIs
Didn't find what you were looking for? Suggest an improvement
/v1/currencyvolatility GETPremium Only
https://api.api-ninjas.com/v1/currencyvolatility
Returns the latest realized (or EWMA) volatility for a currency pair over a lookback window, together with a volatility cone across standard window lengths and HV rank / percentile context.
Parameters
pairrequiredCurrency pair to query, in the form
currency1_currency2(e.g.EUR_USD).windowoptionalLookback window for the headline realized volatility, in trading days. Defaults to
30. Must be between 2 and 1000.methodoptionalVolatility method:
close_to_close(default) orewma.day_countoptionalAnnualization factor:
252trading days (default) or365calendar days.annualizedoptionalWhether to treat the annualized figure as the headline value. Defaults to
true.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON object with the following fields or an error if the request is unsuccessful.
pairThe queried currency pair.
as_of_dateDate of the most recent return used (YYYY-MM-DD).
annualized_volatilityAnnualized volatility as a decimal (e.g.
0.0785= 7.85%).annualized_volatility_pctgives the same value as a percentage.daily_volatilityDaily volatility as a decimal.
daily_volatility_pctgives the percentage form.n_observationsNumber of returns used for the headline figure.
outliers_filteredNumber of extreme returns (over 30%) excluded as data artifacts or regime breaks.
percentile_contextObject with the HV rank and percentile of the current volatility within its trailing one-year distribution (
current_percentile,hv_rank,min,median,max,lookback_years).coneVolatility cone: an array with one entry per window length (10, 21, 63, 126, 252 trading days), each giving the historical
min,p25,median,p75,maxof rolling realized volatility plus thecurrentreading and itscurrent_percentile.method,window_days,day_count,annualizedEcho of the request configuration.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/currencyvolatility?pair=EUR_USD&window=30Headers
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/currencyvolatility?pair=EUR_USD&window=30" \
-H "X-Api-Key: YOUR_API_KEY"/v1/currencyvolatilityhistorical GETPremium Only
https://api.api-ninjas.com/v1/currencyvolatilityhistorical
Returns a daily time series of trailing rolling volatility for a currency pair over a date range, with each point tagged by its percentile rank, plus a volatility cone snapshot as of the end date.
Parameters
pairrequiredCurrency pair to query, in the form
currency1_currency2(e.g.EUR_USD).windowoptionalRolling window for volatility, in trading days. Defaults to
30.methodoptionalVolatility method:
close_to_close(default) orewma.daysoptionalLength of the trailing date range in calendar days, ending today. Defaults to
90. Maximum 1825. Mutually exclusive withstart_date/end_date.start_date,end_dateoptionalExplicit date range in
YYYY-MM-DDform. Provide both together instead ofdays. The range cannot exceed 1825 days.day_count,annualizedoptionalAnnualization factor (
252default or365) and headline-value toggle, as in the/v1/currencyvolatilityendpoint.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON object with the following fields or an error if the request is unsuccessful.
seriesArray of daily points, each with a
date,annualized_volatility,daily_volatility, andpercentile(rank of that day's volatility within its trailing one-year distribution).coneVolatility cone as of the end date — same structure as in the
/v1/currencyvolatilityendpoint.n_points,outliers_filteredNumber of series points returned and the count of extreme returns excluded.
pair,method,window_days,day_count,annualized,start_date,end_dateEcho of the request configuration and resolved date range.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/currencyvolatilityhistorical?pair=EUR_USD&window=30&days=90Headers
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/currencyvolatilityhistorical?pair=EUR_USD&window=30&days=90" \
-H "X-Api-Key: YOUR_API_KEY"/v1/currencyvolatilityforecast GETPremium Only
https://api.api-ninjas.com/v1/currencyvolatilityforecast
Returns forward-looking volatility estimates for a currency pair using EWMA (RiskMetrics) or GARCH(1,1). GARCH adds mean reversion toward a long-run volatility level; if the GARCH fit does not converge the response falls back to EWMA. These are model-based estimates, not predictions.
Parameters
pairrequiredCurrency pair to query, in the form
currency1_currency2(e.g.GBP_JPY).methodoptionalForecast method:
garch_11(default) orewma.lambdaoptionalEWMA decay factor, used only when
method=ewma. Defaults to0.94(RiskMetrics). Must be between 0.80 and 0.99.horizonoptionalComma-separated list of forecast horizons in trading days (e.g.
1,5,21,63). Defaults to1,5,21,63.day_countoptionalAnnualization factor:
252trading days (default) or365calendar days.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON object with the following fields or an error if the request is unsuccessful.
current_conditional_vol_annualizedThe model's current one-step-ahead annualized volatility.
forecastArray of forecasts, each with a
horizon_days,vol_annualized, andvol_daily.parametersFitted model parameters. For
garch_11:omega,alpha,beta,persistence,long_run_var,long_run_vol_annualized, andfitted_on. Forewma:lambdaandfitted_on.fallbacktruewhen a requested GARCH fit did not converge and an EWMA estimate was returned instead.pair,as_of_date,method,day_count,outliers_filteredEcho of the request and the date of the most recent return used.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/currencyvolatilityforecast?pair=GBP_JPY&method=garch_11&horizon=1%2C5%2C21%2C63Headers
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/currencyvolatilityforecast?pair=GBP_JPY&method=garch_11" \
-H "X-Api-Key: YOUR_API_KEY"If your programming language is not listed in the Code Examples above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.