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 1x2, Ratio 2x3, Covered, and Outright.

Please contact the developer at 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.

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


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

Enter a search term and hit return when you’re ready