{"id":7148,"date":"2025-08-28T22:36:12","date_gmt":"2025-08-29T03:36:12","guid":{"rendered":"https:\/\/librarytestdev.wpenginepowered.com\/?post_type=doc&#038;p=7148"},"modified":"2025-09-05T13:32:29","modified_gmt":"2025-09-05T18:32:29","slug":"market-data-message-flows","status":"publish","type":"doc","link":"https:\/\/library-staging.tradingtechnologies.com\/tt-fix\/tt-fix-market-data\/tt-fix-message-conversations-tt-fix-market-data\/market-data-message-flows\/","title":{"rendered":"Market data message flows"},"content":{"rendered":"\n<section id=\"intro\">\n\t<p>A FIX client starts a FIX Market Data session by sending a <a href=\"\/tt-fix\/general\/Msg_Logon_A.html\">Logon (A)<\/a> message to TT FIX and ends the session by calling the <a href=\"\/tt-fix\/general\/Msg_Logout_5.html\">Logout (5)<\/a> message. While connected to a FIX Market Data session, a FIX client engages in a series of message conversations (requests and responses) with TT FIX to access information about tradable instruments. Typically, market data message conversations involve the following request and response messages.<\/p>\n\t\n\t<table class=\"table table-striped table-bordered\" border=\"1\">\n\t\t<tr>\n\t\t\t<th>Requests<\/th>\n\t\t\t<th>Responses<\/th>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td width=\"50%\">\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_MarketDataRequest_V.html\">Market Data Request (V)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinitionRequest_c.html\">Security Definition Request (c)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_SecurityStatusRequest_e.html\">Order Cancel Request (F)<\/a>\n\t\t\t<\/td>\n\t\t\t<td width=\"50%\">\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_MarketDataSnapshot_W.html\">Market Data Snapshot (W)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_MarketDataIncrementalRefresh_X.html\">Market Data Incrementatl Refresh (X)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_MarketDataRequestReject_Y.html\">Market Data Reject (Y)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinition_d.html\">Security Definition (d)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"\/tt-fix\/market-data\/Msg_SecurityStatus_f.html\">Security Status (f)<\/a>\n\t\t\t<\/td>\n\t\t<\/tr>\n\t<\/table>\n\n\t<ul>\n\t\t<li>\n\t\t\tGet details about instruments\n\t\t<\/li>\n\t\t<li>\n\t\t\tMonitor the trading status of an instrument\n\t\t<\/li>\n\t\t<li>\n\t\t\tRequest market data for instruments\n\t\t<\/li>\n\t<\/ul>\n\n<\/section>\n\n<section>\n\t<h2>Getting details about instruments<\/h2>\n\t\n\t<p><img decoding=\"async\" class=\"img-responsive\" src=\"https:\/\/library-staging.tradingtechnologies.com\/wp-content\/uploads\/2025\/08\/security-definition-flow.png\" alt=\"\"><\/p>\n\t<ol>\n\t\t<li>\n\t\t\tThe security definition message flow begins with a FIX client sending a <a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinitionRequest_c.html\">Security Definition Request (c)<\/a> message with the desired filtering criteria.\n\t\t<\/li>\n\t\t<li>\n\t\t\tFor each instrument that matches the filtering criteria, the exchange responds with a <a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinition_d.html\">Security Definition (d)<\/a> message with the details about the instrument.\n\t\t\t<p><\/p>\n\t\t\tSending a <a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinitionRequest_c.html\">Security Definition Request (c)<\/a> message instructs TT FIX to subscribe for contracts that match the filter criteria.\n\t\t<\/li>\n\t\t<li>\n\t\t\tWhen the exchange makes any changes to the instrument details, such as the tick size, TT FIX sends another <a href=\"\/tt-fix\/market-data\/Msg_SecurityDefinition_d.html\">Security Definition (d)<\/a> message for the updated instrument.\n\t\t<\/li>\n\t<\/ol>\n\n<\/section>\n\n<section>\n\t<h2>Monitoring the trading status of an instrument<\/h2>\n\t\n\t<p><img decoding=\"async\" class=\"img-responsive\" src=\"https:\/\/library-staging.tradingtechnologies.com\/wp-content\/uploads\/2025\/08\/security-status-flow-scaled.png\" alt=\"\"><\/p>\n\t<ol>\n\t\t<li>\n\t\t\tThe security status message flow begins with a FIX client sending a <a href=\"\/tt-fix\/market-data\/Msg_SecurityStatusRequest_e.html\">Security Status Request (e)<\/a> message with the desired instrument and subscription type.\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t(1A) To get a single snapshot, the FIX client sets 263=0 in the request.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(1B) To get a single snapshot and subscribe for future status changes, the FIX client sets 263=1 in the request.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(1C) To cancel a subsription, the FIX client sets 263=2 in the request.\n\t\t\t\t\t<p><\/p>\n\t\t\t\t\tThe message flow is complete.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\n\t\t<\/li>\n\t\t<li>\n\t\t\tTT FIX sends a <a href=\"\/tt-fix\/market-data\/Msg_SecurityStatus_f.html\">Security Status (f)<\/a> message for the requested instrument.\n\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t(2A) TT FIX sends the current trading status of the instrument.\n\t\t\t\t\t<p><\/p>\n\t\t\t\t\tThe message flow is complete.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(2B) TT FIX sends the current trading status of the instrument and subscribes for status updates. When an update occurs, TT FIX sends a new <a href=\"\/tt-fix\/market-data\/Msg_SecurityStatus_f.html\">Security Status (f)<\/a> message with the new information.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\n\t\t<\/li>\n\t<\/ol>\n\n<\/section>\n\n<section>\n\t<h2>Requesting market data for instruments<\/h2>\n\t\n\t<p><img decoding=\"async\" class=\"img-responsive\" src=\"https:\/\/library-staging.tradingtechnologies.com\/wp-content\/uploads\/2025\/08\/market-data-flow.png\" alt=\"\"><\/p>\n\t<ol>\n\t\t<li>\n\t\t\tThe market data message flow begins with a FIX client sending a <a href=\"\/tt-fix\/market-data\/Msg_MarketDataRequest_V.html\">Market Data Request (V)<\/a> message with the desired instrument and subscription type.\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t(1A) The FIX client requests one snapshot of market data for an instrument.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(1B) The FIX client subscribes for market data for an instruments and requests to receive all market data, even it it has not changed.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(1C) The FIX client subscribes for market data for an instruments and requests to receive only market data that has changed.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(1D) The FIX client cancels the market data subscription.\n\t\t\t\t\t<p><\/p>\n\t\t\t\t\tThe message flow is complete.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\t\t\t\n\t\t<\/li>\n\t\t<li>\n\t\t\tTT FIX sends <a href=\"\/tt-fix\/market-data\/Msg_MarketDataRequestReject_Y.html\">Market Data Reject (Y)<\/a> if it cannot fulfill the request for market data, such as specifying an invalid instrument.\n\t\t<\/li>\n\t\t<li>\n\t\t\tTT sends a <a href=\"\/tt-fix\/market-data\/Msg_MarketDataSnapshot_W.html\">Market Data Snapshot (W)<\/a> message.\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t(3A) For a snapshot update type (263=0), the message flow is complete.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(3B) For a subscription update type (263=1) with a request for full updates (265=0), TT continues to send <a href=\"\/tt-fix\/market-data\/Msg_MarketDataSnapshot_W.html\">Market Data Snapshot (W)<\/a> messages each time the market data changes.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(3C) For a subscription update type (263=1) with a request for incremental updates (265=1), TT sends one <a href=\"\/tt-fix\/market-data\/Msg_MarketDataSnapshot_W.html\">Market Data Snapshot (W)<\/a> message.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\t\t\t\n\t\t<\/li>\n\t\t<li>\n\t\t\tAs market data changes for the instrument, TT continues to send a <a href=\"\/tt-fix\/market-data\/Msg_MarketDataIncrementalRefresh_X.html\">Market Data Incremental Refresh (X)<\/a> message.\n\t\t<\/li>\n\t<\/ol>\n\t\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>A FIX client starts a FIX Market Data session by sending a Logon (A) message to TT FIX and ends the session by [&hellip;]<\/p>\n","protected":false},"author":2,"template":"","meta":{"_acf_changed":false,"footnotes":""},"docs-category":[478],"class_list":["post-7148","doc","type-doc","status-publish","hentry","docs-category-tt-fix-message-conversations-tt-fix-market-data"],"acf":[],"_links":{"self":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc\/7148","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\/7148\/revisions"}],"wp:attachment":[{"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/media?parent=7148"}],"wp:term":[{"taxonomy":"docs-category","embeddable":true,"href":"https:\/\/library-staging.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/docs-category?post=7148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}