FX Volatility Surface
An FX volatility surface is created from FX Option underlying instruments, or from offsets.
You can enter the implied calendar day volatility for different tenors in the FX volatility surface. The option premium is calculated from the calendar day volatility and the number of calendar days until expiration.
Additionally, the FX volatility surface can calculate the trading day volatility, which remains fairly constant as time passes. While calendar days are expressed in integers, trading days can be partial days. You can weight trading days to account for differing periods of volatility in the FX markets and for each currency pair. You can input the following factors for the trading day calculation:
• | Assign expiration cuts |
• | Assign multipliers and weights to holidays |
• | Define holiday start and end time |
• | Assign multipliers and weights to events such as the release of an economic report or a political election |
FX Volatility Surface Quick Reference Configuration Requirements
Underlying Instruments AN FX Volatility Surface can be created from FX Option underlying instruments. Surface Generation 1. Click New to create a new surface. 2. Definition Panel — Select the following to define the surface: currency, quoting currency, surface type, the Derived checkbox should be checked, generator, pricing environment. 3. Underlyings Panel — Select underlying instruments. 4. Quotes Panel — Enter quotes. 5. Points Panel — Click Generate to generate the points. 6. Click Save, enter a name for the curve, and click OK. Pricer Configuration An FX volatility surface can be associated with a pricing environment under the FX panel of the pricer configuration. |
Ⓘ [NOTE: Surfaces can be updated in real-time using the Market Data Server]
See Market Data Server Documentation for information on configuring and running the market data server.
From the Calypso Navigator, navigate to Market Data > Volatilities > FX Volatility Surface (menu action marketdata.FXVolatilitySurfaceWindow
).
1. Trading Day Calculation and Configuration
The system uses the following factors when calculating the trading days for a point on the surface:
• | Raw Time — calculated from the surface beginning time to the point’s expiry date and time (Time 1 and Time 2, respectively). It is expressed in raw days. |
• | Weekends — value subtracted from the raw time. Weekend Time subtracted if you assign weekend weight. Weekend Time is “weekend weight” * “weekend raw time in the trading time period”. |
• | Cuts — cut multipliers override the raw time for weekdays. |
• | Holidays — value subtracted (multiplier * holiday weight * holiday duration) for each holiday during the trading time period. |
• | Events — value added (multiplier * assigned event weight) for each event that falls within the trading time period. An event is within the trading time period if Time1 < EventTimeDate <= Time2. |
The raw time unit, a raw day, is a lapse of 86400 seconds. Please observe that due to daylight saving adjustments, some “calendar day” could have a raw time in defect or excess of 1 raw days. So for instance:
• | The raw time between 1 Jan 2000 at 14:00 in NYC, and 2 Jan 2000 at 14:00 in NYC, is 1 raw day, as exactly 86400 seconds elapsed between both date-times. |
• | The raw time between 1 Apr 2000 at 17:00 in NYC, and 2 Apr 2000 at 17:00 in NYC, is 0.95833 raw days, as 82800 seconds elapsed between both date-times. |
• | The raw time between 28 Oct 2000 at 10:00 in NYC, and 29 Oct 2000 at 10:00 in NYC, is 1.04166 raw days, as 90000 seconds elapsed between both date-times. |
Leap seconds are ignored in the raw time calculation.
Weekends are defined as a period starting on Friday at 17:00 NYC, and ending the next Sunday at 17:00 NYC.
Cut multiplier for a given cut, defines the duration of the period between the immediately previous cut end date-time, and the given cut end date-time.
The calculator only includes the holiday time that overlaps with the weekday time in the trading time period.
Initially, the calculator adjusts the holiday duration to fit within Time 1 and Time 2:
• | If HolidayEnd <= Time1 or HolidayBegin>=Time2, holiday is excluded. |
• | If HolidayBegin < Time1 and HolidayEnd > Time1, set HolidayStart = Time1. |
• | If HolidayBegin < Time2 and HolidayEnd > Time2, set HolidayEnd = Time2. |
If the adjusted holiday falls entirely within a weekend, it is excluded.
If the adjusted holiday overlaps partially with a weekend, then the holiday duration is further adjusted to exclude the weekend part.
The exact mathematical formula for trading time calculation for currency pair CP between date-times T1 and T2 (T1 < T2) is:
where:
• | WE is the set of all instants that belong to a weekend |
• | WWE(CP) is the weekend weight for currency pair CP |
• | CS(t) = Cut Slope at t = |
• | Hc is the set of all instants that belong to a holiday in country C |
• | WH(CP, C) is the holiday weight for currency pair CP and country C |
• | TiEC is the instant at which event i at country C happens |
• | WiEC is the weight for event i at country C |
• | mE(CP, C) is the event multiplier for currency pair CP and country C |
• |
|
The configuration described in this section is only required if you want to weight the trading time in the FX volatility surface.
1.1 Defining Expiration Cuts and Assigning Multipliers
FX Options can expire at different times during the 24 trading day based on the expiration cut. You can assign a multiplier to each cut. The multipliers must total 1.0, so the basic trading time between the same cut time in two consecutive days is 1.0.
Define the cuts and multipliers in the FX Option Expiry Time Zone application.
From the Calypso Navigator, navigate to Configuration > Definitions > Expiry Time Zone. Help is available from that window.
1.2 Assigning Weights and Multipliers to Holidays and Events
In the FX Option Volatility Weights application, assign volatility weights to holidays by country, cut, and currency pair. Additionally, you can create events and assign weights to the events.
From the Calypso Navigator, navigate to Configuration > Foreign Exchange > FX Volatility Weights.
Weekend Weight
The calculation subtracts the weekend days when calculating the number of trading days. However, you can assign a weight to weekend days. For example, if you assign a weight of 0.8, then one full weekend will count as 2 x (1-0.8) = 0.4 days in the calculation.
» | Select the currency pair. |
» | Enter the weight. It must be between 0 and 1. |
» | Click Save to assign the weekend weight. |
Holiday Weights
In the Holiday Weights panel, you can assign holiday weights by currency pair and location.
» | Click Countries to define the trading locations. |
» | Click Cur Pairs to add the currency pairs. |
» | Assign a holiday calendar to each country. Double-click the holiday field to select the calendar. |
» | Enter the holiday weight for each country and currency pair. It must be between 0 and 1. An empty weight will be assumed to be 0. |
» | Click Save to save the weights. |
Ⓘ [NOTE: If you later make any changes to the holiday weights and save them, click Publish so that user machines have the new values]
Holiday Time
Define when the holiday starts and ends. The start and end times specify the length of time for the holiday weight in the trading day calculation.
» | Enter the following details: Holiday, Start and End Times for the holiday, Time Zone of the holiday times. End Time must be after Start Time. |
» | Click Save to save the holiday time. |
Event Multiplier
Define events by location. The location of the event can affect currency pairs differently. You can assign event multipliers by currency pair and location in the Event Multiplier panel.
» | Click Countries to define the trading locations. |
» | Click Cur Pairs to add the currency pairs. |
» | Enter the event multipliers. Multipliers are expected to be non-negative. An empty multiplier will be assumed to be 0. |
» | Click Save to save the event multipliers. |
Ⓘ [NOTE: If you later make any changes to the event multipliers and save them, click Publish so that user machines have the new values]
Event Weight Rule
Define events that impact market volatility, such as the release of an economic report or a political election, in the Event Weight Rule panel. Define event rules by location and assign a weight to the rule. Generate the actual events in the next panel Event Weight.
Select either a FIXED or FLOATING event type, for example:
• | Fixed calendar date like “the 6th of January.” |
• | Floating calendar date like “the 3rd Wednesday of March.” |
Event rolls off at End Time.
» | Enter the weight rule details in the input fields. |
» | Click Save to create the rule. The application adds the rule to the table. |
The following table describes the Event Weight Rule fields.
Field | Description |
---|---|
Country |
Select the event location using one of the following methods: Enter the country code in the open text field and press [Enter]. The application displays the country name in the adjacent drop-down menu. Select the country name from the drop-down menu. |
Event |
Enter a name for the event. |
Type |
Select the date type for the event: FIXED — fixed calendar date like “the 6th of January.” FLOAT — floating calendar date like “the 3rd Wednesday of March.” |
Month |
Select the month that the event occurs, or the starting month for recurring events. |
Frequency |
Select how often the event occurs during the year in order to generate the dates: MTH – Monthly, BIM – Bi-Monthly, QTR – Quarterly, SA – Semi-Annually, PA – Annually |
Day |
This field is only active when you select FIXED. Enter the date for the event. |
Rank |
This field is only active when you select FLOAT. Select the week of the month. For example, select “3” for the 3rd week of the month. |
Day of Week |
This field is only active when you select FLOAT. Select the day of the event. |
Holiday |
Select the holiday calendar to use when calculating the event date. |
Date Roll |
Select a date roll rule to apply if the event date would occur on a weekend or holiday. The application adjusts the date accordingly. |
Expiry Cut |
Assign an expiry cut, created in the FX Option Exp TimeZone application, to the event rule. |
Weight |
Assign a weight to the rule. It is expected to be non-negative. |
End Time |
Enter the end time for the event. The event weight rolls off at this time. |
Time Zone |
Enter the local time zone that relates to the event end time. |
Event Weight
Generate multiple events using the event weight rule in the Event Weight panel.
» | Enter the event weight details: Country. Event Rule, Year range. |
» | Click Generate to create the events. |
Ⓘ [NOTE: You can modify the Date, End Time, and Weight. Click Save to save the changes]
Weight Summary
The weight summary displays the weight for each event for a currency pair and cut. It also shows the spread to the standard weight.
You can export this data to Excel. Right-click and choose "Excel" from the shortcut menu.
2. Creating Underlying Instruments
Create the underlying instruments in the Volatility Surface Underlying Window, FX Option panel.
» | You can click Show All to view all existing instruments. You can also select a currency pair, and click Show Cp to view the existing instruments for that currency pair. |
» | Select the following criteria to define the instruments. Then click Save to create the instruments. |
Fields | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Currency Pair |
Select the currency pair for the FX Option from the drop-down menu. You can click Show Cp to display existing instruments for this currency pair. |
|||||||||||||||
Option Type |
Select one of the following option types:
Vreversal = |Vcall – Vput|
Vbutterfly = 0.5 * (Vcall + Vput) – Vatm
Vstrangle = 0.5 * (Vcall + Vput)
|
|||||||||||||||
Expiry |
Use this feature to create multiple instruments with different maturities. The application creates an instrument for each maturity that you select. For example, create ATM options with a maturity of 1D, 1W, 2W, and so on. Click ... to open the selector window. |
|||||||||||||||
Delta |
Not applicable for ATM options. Enter the delta for the instruments. You can enter a list of comma-separated deltas. |
|||||||||||||||
Exp Holidays |
Currently not used. The default value is to use the calendar(s) specified in the currency defaults when calculating the expiration dates of the underlying instruments. Do not specify any holiday calendar(s) on the underlying instruments. |
|||||||||||||||
Source |
Optional. Select the source for the volatilities as applicable. If specified, it is added to the quote name. Sources can be added to the domain "FXOptVolSurfUndSource". |
3. Defining an FX Volatility Surface
FX option volatility surface conventions tend to vary by currency pair and by market. This document explains how to define and create a range of vol surfaces that correspond to these varied conventions and lists the configuration options available for the different FX vol surface generators in Calypso. It also includes market standard configurations for major G10 and emerging currency pairs.
3.1 Definition Panel
Click New to define a new volatility surface. You can also click Load to load an existing surface.
In the Definition panel, define the currency pair and conventions, and set parameters. See the Recommended Settings and the parameter tables below for more information on the parameters.
Ⓘ [NOTE: The FX Volatility Surface uses the pair position reference (Configuration > Definitions > Currency Definitions). For example, if USD/JPY is the pair position reference, the surface is always saved as USD/JPY. It saves a surface defined as JPY/USD as USD/JPY]
Ⓘ The Holidays field is not used at this time.
» | For all generators, the Derived checkbox must be selected. |
The checkbox should be cleared only for special-case configuration requirements where the volatility surface points are entered manually. This is not the typical method for creating surfaces.
» | The generators available for use are FXOption, FXOptionSABR, GaussianCopula, ReplicationHedge, and Spread_Default. Click ... to add a generator name if it does not appear in the drop-down list. |
– | FXOption: Derives the vol surface by interpolating from vanillas and strategies (ATMs, risk reversals, and butterflies). This is the most commonly used generator. |
– | FXOptionSABR: Uses the SABR stochastic methodology as an interpolator in FX options and integrates the calibration of the SABR parameters with the FX option generator. This is not as common a choice as FXOption but still in regular use. Use at the discretion of the trader. |
– | GaussianCopula and ReplicationHedge: Both derive a cross-vol surface - or "child" surface - from two parent surfaces and a correlation point or correlation spine. Calypso recommends ReplicationHedge. |
– | Spread_Default: Derives a child vol surface from a set of spreads to the underlyings of a parent vol surface. |
Ⓘ [NOTE: For GaussianCopula, ReplicationHedge and Spread_Default, only one level of dependency is supported for the child surface. The parent surface cannot derive from another parent surface]
» | When either of the correlation generators (GaussianCopula or Replication Hedge) is selected, two additional drop-down lists are enabled for choosing the parent surfaces to be correlated. A third drop-down list is also made available for choosing the correlation matrix. |
Please refer to Calypso Correlation and Covariance Matrices documentation for details.
» | When the additive linked/multiplicative linked generator Spread_Default is selected, additional drop-down lists are enabled for selecting Spread Type, Parent Ccy Pair, and Parent Surface. |
» | You can select the interpolator Interpolator3DSpline1D or Interpolator3DSplineL1DMulti (same as Interpolator3DSpline1D, but with linear extrapolation). |
When using Interpolator3DSplineL1DMulti, it is recommended to not use the additional ad-hoc points. Set the parameters "Up Extrap 1.0 Delta", "Down Extrap 1.0 Delta" to "N/A" or empty.
Recommended Settings
The three most important parameters in this section are Spot Delta Last Tenor, ATM Zero Straddle Last Tenor, and Quotes Are Delta With Premium.
• | Spot Delta Last Tenor is the point at which the non-ATM points or strategies cut over from spot to forward delta. Typically this is 1Y for G10 pairs and 0D (zero days) for emerging market pairs; |
• | ATM Zero Straddle Last Tenor is the point at which the ATM vol cuts over from ATM-delta-neutral to ATM-forward. Typically this is 10Y for G10 pairs and 0D (zero days) for emerging market pairs; |
• | Quotes Are Delta With Premium controls whether the particular currency pair includes premium in delta by default. This is “true” for pairs where the premium is conventionally paid in the first currency (e.g., USDKRW, where premium is paid in USD; or AUDJPY, where premium is paid in AUD); and “false” for pairs where the premium is conventionally paid in the second currency (e.g., INRJPY, where premium is paid in yen; or EURUSD, where premium is paid in USD). |
The following is a table of settings for common and less common example currency pairs. You should always confirm these settings with your trading desk or your market sources before implementing, because these inputs will significantly affect your vol surface levels.
CCY Pair | Spot Delta Last Tenor | ATM Zero Last Tenor | Delta w/Premium |
---|---|---|---|
EURUSD, GBPUSD | 1Y | 10Y | False |
USDJPY, EURJPY | 1Y | 10Y | True |
USDNOK, USDSEK, EURNOK | 1Y | 10Y | True |
USDKRW, EURKRW, EURBRL, USDBRL | 0D | 0D | True |
INRJPY | 0D | 0D | False |
Other generator-level settings:
• | Strangle/Fly quotes: this will almost always be “1vol (Broker)”. |
Only set this to “2vol (CP Avg)” if you are sure your market data supplier uses the 2-vol convention for butterflies/strangles.
This only applies if the surface is built using reversals and butterflies as underlyings, but this should almost always be the case.
• | Volatility Day Count: almost always ACT/365 |
BUS/252 is sometimes used for onshore BRL.
• | DateCut of Expiries |
Set this to the appropriate cut time for the currency pair being configured.
For currencies such as JPY and AUD where there is an active market in both Tokyo and NYC cuts, your traders should make the decision whether to maintain the default surface as Tokyo or NY cut. Both cuts can be priced from a single surface.
The DateCut of the surface must match the cut time on the imported quotes – e.g., if your market data feed gives you NY cut vols, your vol surface must be set to NY cut as well.
• | Interpolate Outright Variance, Interpolate on Trading Time: set to True for more accurate intraday pricing; |
• | Up Extrap 1.0 Delta, Down Extrap 1.0 Delta: these control the delta axis extrapolation beyond the 1-delta point if the vol surface is curving up or down respectively. Calypso recommends setting this to 2.0 for Up Extrap (so the smile steepens beyond the 1-delta point) and 0.0 for Down Extrap (so the surface flattens out if it’s heading downward, which avoids the possibility of the vol reaching zero at very-low-delta points); |
• | Granularity: always set to Continuous; |
• | Weighting: always set to True; |
• | Roll Method: generally, Calypso recommends Forward Volatility; it’s a good middle ground between performance (because Regenerate is performance-intensive) and market compliance (Calendar Vol Constant doesn’t adequately reflect how the market behaves when the date rolls, especially in the short end). |
Basic Parameters
Parameter | Description | ||||||
---|---|---|---|---|---|---|---|
Spot Delta Last Tenor |
Enter the last tenor for which the generator interprets the delta in the quotes as spot delta. The generator interprets all expiry dates on or before this tenor as spot delta; it interprets expiry dates after this tenor as forward delta. In the Quotes Matrix, tenors with a forward delta are shaded in gray. For example, “2Y” has a forward delta.
Enter a value of "0d" to interpret all of the expiry dates as forward delta, or enter a large tenor to interpret all of the expiry dates as spot delta. |
||||||
Interpolate Outright Variance |
Set whether the generator interpolates on the outright variance (the square of the volatility times the calendar time) rather than on the volatility.
|
||||||
Interpolate on Trading Time |
Set whether or not the generator interpolates on trading time:
|
||||||
DateCut of Expiries |
Identify the DateCut (partial day) in which the expiry times of the underlying options fall. Used for determining the weighted trading times between the generation datetime and the expiry datetimes. These are the date cuts that you set up in the FX Option Exp TimeZone application. For example, select NYC or TOK. |
||||||
Volatility Day Count |
Select the daycount used to convert the points for interpolating volatility. |
||||||
Quotes are Delta with Premium |
Set whether or not the delta in the quotes includes the premium:
|
||||||
Up Extrap 1.0 Delta |
When the smile is turned upward at one or another end, this extrapolation parameter multiplies the slope of the first two points on the surface to find the volatility of the 1.0 call delta, and/or multiplies the slope of the last two points to find the volatility of the 99.0 call delta. Usually this is a positive number to continue the smile direction upward. |
||||||
Down Extrap 1.0 Delta |
When the smile is turned downward at one or another end, this extrapolation parameter multiplies the slope of the first two points on the surface to find the volatility of the 1.0 call delta, and multiplies the slope of the last two points to find the volatility of the 99.0 call delta. Usually this parameter is zero or small to prevent volatilities from going negative. |
||||||
Granularity |
Specifies when the trading day calculation begins (the start date and time).
Ⓘ [NOTE: To start the trading day calculation at a specific time, use the GENERATE_FXVOLSURF scheduled task to generate the surface] |
||||||
Weighting |
Specifies whether the system uses the defined weekend, holiday, and event weights to calculate the trading days.
|
||||||
FXDate |
Ⓘ [NOTE: You cannot edit this parameter directly] The FX Date is the date from which the spot date and tenors are calculated for the option expiration dates. The FX Date defaults to the current calendar date. The parameter automatically displays this date. Change the FX Date on the fly in the Quotes panel. You can toggle to the previous FX Date or the next FX Date. |
||||||
Roll Calendar Vol |
Select one of the following values:
|
Additional FXOption Parameters
Parameter | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Strangle/Fly Quotes |
Select "1vol (Broker)". The Strangle (or Butterfly) quote is added to the ATM quote to produce a flat volatility from which strike prices for the options are derived given the stated delta of the quote. The premium of the strangle is found for these strikes at this flat volatility. The generator searches for call and put volatilities at the stated deltas that produce a volatility smile that gives the same premium for the strangle as that found from this flat volatility method. The difference between call and put volatilities at each delta must satisfy the Risk Reversal quote (Call minus Put). The resulting output points shows the volatility at the stated delta quotes and represent the options that comprise the Risk Reversal. The strike prices of the Broker strangle call and puts will usually not correspond to these delta points, but by construction will lie at the points on the interpolated volatility curve that reproduce the Broker strangle premium. It is important to note that the resulting smile is critically dependent on the choice of interpolator and on extrapolation parameters ("Up Extrap 1.0 Delta", "Down Extrap 1.0 Delta"). There is therefore no unique answer for the Put/Call smile given Broker strangle quotes. All that can be guaranteed is self-consistency, in that pricing strategies using the surface generated with the chosen interpolation and extrapolation will produce values consistent with market pricing. |
|||||||||
ATM Zero Straddle Last Tenor |
While short-dated ATM options are typically quoted as the volatility of a zero-delta straddle, long-dated ATM options are often quoted as the volatility of the strike equal to the FX forward rate. The parameter "ATM Zero Straddle Last Tenor," denotes the last time at which the ATM quote is interpreted as the zero-delta straddle, after which it is interpreted as the FX forward. |
|||||||||
Roll Method |
Select the roll method:
|
|||||||||
Arbitrage pre-check |
Allows turning on/off the arbitrage checks on the input volatility quotes. Available options are: "True" means generation fails with error message, "Soft" succeeds with warning log, "False" or blank means check does not occur. Arbitrage checks detect butterfly spread and calendar spread arbitrages when an FX vol surface is generated or gets rolled to a future date. |
|||||||||
Arbitrage post-check |
Allows turning on/off the arbitrage checks on a 50x50 grid of output volatilities interpolated from the vol surface. Available options are same as in Arbitrage pre-check. |
|||||||||
Arbitrage post-check delta bound (%) |
Specify the delta range where the post-check is performed. When left blank, the post-check is performed over the range of 1% put/call delta. |
Additional FXOptionSABR parameters
Parameter | Description |
---|---|
Beta |
Exponent for the forward rate. It controls the distribution of volatility values. |
Tolerance |
The input for Tolerance must be an absolute value. |
Additional parameter for GaussianCopula and ReplicationHedge
Parameter | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Interpolator3D |
Select the methodology used for volatility interpolation in the moneyness dimension. There are currently three options:
|
3.2 Underlyings Panel
Ⓘ [NOTE:The Underlyings panel does not need to be configured when the Spread_Default generator or either of the two correlation generators (GaussianCopula or ReplicationHedge) is selected.]
In the vast majority of cases, your FX vol surface underlyings will be as follows:
• | ATMs |
• | 25- and 10-delta risk reversals |
• | 25- and 10-delta butterflies |
Surfaces built from calls and puts instead of risk reversals and butterflies are uncommon and generally only used when the market data provider delivers data as call/put points instead of risk reversals and butterflies. ATM-only surfaces should be avoided, because they don’t properly reflect vol dynamics – even in illiquid markets where the quotes might not be regularly observable, it’s important to maintain a full vol surface.
Tenor selection depends on the currency pair, and should ultimately be determined by the traders based on their judgment of which tenors are liquid enough to make reliable vol surface underlyings. But, at a bare minimum, you should have O/N, 1W, 1M, 2M, 3M, 6M, and 1Y points in every currency pair.
In the Underlyings panel, select the instruments for inclusion in the surface.
To create new instruments, click New Instrument to open the Volatility Surface Underlying Window.
» | You can select FX Option Strategies and the type of strategy ("Butterfly", "Risk Reversal", "Strangle", or ATM), or vanilla FX Options and the type of vanilla ("Puts and Calls" or "ATM"). The system loads the corresponding instruments, if any. |
– | You can select ATM only to build an ATM Volatility Surface. |
– | Note that if you select "Risk Reversal" then you have to select the corresponding "Butterfly" or "Strangle", and vice versa. |
» | Select an instrument(s) and click >> to add it to the list of Underlying Instruments. |
3.3 Quotes Panel
Once underlyings are defined on the Underlyings tab, the Quotes tab provides a matrix of quotes representing the instruments used for the underlyings.
Ⓘ [NOTE: Since correlated surfaces are defined by two parent surfaces and not directly by underlying quotes, the Quotes panel is not used for either the GassianCopula or ReplicationHedge generators.]
» | Enter additional quotes or updates and click Generate. |
You can view the points in the Points panel, and a graphical view in the Graph panel.
» | For additive or multiplicative linked surfaces, the spread is adjusted rather than the quote. Spreads appear in parentheses preceding the total. |
Double-click a field to make adjustments to the spread. Add a value and press Enter to set the value.
» | Click Generate to recalculate all variables. |
When calculating the trading volatility, the calendar days and calendar ATM volatility are held constant. The system updates the trading days, and then calculates the trading day volatility using the following equation:
You can change the date cut to calculate the values for a different cut. The system updates the trading days and recalculates the calendar ATM volatilities. The trading day volatility is held constant.
You can click Daily Vol Report to display calculation details.
3.4 Save the FX Volatility Surface
Click Save to save the FX volatility surface. You will be prompted to enter a name that will identify the surface throughout the system.
4. Pricer Configuration
From the Calypso Navigator, navigate to Market Data > Pricing Environment > Pricer Configuration.
Click Load, and select a pricer configuration.
Select the FX panel.
» | Select the currency pair, product type, and subtype. |
» | Select an FX volatility surface, and an FX curve. |
» | Click Add to add the definition to the table. |
» | Click Save to save the changes to the pricer configuration. |
5. Automating Intraday Rolling
To automate the FX volatility surface rolling, you can set up and run the GENERATE_FXVOLSURF scheduled task. Set the rolling to occur at a specific time, such as on the hour. The scheduled task updates the trading days, recalculates the calendar ATM volatilities, and regenerates and saves the surface.
Add GENERATE_FXVOLSURF to the "scheduledTask" domain in the Domain Values Window.
From the Calypso Navigator, navigate to Configuration > Scheduled Tasks (menu action scheduling.ScheduledTaskListWindow
).
In the scheduled task:
» | Select the Pricing Environment. |
The scheduled task regenerates the FX volatility surfaces defined in the pricer configuration associated with the pricing environment.
» | Set the Execution Time and Valuation Time. |
The Valuation Time that you set in the scheduled task is the start time for the trading day calculations.
The scheduled task creates an FX volatility surface instance with the valuation time as the time stamp.