{"id":7018,"date":"2025-08-28T22:11:57","date_gmt":"2025-08-29T03:11:57","guid":{"rendered":"https:\/\/librarytestdev.wpenginepowered.com\/?post_type=doc&#038;p=7018"},"modified":"2025-09-04T17:17:23","modified_gmt":"2025-09-04T22:17:23","slug":"tt-implementation-of-prices-and-ticking","status":"publish","type":"doc","link":"https:\/\/library-staging.tradingtechnologies.com\/apis\/tt-core-sdk\/subscribing-for-market-data\/tt-implementation-of-prices-and-ticking\/","title":{"rendered":"TT Implementation of Prices and Ticking"},"content":{"rendered":"\n<h2 id=\"how-tt-represents-ticks\">How TT Represents Ticks<\/h2>\n\n  <p>\n    A price in ticks is always an integer value. With this in\n    mind, consider the following exchange contract specification\n    for FGBL.\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <td><strong>Product<\/strong><\/td>\n      <td>Eurex Euro-Bund (FGBL)<\/td>\n      <td>Eurex Euro-Bund (FGBL)<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Product type<\/strong><\/td>\n      <td>Future<\/td>\n      <td>Calendar Spread<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Point value<\/strong><\/td>\n      <td>\u20ac1000<\/td>\n      <td>\u20ac1000<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick size<\/strong><\/td>\n      <td>1\/100 of a point<\/td>\n      <td>1\/100 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick value<\/strong><\/td>\n      <td>\u20ac10<\/td>\n      <td>\u20ac10<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>\n    Notice that the Tick Size is the same for both the futures and\n    the calendar spreads. Now assume that you bought one\n    FGBL-Sep20xDec20 spread at 1\/100 and received the following\n    fills.\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <th>Contract<\/th>\n      <th>Buy\/Sell<\/th>\n      <th>Qty<\/th>\n      <th>Price (Points-Fractional)<\/th>\n    <\/tr>\n    <tr>\n      <td>FGBL-Sep20<\/td>\n      <td>Buy<\/td>\n      <td>1<\/td>\n      <td>114 15\/100<\/td>\n    <\/tr>\n    <tr>\n      <td>FGBL-Dec20<\/td>\n      <td>Sell<\/td>\n      <td>1<\/td>\n      <td>114 14\/100<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>Converting these prices to ticks format, you get:<\/p>\n\n  <ul>\n    <li>\n      Price (ticks) of FGBL-Sep20 = (114 15\/100) \/ (1\/100) = 11415\n    <\/li>\n    <li>\n      Price (ticks) of FGBL-Dec20 = (114 14\/100) \/ (1\/100) = 11411\n    <\/li>\n  <\/ul>\n\n  <p>\n    If you then sold 1 FGBL-Sep20 future at 114 17\/100, your\n    P&amp;L for the FGBL-Sep20 contract would be:\n  <\/p>\n\n  <ul>\n    <li>\n      P&amp;L (contract currency) = 1 x (11417 &#8211; 11415) x \u20ac10 =\n      \u20ac20\n    <\/li>\n  <\/ul>\n\n  <p>\n    Now consider the following exchange contract specifications\n    for the CBOT 30-year US Treasury Bond futures and calendar\n    spreads.\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <td><strong>Product<\/strong><\/td>\n      <td>CBOT 30-Year US Treasury Bonds (ZB)<\/td>\n      <td>CBOT 30-Year US Treasury Bonds (ZB)<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Product type<\/strong><\/td>\n      <td>Future<\/td>\n      <td>Calendar Spread<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Point value<\/strong><\/td>\n      <td>$1000<\/td>\n      <td>$1000<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick size<\/strong><\/td>\n      <td>1\/32 of a point<\/td>\n      <td>1\/128 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick value<\/strong><\/td>\n      <td>$31.25<\/td>\n      <td>$7.8125<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>\n    Notice that the Tick Size and Tick Value of the calendar\n    spread is defined as a factor of four smaller than those of\n    the futures contract. Now assume that you bought one\n    ZB-Sep20xDec20 spread at 1\/128 and received the following\n    fills:\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <th>Contract<\/th>\n      <th>Buy\/Sell<\/th>\n      <th>Qty<\/th>\n      <th>Price (Points-Fractional)<\/th>\n    <\/tr>\n    <tr>\n      <td>ZB-Sep20<\/td>\n      <td>Buy<\/td>\n      <td>1<\/td>\n      <td>114 15\/128<\/td>\n    <\/tr>\n    <tr>\n      <td>ZB-Dec20<\/td>\n      <td>Sell<\/td>\n      <td>1<\/td>\n      <td>114 14\/128<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>Converting these prices to ticks format, you get:<\/p>\n\n  <ul>\n    <li>\n      Price (Ticks) of ZB-Sep20 = (114 15\/128) \/ (1\/32) = 3651.75\n    <\/li>\n    <li>\n      Price (Ticks) of ZB-Dec20 = (114 14\/128) \/ (1\/32) = 3651.50\n    <\/li>\n  <\/ul>\n\n  <p>\n    Notice that you can receive futures fill prices that are not\n    evenly divisible by the Tick Size when corresponding spreads\n    trade in a smaller Tick Size. Because ticks are integers,\n    these values would be incorrectly rounded to the nearest whole\n    number. All calculations involving these fill prices would\n    then be wrong, including P&amp;L.\n  <\/p>\n\n  <p>\n    As a result, TT calculates the least common denominator of the\n    Tick Sizes of all contracts of the same product and defines\n    this as the TT Base Tick Size. TT also defines a TT Base Tick\n    Size Multiplier for each contract to calculate the actual Tick\n    Size. It determines the Tick Size for a contract using the\n    following formula:\n  <\/p>\n\n  <ul>\n    <li>\n      Tick Size = TT Base Tick Size x TT Base Tick Size Multiplier\n    <\/li>\n  <\/ul>\n\n  <p>\n    Because FGBL futures and calendar spreads have the same Tick\n    Size, TT sets the TT Base Tick Size of both to 1\/100 and sets\n    the TT Base Tick Size Multiplier of both to 1, as shown:\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <td><strong>Product<\/strong><\/td>\n      <td>Eurex Euro-Bund (FGBL)<\/td>\n      <td>Eurex Euro-Bund (FGBL)<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Product Type<\/strong><\/td>\n      <td>Future<\/td>\n      <td>Calendar Spread<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Point Value<\/strong><\/td>\n      <td>\u20ac1000<\/td>\n      <td>\u20ac1000<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick Size<\/strong><\/td>\n      <td>1\/100 of a point<\/td>\n      <td>1\/100 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick Value<\/strong><\/td>\n      <td>\u20ac1000<\/td>\n      <td>\u20ac1000<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>TT Base Tick Size<\/strong><\/td>\n      <td>1\/100 of a point<\/td>\n      <td>1\/100 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>TT Base Tick Size Multiplier<\/strong><\/td>\n      <td>1<\/td>\n      <td>1<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>\n    However, because ZB futures and calendar spreads have\n    different Tick Sizes, TT sets the TT Base Tick Size of both to\n    1\/128 (128 is the least common denominator). TT also sets the\n    TT Base Tick Size Multiplier of the futures to 4 (since 1\/128\n    x 4 = 1\/32) and the TT Base Tick Size Multiplier of the\n    spreads to 1 (since 1\/128 x 1 = 1\/128).\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <td><strong>Product<\/strong><\/td>\n      <td>CBOT 30-Year US Treasury Bonds (ZB)<\/td>\n      <td>CBOT 30-Year US Treasury Bonds (ZB)<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Product Type<\/strong><\/td>\n      <td>Future<\/td>\n      <td>Calendar Spread<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Point Value<\/strong><\/td>\n      <td>$1000<\/td>\n      <td>$1000<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick Size<\/strong><\/td>\n      <td>1\/32 of a point<\/td>\n      <td>1\/128 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Tick Value<\/strong><\/td>\n      <td>$31.25<\/td>\n      <td>$7.8125<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>TT Base Tick Size<\/strong><\/td>\n      <td>1\/128 of a point<\/td>\n      <td>1\/128 of a point<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>TT Base Tick Size Multiplier<\/strong><\/td>\n      <td>4<\/td>\n      <td>1<\/td>\n    <\/tr>\n  <\/table>\n\n  <p>\n    TT applications use the TT Base Tick Size when converting a\n    price to ticks. For the FGBL fills listed above, the\n    calculations yield the same results, because the Tick Size and\n    the TT Base Tick Size are the same. For the ZB fills listed\n    above, however, the calculations yield the following:\n  <\/p>\n\n  <ul>\n    <li>\n      Price (Ticks) of ZB-Sep20 = (114 15\/128) \/ (1\/128) = 14607\n    <\/li>\n    <li>\n      Price (Ticks) of ZB-Dec20 = (114 14\/128) \/ (1\/128) = 14606\n    <\/li>\n  <\/ul>\n\n  <p>\n    Notice that the result represents the number of ticks of size\n    1\/128. The TT Tick Value corresponding to the TT Tick Size is\n    calculated as follows:\n  <\/p>\n\n  <ul>\n    <li>\n      TT Tick Value = Point Value x TT Tick Size = $1000 x (1\/128)\n      = $7.8125\n    <\/li>\n  <\/ul>\n\n  <p>\n    If you then sold 1 ZB-Sep20 future at 114 5\/32 (dividing by\n    1\/128 gives 14,612 ticks), your P&amp;L for the ZB-Sep20\n    contract would be:\n  <\/p>\n\n  <ul>\n    <li>\n      P&amp;L (contract currency) = 1 x (14,612 &#8211; 14,607) x\n      $7.8125 = $39.0625\n    <\/li>\n  <\/ul>\n\n  <h2 id=\"tt-display-format\">TT Display Format<\/h2>\n\n  <p>\n    TT developed a variety of algorithms to convert prices in\n    points to the TT Display format, based on how traders prefer\n    to see prices for particular products in TT. For example, the\n    algorithm associated with Eurex FGBL futures simply converts\n    the price in points to a string without any additional\n    processing. For example, if the price of an FGBL contract in\n    Points is 100.02, TT displays \u201c100.02\u201d.\n  <\/p>\n\n  <p>\n    The algorithm associated with a CBOT ZB spread converts the\n    price in points to a string as shown in the following table.\n    Recall that the Tick Size of CBOT ZB spreads is 1\/128,\n    sometimes known in the industry as \u201c1\/4 of 1\/32\u201d.\n  <\/p>\n\n  <table class=\"table table-striped\">\n    <tr>\n      <th><strong>Full Price<\/strong><\/th>\n      <th><strong>Points (Fractional)<\/strong><\/th>\n      <th><strong>Points (Decimal)<\/strong><\/th>\n      <th><strong>Ticks<\/strong><\/th>\n      <th><strong>TT Display<\/strong><\/th>\n    <\/tr>\n    <tr>\n      <td>$2,062.50<\/td>\n      <td>2 2\/128 (2 0.5\/32)<\/td>\n      <td>2.0156250<\/td>\n      <td>258<\/td>\n      <td>2005<\/td>\n    <\/tr>\n    <tr>\n      <td>$2,031.25<\/td>\n      <td>2 1\/128 (2 0.25\/32)<\/td>\n      <td>2.0078125<\/td>\n      <td>257<\/td>\n      <td>2002<\/td>\n    <\/tr>\n    <tr>\n      <td>$2,000.00<\/td>\n      <td>2 0\/128 (2 0.0\/32)<\/td>\n      <td>2.0000000<\/td>\n      <td>256<\/td>\n      <td>2000<\/td>\n    <\/tr>\n    <tr>\n      <td>$1,968.75<\/td>\n      <td>1 127\/128 (1 31.75\/32)<\/td>\n      <td>1.9921875<\/td>\n      <td>255<\/td>\n      <td>1317<\/td>\n    <\/tr>\n    <tr>\n      <td>$1,937.50<\/td>\n      <td>1 126\/128 (1 31.5\/32)<\/td>\n      <td>1.9843750<\/td>\n      <td>254<\/td>\n      <td>1315<\/td>\n    <\/tr>\n  <\/table>\n","protected":false},"excerpt":{"rendered":"<p>How TT Represents Ticks A price in ticks is always an integer value. With this in mind, consider the following [&hellip;]<\/p>\n","protected":false},"author":2,"template":"wp-custom-template-single-doc-tt-core-sdk","meta":{"_acf_changed":false,"footnotes":""},"docs-category":[447],"class_list":["post-7018","doc","type-doc","status-publish","hentry","docs-category-subscribing-for-market-data"],"acf":[],"_links":{"self":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc\/7018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc"}],"about":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/types\/doc"}],"author":[{"embeddable":true,"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc\/7018\/revisions"}],"wp:attachment":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/media?parent=7018"}],"wp:term":[{"taxonomy":"docs-category","embeddable":true,"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/docs-category?post=7018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}