User-Defined Strategies (UDS)

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.

 

 

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.

      Future-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).

User-defined strategy

Abbreviation (user type)

User-defined strategy

Abbreviation (user type)

2x1 Ratio Spread Call / Buy U

2x1C_UL

Iron Condor

ICndr

2x1 Ratio Spread Call / Sell U

2x1C_US

Iron Condor / Buy U

ICndr_UL

2x1 Ratio Spread Put / Buy U

2x1P_UL

Iron Condor / Sell U

ICndr_US

2x1 Ratio Spread Put / Sell U

2x1P_US

Jelly Roll

JRoll

2x3x2 Ratio Butterfly Call

2x3x2BflyC

Ladder Call / Buy U

CTreeCL_UL

2x3x2 Ratio Butterfly Call / Buy U

2x3x2BflyC_UL

Ladder Call / Sell U

CTreeCL_US

2x3x2 Ratio Butterfly Call / Sell U

2x3x2BflyC_US

Ladder Put / Buy U

CTreePL_UL

2x3x2 Ratio Butterfly Put

2x3x2BflyP

Ladder Put / Sell U

CTreePL_US

2x3x2 Ratio Butterfly Put / Buy U

2x3x2BflyP_UL

Location Spread

LSpread

2x3x2 Ratio Butterfly Put / Sell U

2x3x2BflyP_US

Pack, Futures

Pack

3 Way: Call Spread vs a Put

CSpr_P

Pack: Blue

BluePack

3 Way: Put Spread vs a Call

PSpr_C

Pack: Copper

CopperPack

3 Way: Straddle vs a Call

Strd_C

Pack: Gold

GoldPack

3 Way: Straddle vs a Put

Strd_P

Pack: Green

GreenPack

3x1 Ratio Spread Call

3x1C

Pack: Orange

OrangePack

3x1 Ratio Spread Call / Buy U

3x1C_UL

Pack: Pink

PinkPack

3x1 Ratio Spread Call / Sell U

3x1C_US

Pack: Purple

PurplePack

3x1 Ratio Spread Put

3x1P

Pack: Red

RedPack

3x1 Ratio Spread Put / Buy U

3x1P_UL

Pack: Silver

SilverPack

3x1 Ratio Spread Put / Sell U

3x1P_US

Pack: White

WhitePack

3x2 Ratio Spread Call

3x2C

Ratio Risky

RRatio

3x2 Ratio Spread Call / Buy U

3x2C_UL

Ratio Risky / Sell U

RRatio_US

3x2 Ratio Spread Call / Sell U

3x2C_US

Ratio Spread, Call

RatioC

3x2 Ratio Spread Put

3x2P

Ratio Spread, Put

RatioP

3x2 Ratio Spread Put / Buy U

3x2P_UL

Reversal/Conversion

Rev

3x2 Ratio Spread Put / Sell U

3x2P_US

Risk Reversal

SynUL

Back Spread, Call

BackC

Risky Swap

RSwap

Back Spread, Put

BackP

Risky Swap / Buy U

RSwap_UL

Basis Spread

Basis

Risky Swap / Sell U

RSwap_US

Bear Call Spread

BearC

Risky Time Spread

RTime

Bear Put Spread

BearP

Risky Time Spread / Sell U

RTime_US

Bond Futures Spread

InterBonds

Semi-Underlying, Long

SemiUL

Box Spread

Box

Semi-Underlying, Short

SemiUS

Bull Call Spread

BullC

Skinny Butterfly Call

SkinBflyC

Bull Put Spread

BullP

Skinny Butterfly Call / Buy U

SkinBflyC_UL

Bundle, Futures

Bndl

Skinny Butterfly Call / Sell U

SkinBflyC_US

Butterfly Call / Buy U

BflyCL_UL

Skinny Butterfly Put

SkinBflyP

Butterfly Call / Sell U

BflyCL_US

Skinny Butterfly Put / Buy U

SkinBflyP_UL

Butterfly Call, Long

BflyCL

Skinny Butterfly Put / Sell U

SkinBflyP_US

Butterfly Call, Short

BflyCS

Spread Call / Sell U

BullC_US

Butterfly Put / Buy U

BflyPL_UL

Spread Call vs Call

BullC_C

Butterfly Put / Sell U

BflyPL_US

Spread Call vs Call / Buy U

BullC_C_UL

Butterfly Put, Long

BflyPL

Spread Call vs Call / Sell U

BullC_C_US

Butterfly Put, Short

BflyPS

Spread Call vs Spread Put

BC_BP

Butterfly, Futures

Bfly

Spread Call vs Spread Put / Buy U

BC_BP_UL

Calendar 2x1 Ratio Call

Cal2x1C

Spread Call vs Spread Put / Sell U

BC_BP_US

Calendar 2x1 Ratio Call / Buy U

Cal2x1C_UL

Spread Call vs sell Put

BullC_P

Calendar 2x1 Ratio Call / Sell U

Cal2x1C_US

Spread Call vs sell Put / Sell U

BullC_P_US

Calendar 2x1 Ratio Put

Cal2x1P

Spread Put / Buy U

BearP_UL

Calendar 2x1 Ratio Put / Buy U

Cal2x1P_UL

Spread Put vs Put

BearP_P

Calendar 2x1 Ratio Put / Sell U

Cal2x1P_US

Spread Put vs Put / Buy U

BearP_P_UL

Calendar Call

CalC

Spread Put vs Put / Sell U

BearP_P_US

Calendar Fly Call

CalFlyC

Spread Put vs sell Call

BearP_C

Calendar Fly Call / Buy U

CalFlyC_UL

Spread Put vs sell Call / Buy U

BearP_C_UL

Calendar Fly Call / Sell U

CalFlyC_US

Spread Swap Call

SwapC

Calendar Fly Put

CalFlyP

Spread Swap Call / Buy U

SwapC_UL

Calendar Fly Put / Buy U

CalFlyP_UL

Spread Swap Call / Sell U

SwapC_US

Calendar Fly Put / Sell U

CalFlyP_US

Spread Swap Put

SwapP

Calendar Put

CalP

Spread Swap Put / Buy U

SwapP_UL

Calendar Spread Call / Buy U

CalC_UL

Spread Swap Put / Sell U

SwapP_US

Calendar Spread Call / Sell U

CalC_US

Straddle / Buy U

StradL_UL

Calendar Spread Put / Buy U

CalP_UL

Straddle / Sell U

StradL_US

Calendar Spread Put / Sell U

CalP_US

Straddle Calendar Spread

SCal

Calendar Spread, Futures

Cal

Straddle Clnd Sprd / Buy U

SCal_UL

Christmas Tree Call, Long

CTreeCL

Straddle Clnd Sprd / Sell U

SCal_US

Christmas Tree Call, Short

CTreeCS

Straddle Fly

StradFly

Christmas Tree Put, Long

CTreePL

Straddle Fly / Buy U

StradFly_UL

Christmas Tree Put, Short

CTreePS

Straddle Fly / Sell U

StradFly_US

Clean Dark Spread

CDark

Straddle vs Call

Strad_C

Clean Spark Spread

CSpark

Straddle vs Call / Buy U

Strad_C_UL

Combo

CmbS

Straddle vs Call / Sell U

Strad_C_US

Combo / Buy U

CmbS_UL

Straddle vs Put

Strad_P

Condor Call

CndrC

Straddle vs Put / Buy U

Strad_P_UL

Condor Call / Buy U

CndrC_UL

Straddle vs Put / Sell U

Strad_P_US

Condor Call / Sell U

CndrC_US

Straddle vs Strangle

SD_SG

Condor Put

CndrP

Straddle vs Strangle / Buy U

SD_SG_UL

Condor Put / Buy U

CndrP_UL

Straddle vs Strangle / Sell U

SD_SG_US

Condor Put / Sell U

CndrP_US

Straddle, Long

StradL

Condor, Futures

Condor

Straddle, Short

StradS

Covered Call Write

CovCW

Strangle

Strang

Delta Neutral Call Ratio

DNeutC

Strangle / Buy U

Strang_UL

Diag Calendar Spread Call

DCalC

Strangle / Sell U

Strang_US

Diag Calendar Spread Put

DCalP

Strangle Spread

StrSpr

Diag Clnd Call Sprd / Buy U

DCalC_UL

Strangle Spread / Buy U

StrSpr_UL

Diag Clnd Call Sprd / Sell U

DCalC_US

Strangle Spread / Sell U

StrSpr_US

Diag Clnd Put Sprd / Buy U

DCalP_UL

Strangle, Long

StrangL

Diag Clnd Put Sprd / Sell U

DCalP_US

Strangle, Short

StrangS

Diag Straddle Clnd Spread

DSCal

Strip

Strip

Diag Strdl Clnd Sprd / Buy U

DSCal_UL

Synthetic Call, Long

SynCallL

Diag Strdl Clnd Sprd / Sell U

DSCal_US

Synthetic Call, Short

SynCallS

Dirty Dark Spread

DDark

Synthetic Offpeak Spread

Offpick

Dirty Spark Spread

DSpark

Synthetic Put, Long

SynPutL

Emission Spread

ESpread

Synthetic Put, Short

SynPutS

Fence, Long

FenceL

Synthetic Underlying Short

SynUS

Fence, Short

FenceS

Time Spread

TSpread

Guts

Guts

Volatility Trade, Call

CallVT

Guts / Buy U

Guts_UL

Volatility Trade, Put

PutVT

Guts / Sell U

Guts_US

 

 

Inter-commodity spread

InterComm

 

 

Iron Butterfly / Buy U

IBflyS_UL

 

 

Iron Butterfly / Sell U

IBflyS_US

 

 

Iron Butterfly Gut, Long

IBGutL

 

 

Iron Butterfly Gut, Short

IBGutS

 

 

Iron Butterfly, Long

IBflyL

 

 

Iron Butterfly, Short

IBflyS

 

 

 

 

 

 

 

Note that exchange strategy names may be different from CQG names.

UDS market data

UDS data can be viewed on:

      Time and Sales

      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.