Skip to main content

Dynamic Skew App

The Dynamic Skew App (DSA) is a cutting-edge algorithm for Vela’s Metro platform that automates the demanding task of calibrating and maintaining vol curves. With a robust and quantitative pipeline, this tool puts trading back in the driver’s seat. The options trader or market maker need no longer worry about the validity of perceived edge, allowing quick and confident execution decisions. Feedback from traders using the algo suggests that it is positively game-changing and has quickly become an irreplaceable component.

Robust market data handling and modeling logic allow the algo to perform well during all market conditions, and with much less latency risk than in a manual curve update process. The DSA exposes fleeting vol trading opportunities that previously could not be realized.

The algo supports the popular Flexible Spline type vol curves in Metro. User-defined settings allow complete control over market data filtering, graphical curve smoothness, time evolution of the curve, and a variety of risk controls. Three available modes for wing treatment include auto-sloping, tabletopping, and/or user-defined fixed slopes. The algo can identify liquidity crises in realtime and gracefully accomodates degradation in implied vol (IV) information. A detailed report grid supplies the trader with useful vol trading data, allowing better identification of potential opportunities. The algo also supports “multi-skew risk” functionality by allowing trade and portfolio syncing in conjunction with an artificial symbol for the options. For example, this can allow the trader to execute on realtime, fixed skew, Black-Scholes greeks, while simultaneously enjoying the risk management benefits from having the inventory risk analyzed on a floating skew with adjusted greeks and a vol path assumption. The multiple skews may also be different curve types.

Please contact the developer at kevin@axonetric.com with any questions you might have regarding technicalities, client use cases, etc.

Configuration Options

All of the variables below can be configured or modified at runtime. This gives users the power to modify their job behavior throughout the day without having to make code changes.

NameTypeDefaultDescription
optionsinstrumentsthe options expiration to model
curve_update_sensitivitydouble3.0the sigma threshold (0.0 – 10.0) to trigger a vol curve publish
temporal_smoothingdouble3.0curve evolution smoothness: 0.0 (none) – 10.0 (most)
spline_smoothingdouble5.0spline smoothing strength: 0.0 (none) – 10.0 (most)
kernel_smoothingint2kernel smoothing strength: 0 (none) – 15 (most)
option_min_sizeint1the minimum aggregate size for a valid price level near ATM
option_max_spread_widthint20the max. spread width in ticks for a valid market near ATM
underlying_min_sizeint1the minimum aggregate size for a valid price level
model_detailint1spline model detail affects CPU usage: 0=Low, 1=Normal, 2=High
PUT_TBLTOPbooleanfalsedo put wing tabletopping (instead of auto-sloping)
CALL_TBLTOPbooleanfalsedo call wing tabletopping (instead of auto-sloping)
RESETbooleanfalseclear reconstructor and any other saved values in DB
REQTRDbooleanfalserequire at least one futures or options trade before first vol curve publish
CONVEXITYbooleanfalseenforce vol curve convexity prerequisite
EXTREME_VOLbooleanfalseenable alternative processing for extreme volatility conditions
copy_tradesstringsync using format: FromRealSymbol -> ToArtificialSymbol
SYNCCURVEbooleanfalsealso periodically sync the vol curve of the copy trade’s artificial symbol
verbosityint1log detail level: 0=Minimal, 1=Basic, 2=Full, 3=Debug
curve_publish_cutoff_timestringin server time zone (PM); e.g. 3:30
iv_upper_limitdouble0.0the maximum allowed IV anywhere on the curve (0=disabled)
control_pt_valsstringoptional comma-separated list of control point X-axis values
fs_wing_slopesstringput wing slope, call wing slope (optional overrides for Flexible Spline)
on_job_exitint10=Do nothing, 1=Abort options expiration, 2=Abort whole options symbol
special_flagsstringKEOD=keep EOD pattern through evening, INIT=user-defined pattern, REQOTRD=require an options trade before first publish, UVPCPO=update vol path’s center point only, CTMAN=copy trades for manual trades also
Screenshots

Remember that in Metro NOW, dashboards and widgets can be utilized in both OnRamp and Metro clients.

Additional Materials

Underlying Offset Controller 2

Like the Initial Underlying Offset Controller, the Underlying Offset Controller 2 allows the user to increase Metro’s functionality with regard to offsets. Users can set up expiry or root future for each option month and easily set the corresponding future month’s offset based on future settlements, implied prices or listed spreads.

What’s new in this this version:

  • The implied offset can be calculated and displayed for all option expires in Metro.
  • The offsets can be updated automatically as the implied offset changes.
  • The first Underlying Offset Controller did not have the ability to manage offset for multiple exchange symbols with a common underlying. This was problematic in regards to weekly, daily, and end-of month futures.

Relevant examples include weekly and monthly gold options (OG, OG1, OG2, etc.) all priced off of Gold (GC) futures and daily S&P index options (E1A, E1C, EW1, E2A, E2C, EW2,  etc.) all linked to the E-Mini (ES) future.

Note that this widget is not meant to replace Trade Sheets or Metro Product portfolio settings, but instead extend its functionality.

Advanced Order App

The Advanced Order App allows futures and options traders to place complex orders that cannot be done using just exchange-supported logic. Users can place limit or market orders as well as place contingent stop loss orders at a user-determined number of ticks behind the executed price of that order.

The app has been popular with Metro customers since it launched as it allows for futures orders to be submitted based on triggers such as last trade or mid-market price. The Vela development team has incorporated customer feedback and rolled out a newer version of the app which now allows for Algo-driven orders such as TWAP (Time Weighted Average Price) orders. These orders allow the trader to set time frames for submitting orders, including time between orders and randomizing the quantity for each order. In addition, traders can now extend orders beyond close of day and keep orders active for multiple days.

The Advanced Order App also allows for user-defined class settings such as price factors for each product for additional customization. The app allows for quick in-line editing of orders within the order viewer so orders can be updated rapidly once placed. Our development team continues to improve the app and will be adding VWAP (Volume Weighted Average Price) orders in the near future.

Screenshots
Additional Materials

Auto-RFQ

To guarantee the absolute reliability of data, the ticker plants that power Vela’s Market

The “Auto-RFQ” job allows the user to configure rules to automatically respond to strategy RFQs in precise, predetermined ways. The job allows the user to customize their strategy quotes by strategy type, maturity, delta range, max strike width, max strategy legs, max contract legs, and a user-defined priority level. The algo supports an unlimited number of delta buckets for the response quote settings (bid/ask quantities and edges). Intelligent joining rules include “Never Top Alone” (avoid being the only top-of-book bid or ask), “Tighten Book Gaps” (avoid being more than 1 tick off the existing top-of-book), and a configurable initial delay (allow other market participants to create a market before you join). Each RFQ response can also be assigned a variable timeout. Specifications are conveniently organized and edited through a grid control.

Any strategy RFQ that cannot be matched to one of the grid row specifications will be sent immediately back to Metro and will be handled based on Metro’s settings. Once a quote has been sent by the “Auto-RFQ” job, any further market updates are handled by Metro until either the user refreshes quotes (to reset strategies back to their default settings) or turns the “Auto-RFQ” job off and back on. If the job is running concurrently with the “Active Volatility Manager” job (see above), the user can choose to pull quotes and stop the “Auto-RFQ” job in the event of a breach of any of the security parameters monitored by the “Active Volatility Manager”.

Supported option strategy types include: Condor, Butterfly, Calendar Diagonal, Iron Butterfly, Strangle, Straddle, Risk Reversal, Iron Condor, 3-Way, Calendar Horizontal, Horizontal Straddle, Vertical, Xmas Tree, Generic, Double, Ratio 1×2, Ratio 2×3, Covered, and Outright.

Please contact the developer at kevin@axonetric.com with any questions you might have regarding technicalities, client use cases, etc.

Configuration Options

All of the variables below can be configured or modified at runtime. This gives users the power to modify their job behavior throughout the day without having to make code changes.

NameTypeDefaultDescription
instrumentsinstrumentsall instruments on which to listen
default_timeoutint15the default RFQ timeout (seconds)
verbosityint2logging level: 0=minimal, 1=basic, 2=detailed, 3=extended
grid_namestringmain grid will be named “RFQ_Main_[grid_name]”
specialFlagsstringoptional; CLDB=Clear grids db, FS=fast startup
checkVolBeforeResponseint10=No, 1=Yes
tightenBookGapsEdgeFloordouble0.0min allowed edge (in ticks) after ‘Tighten Book Gaps’ rule
excludeInstrsWithTextstringoptional comma-delimited list of search strings to exclude (case-sensitive)
reqTextForInstrIncludestringoptional comma-delimited list of search strings to require, per-leg, for instrument inclusion (case-sensitive)
reqCoveringFutureInSameMonthsint00=No, 1=Yes
onFillRollingWindowInSecsint00=disabled, 1-600=window length in seconds
onFillRollingWindowQtyTriggerint00=disabled, 1+ = abs cumulative qty to trigger timeout
onFillTimeoutInMinsint00=disabled, 1-360=instrument timeout in minutes
skipDelayIfMaxSpreadWidthInTicksint00=whole skipDelay feature disabled, 1-50=max allowed spread width (ticks)
skipDelayIfMinSpreadSizeint00=whole skipDelay feature disabled, 1+ = min required qty on bid and ask
skipDelayForRFQOnTradesint10=No, 1=Yes
edgeValuesUnitsint11=In ticks, 2=In decimal price
crossedMktProtectionint00=Off, 1=One-sided response, 2=Skip response
Screenshots

Remember that in Metro NOW, dashboards and widgets can be utilized in both OnRamp and Metro clients.

Additional Materials

Price Alert

The Price Alert widget notifies users if a selected instrument reaches or passes an inputted target price. The widget is intended primarily for brokers, as well as traders that are dealing with broker markets.

With Price Alert, users can work on other tasks but still be notified if an instrument of interest reaches a designated target price. Once they receive an alert, users can then contact a client for guidance, manually place a relevant order, or otherwise take appropriate action.

Note that this widget cannot place trades based on the alerts. All trades must be completed manually by the user.

Video

Play the video below to see the widget or algo in action. Metro NOW gives widgets the ability to work in a similar behavior across several asset classes or exchanges. This keeps usability consistent and promotes high application stability.

Screenshots
Additional Materials

Trade Alert

The Trade Alert Widget provides users with a convenient way to be notified whenever an order has been booked. The widget gives the user the ability to enable/disable these alerts at any time. The alerts themselves pop-up in the center of the trader’s screen with relevant info such as the filled quantity, delta and total delta. Users can also cancel partial fills right from the alert. As part of the first release, alerts for manual trades and quotes are ignored.

Video

Play the video below to see the widget or algo in action. Metro NOW gives widgets the ability to work in a similar behavior across several asset classes or exchanges. This keeps usability consistent and promotes high application stability.

Screenshots

Remember that in Metro NOW, dashboards and widgets can be utilized in both OnRamp and Metro clients.

Additional Materials

Underlying Offset Controller (Classic)

The Underlying Offset Controller (Classic) allows the user to increase Metro’s functionality with regard to offsets. The widget allows users to setup the expiry or root future for each option month and easily set the corresponding future month’s offset based on future settlements, implied prices or listed spreads. Additionally users have the ability to easily override the offset value before publishing.

This provides the user with a centralized application to configure and update offsets for all their products rather than having to adjust offsets manually in the model settings of Trade Sheets.

Note that this widget is not meant to replace Trade Sheets or Metro Product portfolio settings, but instead extend its functionality.

Screenshots

Remember that in Metro NOW, dashboards and widgets can be utilized in both OnRamp and Metro clients.

Additional Materials

Volatility Fitting App

The Volatility Fitting App allows for automated management of volatility curves across various products and instrument months. The job does this by creating Assigned Volatility curves that fit to mid-market, effectively handling outliers and missing market data on a timer to ensure that the fitted curve is fairly smooth and within market implied vols. The job can be configured to fit on a subset of expirations on one or more symbols with various options for fitting the wings.

Video

Play the video below to see the widget or algo in action. Metro NOW gives widgets the ability to work in a similar behavior across several asset classes or exchanges. This keeps usability consistent and promotes high application stability.

Configuration Options

All of the variables below can be configured or modified at runtime. This gives users the power to modify their job behavior throughout the day without having to make code changes.

NameTypeDefaultDescription
Timerint1000Interval, in milliseconds at which the job should generate volatility curves.
autostartbooleanfalseIf checked, the job will start when the OC Metro server starts.
testmodebooleanfalseIf checked, the job will determine fitted skews, but not publish them.
debugmodebooleanfalseIf checked, the job will produce extra, detailed logging.
SymbolsStringEmpty StringA comma-delimited list of symbols (products) for which the job will generate volatility curves.
Days Until Exp RangeStringEmpty StringAn expression of the form ‘int – int’ specifying a range where the first int is the minimum of the range and the second int is the maximum of the range. The range specifies the min number of days until expiration and max number of days until expiration an instrument month must fall into in order to be fitted by the job. If left blank all instrument months of the desired symbol will be fitted.
Start TimeStringEmpty StringAn expression of the form ‘hh:mm’, specifying the time in CST after which the job can fit.
End TimeStringEmpty StringAn expression of the form ‘hh:mm’, specifying the time in CST after which the job cannot fit.
Sparse Min Data Thresholddouble100.0The percentage of strikes required to have missing data before the job employs an alternative fit strategy.
One-Shot FitbooleanfalseIf checked, the job shall generate only one set of volatility curves and cease execution.
Put Wing Cut-off Deltadouble5.0The cutoff point of the put wing, specified in model-specific deltas. If set to 0, put wing cutoff will be automatically determined
Call Wing Cut-off Deltadouble5.0The cutoff point of the call wing, specified in model-specific deltas. If set to 0, call wing cutoff will be automatically determined
Put Wing Slopedouble0.0The slope (in vol/strike) of the put wing
Call Wing Slopedouble0.0The slope (in vol/strike) of the call wing
Autodetermine Wing SlopebooleanfalseIf checked, previously configured slopes will be ignored and instead the wing slopes will be autodetermined
Additional Materials

More About Exegy

Related Resources

Exegy Expands Ultra-Low Latency, Tick-to-Trade Support to Include All Canadian Equities Exchanges

    St. Louis, New York – 21 November 2024 – Exegy, the leading trading technology provider across the latency spectrum, announces the expansion of market data and execution coverage for…

Exegy Wins Buy-Side Award for Record Breaking FPGA Solution

   St. Louis, New York – 7 November 2024 – Exegy, a leading provider of market data and trading technology for the capital markets, is pleased to announce that nxFramework,…

Cloud, AI and Regulations: The Topics on Everyone’s Minds at WFIC 2024 

Last month, Exegy joined the 600+ industry professionals attending the World Financial Information Conference (WFIC) in Austin, Texas. During the event, our team members had the opportunity to explore the…