Exchanges introduced points as a notation that allowed contract prices to be expressed in a shortened format. Exchanges define a Point Value for all contracts that they list, which enables you to convert from the full price of a contract to points by dividing the price by the Point Value. For example, the Point Value for the Eurex Euro Bund futures (FGBL) is defined as €1000. A FGBL futures contract with a price of €114,000 can also be expressed as 114 points (€114,000/€1000).
Exchanges also define a Tick Size for all contracts they list that represents the minimum allowable price movement in points. For example, the Tick Size for the FGBL futures is defined as 1/100 of a point. You can express a price in ticks by dividing the price in points by the Tick Size. You can express a FGBL futures price of 114 points as 11,400 ticks (114/(1/100)).
The following table lists a sample of the allowable trading prices for FGBL futures in these various formats.
Full Price
Points (Fractional)
Points (Decimal)
Ticks
€100,020.00
100 2/100
100.02
10,002
€100,010.00
100 1/100
100.01
10,001
€100,000.00
100 0/100
100.00
10,000
€99,990.00
99 99/100
99.99
9,999
€99,980.00
99 98/100
99.98
9,998
Tick value
The Tick Value is the dollar value of the minimum allowable price movement. It is calculated by multiplying the Point Value by the Tick Size. The Tick Value of an FGBL futures is €10, calculated as follows:
Tick Value = €1000 x (1/100) = €10
The Tick Value is used to calculate P&L in contract currency as follows:
P&L (contract currency) = Qty x (sell price in ticks – buy price in ticks) x Tick Value
So, for example, if you bought 2 FGBL-Dec13 futures contracts at 99 99/100 and sold 2 FGBL-Dec13 futures contracts at 100 2/100, your P&L in contract currency would be €60:
P&L (contract currency) = 2 x (10002 – 9999) x €10 = €60
P&L calculations use Tick Values because integer math is faster and not prone to rounding errors.
TT .NET SDK stores an instrument’s price information in Price objects. This section provides a more in-depth look at how TT .NET SDK represents prices.
A price in ticks is always an integer value. With this in mind, consider the following exchange contract specification for FGBL.
Product
Eurex Euro-Bund (FGBL)
Eurex Euro-Bund (FGBL)
Product type
Future
Calendar Spread
Point value
€1000
€1000
Tick size
1/100 of a point
1/100 of a point
Tick value
€10
€10
Notice that the Tick Size is the same for both the futures and the calendar spreads. Now assume that you bought one FGBL-Sep20xDec20 spread at 1/100 and received the following fills.
Contract
Buy/Sell
Qty
Price (Points-Fractional)
FGBL-Sep20
Buy
1
114 15/100
FGBL-Dec20
Sell
1
114 14/100
Converting these prices to ticks format, you get:
If you then sold 1 FGBL-Sep20 future at 114 17/100, your P&L for the FGBL-Sep20 contract would be:
Now consider the following exchange contract specifications for the CBOT 30-year US Treasury Bond futures and calendar spreads.
Product
CBOT 30-Year US Treasury Bonds (ZB)
CBOT 30-Year US Treasury Bonds (ZB)
Product type
Future
Calendar Spread
Point value
$1000
$1000
Tick size
1/32 of a point
1/128 of a point
Tick value
$31.25
$7.8125
Notice that the Tick Size and Tick Value of the calendar spread is defined as a factor of four smaller than those of the futures contract. Now assume that you bought one ZB-Sep20xDec20 spread at 1/128 and received the following fills:
Contract
Buy/Sell
Qty
Price (Points-Fractional)
ZB-Sep20
Buy
1
114 15/128
ZB-Dec20
Sell
1
114 14/128
Converting these prices to ticks format, you get:
Notice that you can receive futures fill prices that are not evenly divisible by the Tick Size when corresponding spreads trade in a smaller Tick Size. Because ticks are integers, these values would be incorrectly rounded to the nearest whole number. All calculations involving these fill prices would then be wrong, including P&L.
As a result, TT calculates the least common denominator of the Tick Sizes of all contracts of the same product and defines this as the TT Base Tick Size. TT also defines a TT Base Tick Size Multiplier for each contract to calculate the actual Tick Size. It determines the Tick Size for a contract using the following formula:
Because FGBL futures and calendar spreads have the same Tick Size, TT sets the TT Base Tick Size of both to 1/100 and sets the TT Base Tick Size Multiplier of both to 1, as shown:
Product
Eurex Euro-Bund (FGBL)
Eurex Euro-Bund (FGBL)
Product Type
Future
Calendar Spread
Point Value
€1000
€1000
Tick Size
1/100 of a point
1/100 of a point
Tick Value
€1000
€1000
TT Base Tick Size
1/100 of a point
1/100 of a point
TT Base Tick Size Multiplier
1
1
However, because ZB futures and calendar spreads have different Tick Sizes, TT sets the TT Base Tick Size of both to 1/128 (128 is the least common denominator). TT also sets the TT Base Tick Size Multiplier of the futures to 4 (since 1/128 x 4 = 1/32) and the TT Base Tick Size Multiplier of the spreads to 1 (since 1/128 x 1 = 1/128).
Product
CBOT 30-Year US Treasury Bonds (ZB)
CBOT 30-Year US Treasury Bonds (ZB)
Product Type
Future
Calendar Spread
Point Value
$1000
$1000
Tick Size
1/32 of a point
1/128 of a point
Tick Value
$31.25
$7.8125
TT Base Tick Size
1/128 of a point
1/128 of a point
TT Base Tick Size Multiplier
4
1
TT applications use the TT Base Tick Size when converting a price to ticks. For the FGBL fills listed above, the calculations yield the same results, because the Tick Size and the TT Base Tick Size are the same. For the ZB fills listed above, however, the calculations yield the following:
Notice that the result represents the number of ticks of size 1/128. The TT Tick Value corresponding to the TT Tick Size is calculated as follows:
If you then sold 1 ZB-Sep20 future at 114 5/32 (dividing by 1/128 gives 14,612 ticks), your P&L for the ZB-Sep20 contract would be:
TT display format
TT developed a variety of algorithms to convert prices in points to the TT Display format, based on how traders prefer to see prices for particular products in TT. For example, the algorithm associated with Eurex FGBL futures simply converts the price in points to a string without any additional processing. For example, if the price of an FGBL contract in Points is 100.02, TT displays “100.02”.
The algorithm associated with a CBOT ZB spread converts the price in points to a string as shown in the following table. Recall that the Tick Size of CBOT ZB spreads is 1/128, sometimes known in the industry as “1/4 of 1/32”.
Full Price
Points (Fractional)
Points (Decimal)
Ticks
TT Display
$2,062.50
2 2/128 (2 0.5/32)
2.0156250
258
2005
$2,031.25
2 1/128 (2 0.25/32)
2.0078125
257
2002
$2,000.00
2 0/128 (2 0.0/32)
2.0000000
256
2000
$1,968.75
1 127/128 (1 31.75/32)
1.9921875
255
1317
$1,937.50
1 126/128 (1 31.5/32)
1.9843750
254
1315
In cases where the Price Display Type is NORMAL, the TT Display format can be calculated by multiplying the price in points by the Price Display Factor. For example, CME ES has Price Display Type = NORMAL and Price Display Factor = 0.01.