UDS are multi-leg, tradable options strategies created by an individual and registered by an exchange for general open market trading. The formula includes legs composed of an operator, ratio, and contract.
Generally, a definition of UDS is exchange specific. Some common UDS are recognized by exchanges, but they may have different specifications. You should be aware of these differences and should refer to specific exchanges for detailed information. For example, Exchange A and Exchange E may recognize certain butterflies, but Exchange A may require their specification from the buy side, while the Exchange E may support buy and sell side specification.
In CQG, UDS are built in to Strategy Analysis (on the Strategy drop-down menu). The menu includes several common strategies as well as strategies that are not tradable (such as covered UDS). You can also create custom UDS.
The Strategy dropdown control in the Strategy Analysis view is split into three groups: those suitable for trading at the CME, those suitable for trading at the Eurex, Euronext, and ICE exchanges, and those that are not tradable UDS.
Select Setup/Customize Strategy List/Filter to choose the exchange. The chosen exchange is listed in parenthesis next to Strategy in the top left hand corner of the main window.
UDS are saved as QFormulas, and you work with them in that format. QFormulas can be created through Strategy Analysis or using Formula Builder and the User Defined Strategy (UDS) function.
UDS format
The UDS expression ( UDS_expr ) has the following format:
UDS_expr = "UDS("UDS_formula [","UDS_type ] ")"
UDS_formula = ["-"] Leg [ ("-"|"+") Leg] +
Leg = [ratio "*"] (symbol | UDS_expr | Cover_expr )
Ratio = a positive integer value
Symbol = Standard CQG option symbol (e.g. C.EPH2117850) | Standard CQG future symbol
Cover_expr = " COVER("Future_Symbol ","Option_Delta ","Future_Price")"
Where:
Futures_Symbol = Standard CQG futures symbol
Options_Delta = value whose meaning is similar to the option Delta greek. It shall be a non-zero decimal value. (There are no other formal restrictions on its value, but in reality, its value is usually between 0 and 1. It is used (1) in UDS price calculation and (2) implicitly, by exchange, in calculating sizes of the future leg fills when the exchange executes UDS order.)
Future_Price = futures price value (always in decimal format)
UDS_type = one of predefined UDS abbreviations agreed between CQG IC and the CQG Gateway.
Examples: "BearC", "BullC". If the UDS_type is not specified explicitly, then this is a custom strategy.
Examples:
UDS(C.EPM2117850 - 2 * C.EPM2117900 + C.EPM2117950, BflyCL) – a butterfly call long
UDS(C.EPM2117850 - 2 * P.EPH2117900 + C.EPM2217950) – a custom option strategy
UDS( UDS(C.US.CLEG214800 - C.US.CLEH214800) - COVER(F.US.CLEG21, 0.50, 47.91), CalC_US) – a recursive covered strategy
UDS(F.US.FRIH21 + F.US.FRIM21 + F.US.FRIU21 + F.US.FRIZ21, Pack) - a pack future-only strategy
UDS(EP?1 - EP?2) – a custom futures strategy
UDS( UDS(F.US.FRIH21 + F.US.FRIM21) - 2* UDS(F.US.FRIU21 + F.US.FRIZ21)) - a recursive custom future-only strategy
UDS formula describes strategy from a buy perspective. It specifies a set of legs (contracts and quantities) to be bought or sold to buy the given UDS strategy.
Please note that the leg order may vary from exchange to exchange for the same strategy type. Please refer to particular exchange rules for the given strategy to avoid rejection. From the CQG IC perspective two strategies UDS(A+B, strategy_type) and UDS(B+A, strategy_type) are equal, but from the exchange perspective one could be rejected and another one could be accepted as correct one.
Option UDS:
All strategy legs should be options (Call and/or Put) or nested UDS with option legs. Intercommodity spreads are possible.
Futures UDS:
All strategy legs should be futures contracts or nested UDS with futures legs. Intercommodity spreads are possible.
Covered UDS:
Futures and options can be mixed in the same strategy. In this case the future instrument can only specify a cover leg, which implies that valid values of option delta and future price parameters shall be specified for it. Non-cover legs of a Covered UDS can only be option legs or nested UDSs with option legs. It is possible to specify several cover legs as well as several nested UDS legs, in any mutual order.
Examples (not exhaustive) of structures of covered UDS:
- UDS(COVER(F.US.EPH21, 0.3, 3780) + option leg + option leg )
- UDS(option leg + option leg + COVER(F.US.EPH21, 0.3, 3780))
- UDS(UDS( option leg + option leg ) + COVER(F.US.EPH21, 0.3, 3780))
- UDS(UDS( option leg + option leg ) + COVER(F.US.EPH21, 0.3, 3780) + COVER(F.US.EPM21, 0.25, 3800))
Notes:
• Intercommdity UDS are allowed. All leg commodities must have the same conversion parameters.
• The same put/call side must be used for all legs of options UDS.
• For custom formulas, the UDS type is not used.
• These strategies cannot be nested; that is, they cannot be the leg of another synthetic strategy and they cannot contain another strategy as a leg.
• Futures only UDS that are recognized by an exchange as so-called UmaFs (UDS masqueraded as Futures) are not fully supported: they can be traded, but the displayed quotes will remain synthetic ones.
UDS types
UDS that do not use one of these strategies are considered custom.
The strategy abbreviation is used as part of UDS expression (strategy formula). Then next three tables detail the strategies available by the exchanges, which are chosen from the Setup/Customize Strategy List/Filter
Note that exchange strategy names may be different from CQG names.
CME: User-defined strategy |
Abbreviation (user type) |
CME: User-defined strategy |
Abbreviation (user type) |
1x2 Ratio Spread |
Call RatioC |
Condor, Futures |
Condor |
1x2 Ratio Spread |
Put RatioP |
Diag Calendar Spread Call |
DCalC |
1x3 Ratio Spread |
Call 1x3C |
Diag Calendar Spread Put |
DCalP |
1x3 Ratio Spread |
Put 1x3P |
Guts |
Guts |
2x3 Ratio Spread |
Call 2x3C |
Horizontal Call |
HrzC |
2x3 Ratio Spread |
Put 2x3P |
Horizontal Put |
HrzP |
3 Way: Call Spread vs a Put |
CSprd_P |
Horizontal Straddle |
HorzStr |
3 Way: Put Spread vs a Call |
PSpr_C |
Inter-commodity spread |
InterComm |
3 Way: Straddle vs a Call |
3WStd_C |
Iron Butterfly, Short |
IBflyS |
3 Way: Straddle vs a Put |
3WStd_P |
Iron Condor |
ICndr |
Bear Put Spread |
BearP |
Jelly Roll |
JRoll |
Box Spread |
Box |
Pack, Futures |
Pack |
Bull Call Spread |
BullC |
Reduced Tick Options Spread |
RdTick |
Bundle, Futures |
Bndl |
Risk Reversal |
SynUL |
Butterfly Call, Long |
BflyCL |
Straddle, Long |
StradL |
Butterfly Put, Long |
BflyPL |
Strangle |
Strang |
Butterfly, Futures |
Bfly |
Strip |
Strip |
Calendar Spread, Futures |
Cal |
XMas Tree Call, Long |
CTreeCL |
Condor Call |
CndrC |
XMas Tree Put, Long |
LdrP |
Condor Put |
CndrP |
|
|
Eurex, Euronext, and ICE: User-defined strategy |
Abbreviation (user type) |
Eurex, Euronext, and ICE: User-defined strategy |
Abbreviation (user type) |
2x1 Ratio Spread Call / Buy U |
2x1C_UL |
Inter-commodity spread |
InterComm |
2x1 Ratio Spread Call / Sell U |
2x1C_US |
Iron Butterfly / Buy U |
IBflyS_UL |
2x1 Ratio Spread Put / Buy U |
2x1P_UL |
Iron Butterfly / Sell U |
IBflyS_US |
2x1 Ratio Spread Put / Sell U |
2x1P_US |
Iron Butterfly, Short |
IBflyS |
2x1 Ratio Spread, Call |
2x1C |
Iron Condor |
ICndr |
2x1 Ratio Spread, Put |
2x1P |
Iron Condor / Buy U |
ICndr_UL |
2x3x2 Ratio Butterfly Call |
2x3x2BflyC |
Iron Condor / Sell U |
ICndr_US |
2x3x2 Ratio Butterfly Call / Buy U |
2x3x2BflyC_UL |
Jelly Roll |
JRoll |
2x3x2 Ratio Butterfly Call / Sell U |
2x3x2BflyC_US |
Ladder Call |
LdrC |
2x3x2 Ratio Butterfly Put |
2x3x2BflyP |
Ladder Call / Buy U |
CTreeCL_UL |
2x3x2 Ratio Butterfly Put / Buy U |
2x3x2BflyP_UL |
Ladder Call / Sell U |
CTreeCL_US |
2x3x2 Ratio Butterfly Put / Sell U |
2x3x2BflyP_US |
Ladder Put |
CTreePL |
3 Way: Call Spread vs a Put |
CSpr_P |
Ladder Put / Buy U |
CTreePL_UL |
3 Way: Put Spread vs a Call |
PSpr_C |
Ladder Put / Sell U |
CTreePL_US |
3 Way: Straddle vs a Call |
Strd_C |
Location Spread |
LSpread |
3 Way: Straddle vs a Put |
Strd_P |
Pack, Futures |
Pack |
3x1 Ratio Spread Call |
3x1C |
Pack: Blue |
BluePack |
3x1 Ratio Spread Call / Buy U |
3x1C_UL |
Pack: Copper |
CopperPack |
3x1 Ratio Spread Call / Sell U |
3x1C_US |
Pack: Gold |
GoldPack |
3x1 Ratio Spread Put |
3x1P |
Pack: Green |
GreenPack |
3x1 Ratio Spread Put / Buy U |
3x1P_UL |
Pack: Orange |
OrangePack |
3x1 Ratio Spread Put / Sell U |
3x1P_US |
Pack: Pink |
PinkPack |
3x2 Ratio Spread Call |
3x2C |
Pack: Purple |
PurplePack |
3x2 Ratio Spread Call / Buy U |
3x2C_UL |
Pack: Red |
RedPack |
3x2 Ratio Spread Call / Sell U |
3x2C_US |
Pack: Silver |
SilverPack |
3x2 Ratio Spread Put |
3x2P |
Pack: White |
WhitePack |
3x2 Ratio Spread Put / Buy U |
3x2P_UL |
Ratio Risky |
RRatio |
3x2 Ratio Spread Put / Sell U |
3x2P_US |
Ratio Risky / Sell U |
RRatio_US |
Back Spread, Call |
BackC |
Reversal/Conversion |
Rev |
Back Spread, Put |
BackP |
Risky Swap |
RSwap |
Basis Spread |
Basis |
Risky Swap / Buy U |
RSwap_UL |
Bear Put Spread |
BearP |
Risky Swap / Sell U |
RSwap_US |
Bond Futures Spread |
InterBonds |
Risky Time Spread |
RTime |
Box Spread |
Box |
Risky Time Spread / Sell U |
RTime_US |
Bull Call Spread |
BullC |
Skinny Butterfly Call |
SkinBflyC |
Bundle, Futures |
Bndl |
Skinny Butterfly Call / Buy U |
SkinBflyC_UL |
Butterfly Call / Buy U |
BflyCL_UL |
Skinny Butterfly Call / Sell U |
SkinBflyC_US |
Butterfly Call / Sell U |
BflyCL_US |
Skinny Butterfly Put |
SkinBflyP |
Butterfly Call, Long |
BflyCL |
Skinny Butterfly Put / Buy U |
SkinBflyP_UL |
Butterfly Put / Buy U |
BflyPL_UL |
Skinny Butterfly Put / Sell U |
SkinBflyP_US |
Butterfly Put / Sell U |
BflyPL_US |
Spread Call / Sell U |
BullC_US |
Butterfly Put, Long |
BflyPL |
Spread Call vs Call |
BullC_C |
Butterfly, Futures |
Bfly |
Spread Call vs Call / Buy U |
BullC_C_UL |
Calendar 2x1 Ratio Call |
Cal2x1C |
Spread Call vs Call / Sell U |
BullC_C_US |
Calendar 2x1 Ratio Call / Buy U |
Cal2x1C_UL |
Spread Call vs Spread Put |
BC_BP |
Calendar 2x1 Ratio Call / Sell U |
Cal2x1C_US |
Spread Call vs Spread Put / Buy U |
BC_BP_UL |
Calendar 2x1 Ratio Put |
Cal2x1P |
Spread Call vs Spread Put / Sell U |
BC_BP_US |
Calendar 2x1 Ratio Put / Buy U |
Cal2x1P_UL |
Spread Call vs sell Put |
BullC_P |
Calendar 2x1 Ratio Put / Sell U |
Cal2x1P_US |
Spread Call vs sell Put / Sell U |
BullC_P_US |
Calendar Call |
CalC |
Spread Put / Buy U |
BearP_UL |
Calendar Fly Call |
CalFlyC |
Spread Put vs Put |
BearP_P |
Calendar Fly Call / Buy U |
CalFlyC_UL |
Spread Put vs Put / Buy U |
BearP_P_UL |
Calendar Fly Call / Sell U |
CalFlyC_US |
Spread Put vs Put / Sell U |
BearP_P_US |
Calendar Fly Put |
CalFlyP |
Spread Put vs sell Call |
BearP_C |
Calendar Fly Put / Buy U |
CalFlyP_UL |
Spread Put vs sell Call / Buy U |
BearP_C_UL |
Calendar Fly Put / Sell U |
CalFlyP_US |
Spread Swap Call |
SwapC |
Calendar Put |
CalP |
Spread Swap Call / Buy U |
SwapC_UL |
Calendar Spread Call / Buy U |
CalC_UL |
Spread Swap Call / Sell U |
SwapC_US |
Calendar Spread Call / Sell U |
CalC_US |
Spread Swap Put |
SwapP |
Calendar Spread Put / Buy U |
CalP_UL |
Spread Swap Put / Buy U |
SwapP_UL |
Calendar Spread Put / Sell U |
CalP_US |
Spread Swap Put / Sell U |
SwapP_US |
Calendar Spread, Futures |
Cal |
Straddle / Buy U |
StradL_UL |
Clean Dark Spread |
CDark |
Straddle / Sell U |
StradL_US |
Clean Spark Spread |
CSpark |
Straddle Calendar Spread |
SCal |
Combo |
CmbS |
Straddle Clnd Sprd / Buy U |
SCal_UL |
Combo / Buy U |
CmbS_UL |
Straddle Clnd Sprd / Sell U |
SCal_US |
Condor Call |
CndrC |
Straddle Fly |
StradFly |
Condor Call / Buy U |
CndrC_UL |
Straddle Fly / Buy U |
StradFly_UL |
Condor Call / Sell U |
CndrC_US |
Straddle Fly / Sell U |
StradFly_US |
Condor Put |
CndrP |
Straddle vs Call |
Strad_C |
Condor Put / Buy U |
CndrP_UL |
Straddle vs Call / Buy U |
Strad_C_UL |
Condor Put / Sell U |
CndrP_US |
Straddle vs Call / Sell U |
Strad_C_US |
Condor, Futures |
Condor |
Straddle vs Put |
Strad_P |
Diag Calendar Spread Call |
DCalC |
Straddle vs Put / Buy U |
Strad_P_UL |
Diag Calendar Spread Put |
DCalP |
Straddle vs Put / Sell U |
Strad_P_US |
Diag Clnd Call Sprd / Buy U |
DCalC_UL |
Straddle vs Strangle |
SD_SG |
Diag Clnd Call Sprd / Sell U |
DCalC_US |
Straddle vs Strangle / Buy U |
SD_SG_UL |
Diag Clnd Put Sprd / Buy U |
DCalP_UL |
Straddle vs Strangle / Sell U |
SD_SG_US |
Diag Clnd Put Sprd / Sell U |
DCalP_US |
Straddle, Long |
StradL |
Diag Straddle Clnd Spread |
DSCal |
Strangle |
Strang |
Diag Strdl Clnd Sprd / Buy U |
DSCal_UL |
Strangle / Buy U |
Strang_UL |
Diag Strdl Clnd Sprd / Sell U |
DSCal_US |
Strangle / Sell U |
Strang_US |
Dirty Dark Spread |
DDark |
Strangle Spread |
StrSpr |
Dirty Spark Spread |
DSpark |
Strangle Spread / Buy U |
StrSpr_UL |
Emission Spread |
ESpread |
Strangle Spread / Sell U |
StrSpr_US |
Fence, Long |
FenceL |
Strip |
Strip |
Fence, Short |
FenceS |
Synthetic Offpeak Spread |
Offpick |
Guts |
Guts |
Time Spread |
TSpread |
Guts / Buy U |
Guts_UL |
Volatility Trade, Call |
CallVT |
Guts / Sell U |
Guts_US |
Volatility Trade, Put |
PutVT |
Non-UDS |
Abbreviation (user type) |
Non-UDS |
Abbreviation (user type) |
Bear Call Spread |
BearC |
Semi-Underlying, Long |
SemiUL |
Bull Put Spread |
BullP |
Semi-Underlying, Short |
SemiUS |
Butterfly Call, Short |
BflyCS |
Straddle, Short |
StradS |
Butterfly Put, Short |
BflyPS |
Strangle, Long |
StrangL |
Call, Long |
CallL |
Strangle, Short |
StrangS |
Call, Short |
CallS |
Synthetic Call, Long |
SynCallL |
Covered Call Write |
CovCW |
Synthetic Call, Short |
SynCallS |
Delta Neutral Call Ratio |
DNeutC |
Synthetic Put, Long |
SynPutL |
Iron Butterfly Gut, Long |
IBGutL |
Synthetic Put, Short |
SynPutS |
Iron Butterfly Gut, Short |
IBGutS |
Synthetic Underlying Short |
SynUS |
Iron Butterfly, Long |
IBflyL |
XMas Tree Call, Short |
CTreeCS |
Put, Long |
PutL |
XMas Tree Put, Short |
CTreePS |
Put, Short |
PutS |
|
|
UDS market data
UDS data can be viewed on:
• Monitors
• Strategy Analysis ((options)
•Trading Applications, including Spreadsheet Trader
Until an order for a spread is sent and accepted by an exchange for trading, the market data shown on the DOM ladder is synthetic.
If the UDS has been defined by someone else and the spread is trading, then the market data shown is actual, not synthetic.
For example:
You create a Ratio Call spread for EP in the Strategy Analysis window.
You click the Trade button to view the market for this spread on DOMTrader.
The spread does not exist, and so synthetic market data is displayed on the DOMTrader.
You place an order for this spread. CQG sends the request over our gateway to the exchange.
The exchange accepts the order and creates the spread.
The market data goes from synthetic to actual.