From 7f9e57639023e3e113d750aead7df6f86537c7e6 Mon Sep 17 00:00:00 2001 From: david-gibbs-ig Date: Sat, 2 Nov 2024 23:37:09 +0100 Subject: [PATCH 1/3] refactored project structure --- .../pom.xml | 4 +- .../readme.md | 0 .../src/main/resources/FIX50SP2.modified.xml | 0 .../pom.xml | 5 +- .../using-legacy-codegen-client/pom.xml | 4 +- .../custom/client/ClientApplication.java | 0 .../client/ClientApplicationAdapter.java | 0 .../ClientApplicationConfiguration.java | 0 .../custom/client/ClientMessageCracker.java | 0 .../src/main/resources/application.yml | 0 .../using-legacy-codegen-client.iml | 11 + .../using-legacy-codegen-server/pom.xml | 4 +- .../custom/server/ServerApplication.java | 0 .../server/ServerApplicationAdapter.java | 0 .../ServerApplicationConfiguration.java | 0 .../custom/server/ServerMessageCracker.java | 0 .../src/main/resources/application.yml | 0 .../using-legacy-codegen-server.iml | 11 + .../fix50sp2-application-messages}/pom.xml | 18 +- .../resources/example-custom-orchestra.xml | 18191 ++++++++++++++++ orchestra/fix50sp2/pom.xml | 21 + .../fixlatest-application-messages/pom.xml | 169 + .../fixlatest-application-messages}/readme.md | 0 .../resources/example-custom-orchestra.xml | 0 orchestra/fixlatest/pom.xml | 21 + .../fixlatest}/using-fixlatest-client/pom.xml | 4 +- .../custom/client/ClientApplication.java | 0 .../client/ClientApplicationAdapter.java | 0 .../ClientApplicationConfiguration.java | 0 .../custom/client/ClientMessageCracker.java | 0 .../src/main/resources/application.yml | 0 .../using-fixlatest-client.iml | 11 + .../fixlatest}/using-fixlatest-server/pom.xml | 4 +- .../custom/server/ServerApplication.java | 0 .../server/ServerApplicationAdapter.java | 0 .../ServerApplicationConfiguration.java | 0 .../custom/server/ServerMessageCracker.java | 0 .../src/main/resources/application.yml | 0 .../using-fixlatest-server.iml | 11 + orchestra/pom.xml | 20 + .../src/main/xsl/extractSessionLayer.xsl | 0 pom.xml | 6 +- ...readme.md => readme-custom-applications.md | 0 43 files changed, 18489 insertions(+), 26 deletions(-) rename {custom-legacy-codegen-application-messages => legacy-codegen/legacy-codegen-fix50sp2-application-messages}/pom.xml (96%) rename {custom-legacy-codegen-application-messages => legacy-codegen/legacy-codegen-fix50sp2-application-messages}/readme.md (100%) rename {custom-legacy-codegen-application-messages => legacy-codegen/legacy-codegen-fix50sp2-application-messages}/src/main/resources/FIX50SP2.modified.xml (100%) rename {custom-applications => legacy-codegen}/pom.xml (81%) mode change 100644 => 100755 rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/pom.xml (94%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplication.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationAdapter.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationConfiguration.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-client/src/main/resources/application.yml (100%) create mode 100755 legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/pom.xml (94%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplication.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationAdapter.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationConfiguration.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java (100%) rename {custom-applications => legacy-codegen}/using-legacy-codegen-server/src/main/resources/application.yml (100%) create mode 100755 legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml rename {custom-application-messages => orchestra/fix50sp2/fix50sp2-application-messages}/pom.xml (89%) mode change 100644 => 100755 create mode 100755 orchestra/fix50sp2/fix50sp2-application-messages/src/main/resources/example-custom-orchestra.xml create mode 100755 orchestra/fix50sp2/pom.xml create mode 100644 orchestra/fixlatest/fixlatest-application-messages/pom.xml rename {custom-application-messages => orchestra/fixlatest/fixlatest-application-messages}/readme.md (100%) rename {src => orchestra/fixlatest/fixlatest-application-messages/src}/main/resources/example-custom-orchestra.xml (100%) create mode 100755 orchestra/fixlatest/pom.xml rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/pom.xml (94%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-client/src/main/resources/application.yml (100%) create mode 100755 orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/pom.xml (94%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java (100%) rename {custom-applications => orchestra/fixlatest}/using-fixlatest-server/src/main/resources/application.yml (100%) create mode 100755 orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml create mode 100755 orchestra/pom.xml rename {custom-application-messages => orchestra}/src/main/xsl/extractSessionLayer.xsl (100%) rename custom-applications/readme.md => readme-custom-applications.md (100%) diff --git a/custom-legacy-codegen-application-messages/pom.xml b/legacy-codegen/legacy-codegen-fix50sp2-application-messages/pom.xml similarity index 96% rename from custom-legacy-codegen-application-messages/pom.xml rename to legacy-codegen/legacy-codegen-fix50sp2-application-messages/pom.xml index 2cdc7b7..068e012 100644 --- a/custom-legacy-codegen-application-messages/pom.xml +++ b/legacy-codegen/legacy-codegen-fix50sp2-application-messages/pom.xml @@ -3,11 +3,11 @@ org.quickfixj.custom.examples - orchestration-examples-parent + legacy-codegen-parent 0.0.1-SNAPSHOT - legacy-codegen-application-messages + legacy-codegen-fix50sp2-application-messages jar QuickFIX/J custom legacy codegen application messages diff --git a/custom-legacy-codegen-application-messages/readme.md b/legacy-codegen/legacy-codegen-fix50sp2-application-messages/readme.md similarity index 100% rename from custom-legacy-codegen-application-messages/readme.md rename to legacy-codegen/legacy-codegen-fix50sp2-application-messages/readme.md diff --git a/custom-legacy-codegen-application-messages/src/main/resources/FIX50SP2.modified.xml b/legacy-codegen/legacy-codegen-fix50sp2-application-messages/src/main/resources/FIX50SP2.modified.xml similarity index 100% rename from custom-legacy-codegen-application-messages/src/main/resources/FIX50SP2.modified.xml rename to legacy-codegen/legacy-codegen-fix50sp2-application-messages/src/main/resources/FIX50SP2.modified.xml diff --git a/custom-applications/pom.xml b/legacy-codegen/pom.xml old mode 100644 new mode 100755 similarity index 81% rename from custom-applications/pom.xml rename to legacy-codegen/pom.xml index e552e68..8daf216 --- a/custom-applications/pom.xml +++ b/legacy-codegen/pom.xml @@ -7,15 +7,14 @@ 0.0.1-SNAPSHOT - custom-applications-parent + legacy-codegen-parent pom - using-fixlatest-server - using-fixlatest-client + legacy-codegen-fix50sp2-application-messages using-legacy-codegen-server using-legacy-codegen-client diff --git a/custom-applications/using-legacy-codegen-client/pom.xml b/legacy-codegen/using-legacy-codegen-client/pom.xml similarity index 94% rename from custom-applications/using-legacy-codegen-client/pom.xml rename to legacy-codegen/using-legacy-codegen-client/pom.xml index 7a09ebc..1c2dd95 100644 --- a/custom-applications/using-legacy-codegen-client/pom.xml +++ b/legacy-codegen/using-legacy-codegen-client/pom.xml @@ -3,7 +3,7 @@ org.quickfixj.custom.examples - custom-applications-parent + legacy-codegen-parent 0.0.1-SNAPSHOT @@ -41,7 +41,7 @@ org.quickfixj.custom.examples - legacy-codegen-application-messages + legacy-codegen-fix50sp2-application-messages 0.0.1-SNAPSHOT diff --git a/custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplication.java b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplication.java similarity index 100% rename from custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplication.java rename to legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplication.java diff --git a/custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationAdapter.java b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationAdapter.java similarity index 100% rename from custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationAdapter.java rename to legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationAdapter.java diff --git a/custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationConfiguration.java b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationConfiguration.java similarity index 100% rename from custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationConfiguration.java rename to legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientApplicationConfiguration.java diff --git a/custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java similarity index 100% rename from custom-applications/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java rename to legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java diff --git a/custom-applications/using-legacy-codegen-client/src/main/resources/application.yml b/legacy-codegen/using-legacy-codegen-client/src/main/resources/application.yml similarity index 100% rename from custom-applications/using-legacy-codegen-client/src/main/resources/application.yml rename to legacy-codegen/using-legacy-codegen-client/src/main/resources/application.yml diff --git a/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml b/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml new file mode 100755 index 0000000..a90d545 --- /dev/null +++ b/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/custom-applications/using-legacy-codegen-server/pom.xml b/legacy-codegen/using-legacy-codegen-server/pom.xml similarity index 94% rename from custom-applications/using-legacy-codegen-server/pom.xml rename to legacy-codegen/using-legacy-codegen-server/pom.xml index 6baf6e3..ed99e90 100644 --- a/custom-applications/using-legacy-codegen-server/pom.xml +++ b/legacy-codegen/using-legacy-codegen-server/pom.xml @@ -3,7 +3,7 @@ org.quickfixj.custom.examples - custom-applications-parent + legacy-codegen-parent 0.0.1-SNAPSHOT @@ -41,7 +41,7 @@ org.quickfixj.custom.examples - legacy-codegen-application-messages + legacy-codegen-fix50sp2-application-messages 0.0.1-SNAPSHOT diff --git a/custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplication.java b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplication.java similarity index 100% rename from custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplication.java rename to legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplication.java diff --git a/custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationAdapter.java b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationAdapter.java similarity index 100% rename from custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationAdapter.java rename to legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationAdapter.java diff --git a/custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationConfiguration.java b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationConfiguration.java similarity index 100% rename from custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationConfiguration.java rename to legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerApplicationConfiguration.java diff --git a/custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java similarity index 100% rename from custom-applications/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java rename to legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java diff --git a/custom-applications/using-legacy-codegen-server/src/main/resources/application.yml b/legacy-codegen/using-legacy-codegen-server/src/main/resources/application.yml similarity index 100% rename from custom-applications/using-legacy-codegen-server/src/main/resources/application.yml rename to legacy-codegen/using-legacy-codegen-server/src/main/resources/application.yml diff --git a/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml b/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml new file mode 100755 index 0000000..a90d545 --- /dev/null +++ b/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/custom-application-messages/pom.xml b/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml old mode 100644 new mode 100755 similarity index 89% rename from custom-application-messages/pom.xml rename to orchestra/fix50sp2/fix50sp2-application-messages/pom.xml index 94daefd..0e54325 --- a/custom-application-messages/pom.xml +++ b/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml @@ -3,11 +3,11 @@ org.quickfixj.custom.examples - orchestration-examples-parent + orchestra-fixlatest-parent 0.0.1-SNAPSHOT - application-messages + fix50sp2-application-messages jar QuickFIX/J custom application messages @@ -43,12 +43,12 @@ - ../src/main/resources + ${project.basedir}/src/main/resources ${project.build.directory}/generated-resources ${orchestra.file} - ${project.basedir}/src/main/xsl/extractSessionLayer.xsl + ${project.basedir}/../../src/main/xsl/extractSessionLayer.xsl @@ -68,8 +68,8 @@ - ${project.build.directory}/generated-resources/${orchestra.file} - ${project.build.directory}/generated-sources + target/generated-resources/example-custom-orchestra.xml + target/generated-sources true false @@ -87,8 +87,8 @@ - ${project.build.directory}/generated-resources/${orchestra.file} - ${project.build.directory}/generated-resources + target/generated-resources/example-custom-orchestra.xml + target/generated-resources @@ -139,7 +139,7 @@ copy-resources - ${project.build.directory}/classes + target/classes ${project.build.directory}/generated-resources diff --git a/orchestra/fix50sp2/fix50sp2-application-messages/src/main/resources/example-custom-orchestra.xml b/orchestra/fix50sp2/fix50sp2-application-messages/src/main/resources/example-custom-orchestra.xml new file mode 100755 index 0000000..6805627 --- /dev/null +++ b/orchestra/fix50sp2/fix50sp2-application-messages/src/main/resources/example-custom-orchestra.xml @@ -0,0 +1,18191 @@ + + + + FIX.Latest_EP273 + + 2022-09-27T14:27:48.680189 + + 2022-09-27T14:19:31Z + + Copyright (c) FIX Protocol Ltd. All Rights Reserved. + + Orchestra v1.0 + + FIX Unified Repository 2010 Edition + playlist + + + 2024-05-26T21:55:47.701Z + + playlist + + + + + + + + + Sequence of digits without commas or decimals and optional sign character (ASCII characters "-" and "0" - "9" ). The sign character utilizes one byte (i.e. positive int is "99999" while negative int is "-99999"). Note that int values may contain leading zeros (e.g. "00023" = "23"). + + + + + + + int field representing the length in bytes. Value must be positive. + + + + + int field representing the length in bytes. Value must be positive. + + + + + + + int field representing a message sequence number. Value must be positive. + + + + + int field representing a message sequence number. Value must be positive. + + + + + + int field representing the number of entries in a repeating group. Value must be positive. + + + + + + + Sequence of digits with optional decimal point and sign character (ASCII characters "-", "0" - "9" and "."); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. All float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties. Note that float values may contain leading zeros (e.g. "00023.23" = "23.23") and may contain or omit trailing zeros after the decimal point (e.g. "23.0" = "23.0000" = "23" = "23."). Note that fields which are derived from float may contain negative values unless explicitly specified otherwise. + + + + + Sequence of digits with optional decimal point and sign character (ASCII characters "-", "0" - "9" and "."); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. All float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties. Note that float values may contain leading zeros (e.g. "00023.23" = "23.23") and may contain or omit trailing zeros after the decimal point (e.g. "23.0" = "23.0000" = "23" = "23."). Note that fields which are derived from float may contain negative values unless explicitly specified otherwise. + + + + + + + float field capable of storing either a whole number (no decimal places) of "shares" (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units). + + + + + float field capable of storing either a whole number (no decimal places) of "shares" (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units). + + + + + + + float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values. + + + + + float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values. + + + + + + + float field representing a price offset, which can be mathematically added to a "Price". Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative. + + + + + float field representing a price offset, which can be mathematically added to a "Price". Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative. + + + + + + + float field typically representing a Price times a Qty + + + + + float field typically representing a Price times a Qty + + + + + + + float field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary. + + + + + float field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary. + + + + + + + Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M). + + + + + Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M). + + + + + + + char field containing one of two values: + + 'Y' = True/Yes + + 'N' = False/No + + + + + char field containing one of two values: + + 'Y' = True/Yes + + 'N' = False/No + + + + + + + Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt). + + + + + Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt). + + + + + + + string field containing one or more space delimited single character values (e.g. |18=2 A F| ). + + + + + string field containing one or more space delimited single character values (e.g. |18=2 A F| ). + + + + + + + string field containing one or more space delimited multiple character values (e.g. |277=AV AN A| ). + + + + + string field containing one or more space delimited multiple character values (e.g. |277=AV AN A| ). + + + + + + + string field representing a currency type using ISO 4217 Currency code (3 character) values (see Appendix 6-A). + + + + + string field representing a currency type using ISO 4217 Currency code (3 character) values (see Appendix 6-A). + + + + + + + string field representing a market or exchange using ISO 10383 Market Identifier Code (MIC) values (see"Appendix 6-C). + + + + + string field representing a market or exchange using ISO 10383 Market Identifier Code (MIC) values (see"Appendix 6-C). + + + + + + + string field representing month of a year. An optional day of the month can be appended or an optional week code. + + Valid formats: + + YYYYMM + + YYYYMMDD + + YYYYMMWW + + Valid values: + + YYYY = 0000-9999; MM = 01-12; DD = 01-31; WW = w1, w2, w3, w4, w5. + + + + + string field representing month of a year. An optional day of the month can be appended or an optional week code. + + Valid formats: + + YYYYMM + + YYYYMMDD + + YYYYMMWW + + Valid values: + + YYYY = 0000-9999; MM = 01-12; DD = 01-31; WW = w1, w2, w3, w4, w5. + + + + + + + string field representing date and time combination Universal Time Coordinated (UTC), also known as Greenwich Mean Time (GMT). + + Its value space is described as the combination of date and time of day in the Chapter 5.4 of ISO 8601. + + Valid values are in the format YYYY-MM-DDTHH:MM:SS.s where YYYY = 0000-9999 year, MM = 01-12 month, DD = 01-31 day, HH = 00-23 hour, MM = 00-59 minute, SS = 00-60 second (60 only if UTC leap second), and optionally one or more digits representing a decimal fraction of a second. + + The punctuation of "-", ":" and the string value of "T" to separate the date and time are required. The "." is only required when sub-second time precision is specified. + + Leap Seconds: Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of Dec. 31 or Jun 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion, but has never utilized these dates. During a leap second insertion, a UTCTimestamp field may read "1998-12-31T23:59:59", "1998-12-31T23:59:60", "1999-01-01T00:00:00". (see http://tycho.usno.navy.mil/leapsec.html) + + + + + string field representing time/date combination represented in UTC (Universal Time Coordinated, also known as "GMT") in either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss* format, colons, dash, and period required. + + Valid values: + + YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss* fractions of seconds. + + The fractions of seconds may be empty when no fractions of seconds are conveyed (in such a case the period is not conveyed), it may include 3 digits to convey milliseconds, 6 digits to convey microseconds, 9 digits to convey nanoseconds, 12 digits to convey picoseconds; Other number of digits may be used with bilateral agreement. + + Leap Seconds: Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of Dec. 31 or Jun 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion, but has never utilized these dates. During a leap second insertion, a UTCTimestamp field may read "19981231-23:59:59", "19981231-23:59:60", "19990101-00:00:00". (see http://tycho.usno.navy.mil/leapsec.html) + + + + + + + string field representing a Date of Local Market (as opposed to UTC) in YYYY-MM-DD format. This is the "normal" date field used by the FIX Protocol. + + Valid values: + + YYYY = 0000-9999, MM = 01-12, DD = 01-31. + + + + + string field representing a Date of Local Market (as opposed to UTC) in YYYYMMDD format. This is the "normal" date field used by the FIX Protocol. + + Valid values: + + YYYY = 0000-9999, MM = 01-12, DD = 01-31 + + + + + + + string field representing the time based on ISO 8601. This is the time with a Universal Time Coordinated(UTC) offset to allow identification of local time and timezone. + + Its value space is described as the combination of date and time of day in the Chapter 5.4 of ISO 8601. + + Valid values are in the format HH:MM[:SS][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes. + + The punctuation of ":" are required. The "Z" or "+" or "-" are optional to denote a time zone offset. + + + + + string field representing the time represented based on ISO 8601. This is the time with a UTC offset to allow identification of local time and timezone of that time. + + Format is HH:MM[:SS][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes. + + + + + + + In FIXML, all data type fields are using base64Binary encoding. + + + + + string field containing raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH). + + Caution: the value of one of these fields may contain the delimiter (SOH) character. Note that the value specified for this field should be followed by the delimiter (SOH) character as all fields are terminated with an "SOH". + + + + + + + used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows: + + Dx = tenor expression for "days", e.g. "D5", where "x" is any integer > 0 + + Mx = tenor expression for "months", e.g. "M3", where "x" is any integer > 0 + + Wx = tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0 + + Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0 + + + + + used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows: + + Dx = tenor expression for "days", e.g. "D5", where "x" is any integer > 0 + + Mx = tenor expression for "months", e.g. "M3", where "x" is any integer > 0 + + Wx = tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0 + + Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0 + + + + + + + Values "100" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + Values "100" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + + + Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + + + Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations. + + + + + + + + + Session profile FIX.4.2 + + + + + + Session profile FIX4 + + + + + + Session profile FIXT or LFXIT + + The choice between FIXT and LFIXT is subject to counterparty agreement. + + + + + Identifies beginning of new message and session protocol version by means of a session profile identifier (see FIX Session Layer for details). ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted). + + + + + + + Stay on offer side + + + + + + Not held + + + + + + Work + + + + + + Go along + + + + + + Over the day + + + + + + Held + + + + + + Participate don't initiate + + + + + + Strict scale + + + + + + Try to scale + + + + + + Stay on bid side + + + + + + No cross + + Cross is forbidden. + + + + + + OK to cross + + + + + + Call first + + + + + + Percent of volume + + Indicates that the sender does not want to be all of the volume on the floor vs. a specific percentage. + + + + + + Do not increase - DNI + + + + + + Do not reduce - DNR + + + + + + All or none - AON + + + + + + Reinstate on system failure + + Mutually exclusive with Q and l (lower case L). + + + + + + Institutions only + + + + + + Reinstate on trading halt + + Mutually exclusive with K and m. + + + + + + Cancel on trading halt + + Mutually exclusive with J and m. + + + + + + Last peg (last sale) + + + + + + Mid-price peg (midprice of inside quote) + + + + + + Non-negotiable + + + + + + Opening peg + + + + + + Market peg + + + + + + Cancel on system failure + + Mutually exclusive with H and l(lower case L). + + + + + + Primary peg + + Primary market - buy at bid, sell at offer. + + + + + + Suspend + + + + + + Fixed peg to local best bid or offer at time of order + + + + + + Customer display instruction + + Used in US Markets for: SEC Rule 11Ac1-1/4. + + + + + + Netting (for Forex) + + + + + + Peg to VWAP + + + + + + Trade along + + + + + + Try to stop + + + + + + Cancel if not best + + + + + + Trailing stop peg + + + + + + Strict limit + + No price improvement. + + + + + + Ignore price validity checks + + + + + + Peg to limit price + + + + + + Work to target strategy + + + + + + Intermarket sweep + + + + + + External routing allowed + + + + + + External routing not allowed + + + + + + Imbalance only + + + + + + Single execution requested for block trade + + + + + + Best execution + + + + + + Suspend on system failure + + Mutually exclusive with H and Q. + + + + + + Suspend on trading halt + + Mutually exclusive with J and K. + + + + + + Reinstate on connection loss + + Mutually exclusive with o and p. + + + + + + Cancel on connection loss + + Mutually exclusive with n and p. + + + + + + Suspend on connection loss + + Mutually exclusive with n and o. + + + + + + Release + + Mutually exclusive with S and w. + + + + + + Execute as delta neutral using volatility provided + + + + + + Execute as duration neutral + + + + + + Execute as FX neutral + + + + + + Minimum guaranteed fill eligible + + + + + + Bypass non-displayed liquidity + + + + + + Lock + + Mutually exclusive with q. + + + + + + Ignore notional value checks + + + + + + Trade at reference price + + In the context of Reg NMS and the Tick Size Pilot Program, this is intended to indicate the order should Trade At Intermarket Sweep Order (TAISO) price. + + + + + + Allow facilitation + + Express explicit consent to receive facilitation services from the counterparty. Facilitation services are when an institutional client allows a broker to assume a risk-taking principal position rather than an agency position, to obtain liquidity or achieve a guaranteed execution price on the client's behalf. Interpretation of absence of this value needs to be bilaterally agreed, if applicable. In the context of Hong Kong's SFC, this can be used to comply with SFC regulations for disclosure of client facilitation. + + + + + Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. *** SOME VALUES HAVE BEEN REPLACED - See "Replaced Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + + Automated execution order, private, no Broker intervention + + + + + + Automated execution order, public, Broker intervention OK + + + + + + Manual order, best execution + + + + + Instructions for order handling on Broker trading floor + + + + + + + CUSIP + + + + + + SEDOL + + + + + + QUIK + + + + + + ISIN + + + + + + RIC + + + + + + ISO Currency Code (ISO 4217) + + + + + + ISO Country Code + + + + + + Exchange symbol + + + + + + Consolidated Tape Association (CTA) Symbol (SIAC CTS/CQS line format) + + + + + + Bloomberg Symbol + + + + + + Wertpapier + + + + + + Dutch + + + + + + Valoren + + + + + + Sicovam + + + + + + Belgian + + + + + + "Common" (Clearstream and Euroclear) + + + + + + Clearing house / Clearing organization + + + + + + ISDA/FpML product specification (XML in SecurityXML(1185)) + + + + + + Option Price Reporting Authority + + + + + + ISDA/FpML product URL (URL in SecurityID(48)) + + + + + + Letter of credit + + + + + + Marketplace-assigned Identifier + + + + + + Markit RED entity CLIP + + + + + + Markit RED pair CLIP + + + + + + CFTC commodity code + + + + + + ISDA Commodity Reference Price + + + + + + Financial Instrument Global Identifier + + An Object Management Group (OMG) standard. Also referred to as FIGI. Formerly known as "Bloomberg Open Symbology BBGID". + + + + + + Legal entity identifier + + + + + + Synthetic + + Used to specify that the security identifier is synthetic for linking nested underliers when there is no market identifier for the collection. + + + + + + Fidessa Instrument Mnemonic (FIM) + + + + + + Index name + + Standard name of the index or rate index, e.g. "LIBOR" or "iTraxx Australia. + + + + + + Uniform Symbol (UMTF Symbol) + + + + + + Digital Token Identifier (ISO 24165) + + + + + + Digital Token Identifier (ISO 24165) + + + + + Identifies class or source of the SecurityID(48) value. + + + + + + + Agent + + + + + + Cross as agent + + + + + + Cross as principal + + + + + + Principal + + + + + + Riskless principal + + + + + Broker capacity in order execution + + + + + + + Heartbeat + + The Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received. + + + + + + TestRequest + + The test request message forces a heartbeat from the opposing application. The test request message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request with a Heartbeat containing the TestReqID. + + + + + + ResendRequest + + The resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process. + + + + + + Reject + + The reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data which successfully passes de-encryption, CheckSum and BodyLength checks. + + + + + + SequenceReset + + The sequence reset message is used by the sending application to reset the incoming sequence number on the opposing side. + + + + + + Logout + + The logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange of logout messages should be interpreted as an abnormal condition. + + + + + + IOI + + Indication of interest messages are used to market merchandise which the broker is buying or selling in either a proprietary or agency capacity. The indications can be time bound with a specific expiration value. Indications are distributed with the understanding that other firms may react to the message first and that the merchandise may no longer be available due to prior trade. + + Indication messages can be transmitted in various transaction types; NEW, CANCEL, and REPLACE. All message types other than NEW modify the state of the message identified in IOIRefID. + + + + + + Advertisement + + Advertisement messages are used to announce completed transactions. The advertisement message can be transmitted in various transaction types; NEW, CANCEL and REPLACE. All message types other than NEW modify the state of a previously transmitted advertisement identified in AdvRefID. + + + + + + ExecutionReport + + The execution report message is used to: + + 1. confirm the receipt of an order + + 2. confirm changes to an existing order (i.e. accept cancel and replace requests) + + 3. relay order status information + + 4. relay fill information on working orders + + 5. relay fill information on tradeable or restricted tradeable quotes + + 6. reject orders + + 7. report post-trade fees calculations associated with a trade + + + + + + OrderCancelReject + + The order cancel reject message is issued by the broker upon receipt of a cancel request or cancel/replace request message which cannot be honored. + + + + + + Logon + + The logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session. + + + + + + News + + The news message is a general free format message between the broker and institution. The message contains flags to identify the news item's urgency and to allow sorting by subject company (symbol). The News message can be originated at either the broker or institution side, or exchanges and other marketplace venues. + + + + + + Email + + The email message is similar to the format and purpose of the News message, however, it is intended for private use between two parties. + + + + + + NewOrderSingle + + The new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution. + + The New Order message type may also be used by institutions or retail intermediaries wishing to electronically submit Collective Investment Vehicle (CIV) orders to a broker or fund manager for execution. + + + + + + NewOrderList + + The NewOrderList Message can be used in one of two ways depending on which market conventions are being followed. + + + + + + OrderCancelRequest + + The order cancel request message requests the cancellation of all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request should be used to partially cancel (reduce) an order). + + + + + + OrderCancelReplaceRequest + + The order cancel/replace request is used to change the parameters of an existing order. + + Do not use this message to cancel the remaining quantity of an outstanding order, use the Order Cancel Request message for this purpose. + + + + + + OrderStatusRequest + + The order status request message is used by the institution to generate an order status message back from the broker. + + + + + + AllocationInstruction + + The Allocation Instruction message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts. In versions of FIX prior to version 4.4, this same message was known as the Allocation message. Note in versions of FIX prior to version 4.4, the allocation message was also used to communicate fee and expense details from the Sellside to the Buyside. This role has now been removed from the Allocation Instruction and is now performed by the new (to version 4.4) Allocation Report and Confirmation messages.,The Allocation Report message should be used for the Sell-side Initiated Allocation role as defined in previous versions of the protocol. + + + + + + ListCancelRequest + + The List Cancel Request message type is used by institutions wishing to cancel previously submitted lists either before or during execution. + + + + + + ListExecute + + The List Execute message type is used by institutions to instruct the broker to begin execution of a previously submitted list. This message may or may not be used, as it may be mirroring a phone conversation. + + + + + + ListStatusRequest + + The list status request message type is used by institutions to instruct the broker to generate status messages for a list. + + + + + + ListStatus + + The list status message is issued as the response to a List Status Request message sent in an unsolicited fashion by the sell-side. It indicates the current state of the orders within the list as they exist at the broker's site. This message may also be used to respond to the List Cancel Request. + + + + + + AllocationInstructionAck + + In versions of FIX prior to version 4.4, this message was known as the Allocation ACK message. + + The Allocation Instruction Ack message is used to acknowledge the receipt of and provide status for an Allocation Instruction message. + + + + + + DontKnowTrade + + The Don’t Know Trade (DK) message notifies a trading partner that an electronically received execution has been rejected. This message can be thought of as an execution reject message. + + + + + + QuoteRequest + + In some markets it is the practice to request quotes from brokers prior to placement of an order. The quote request message is used for this purpose. This message is commonly referred to as an Request For Quote (RFQ) + + + + + + Quote + + The Quote message is used as the response to a Quote Request or a Quote Response message in both indicative, tradeable, and restricted tradeable quoting markets. + + + + + + SettlementInstructions + + The Settlement Instructions message provides the broker’s, the institution’s, or the intermediary’s instructions for trade settlement. This message has been designed so that it can be sent from the broker to the institution, from the institution to the broker, or from either to an independent "standing instructions" database or matching system or, for CIV, from an intermediary to a fund manager. + + + + + + MarketDataRequest + + Some systems allow the transmission of real-time quote, order, trade, trade volume, open interest, and/or other price information on a subscription basis. A MarketDataRequest(35=V) is a general request for market data on specific securities or forex quotes. The values in the fields provided within the request will serve as further filter criteria for the result set. + + + + + + MarketDataSnapshotFullRefresh + + The Market Data messages are used as the response to a Market Data Request message. In all cases, one Market Data message refers only to one Market Data Request. It can be used to transmit a 2-sided book of orders or list of quotes, a list of trades, index values, opening, closing, settlement, high, low, or VWAP prices, the trade volume or open interest for a security, or any combination of these. + + + + + + MarketDataIncrementalRefresh + + The Market Data message for incremental updates may contain any combination of new, changed, or deleted Market Data Entries, for any combination of instruments, with any combination of trades, imbalances, quotes, index values, open, close, settlement, high, low, and VWAP prices, trade volume and open interest so long as the maximum FIX message size is not exceeded. All of these types of Market Data Entries can be changed and deleted. + + + + + + MarketDataRequestReject + + The Market Data Request Reject is used when the broker cannot honor the Market Data Request, due to business or technical reasons. Brokers may choose to limit various parameters, such as the size of requests, whether just the top of book or the entire book may be displayed, and whether Full or Incremental updates must be used. + + + + + + QuoteCancel + + The Quote Cancel message is used by an originator of quotes to cancel quotes. + + The Quote Cancel message supports cancellation of: + + • All quotes + + • Quotes for a specific symbol or security ID + + • All quotes for a security type + + • All quotes for an underlying + + + + + + QuoteStatusRequest + + The quote status request message is used for the following purposes in markets that employ tradeable or restricted tradeable quotes: + + • For the issuer of a quote in a market to query the status of that quote (using the QuoteID to specify the target quote). + + • To subscribe and unsubscribe for Quote Status Report messages for one or more securities. + + + + + + MassQuoteAck + + Mass Quote Acknowledgement is used as the application level response to a Mass Quote message. + + + + + + SecurityDefinitionRequest + + The SecurityDefinitionRequest(35=c) message is used for the following: + + 1. Request a specific security to be traded with the second party. The requested security can be defined as a multileg security made up of one or more instrument legs. + + 2. Request a set of individual securities for a single market segment. + + 3. Request all securities, independent of market segment. + + + + + + SecurityDefinition + + The SecurityDefinition(35=d) message is used for the following: + + 1. Accept the security defined in a SecurityDefinition(35=d) message. + + 2. Accept the security defined in a SecurityDefinition(35=d) message with changes to the definition and/or identity of the security. + + 3. Reject the security requested in a SecurityDefinition(35=d) message. + + 4. Respond to a request for securities within a specified market segment. + + 5. Convey comprehensive security definition for all market segments that the security participates in. + + 6. Convey the security's trading rules that differ from default rules for the market segment. + + + + + + SecurityStatusRequest + + The Security Status Request message provides for the ability to request the status of a security. One or more Security Status messages are returned as a result of a Security Status Request message. + + + + + + SecurityStatus + + The Security Status message provides for the ability to report changes in status to a security. The Security Status message contains fields to indicate trading status, corporate actions, financial status of the company. The Security Status message is used by one trading entity (for instance an exchange) to report changes in the state of a security. + + + + + + TradingSessionStatusRequest + + The Trading Session Status Request is used to request information on the status of a market. With the move to multiple sessions occurring for a given trading party (morning and evening sessions for instance) there is a need to be able to provide information on what product is trading on what market. + + + + + + TradingSessionStatus + + The Trading Session Status provides information on the status of a market. For markets multiple trading sessions on multiple-markets occurring (morning and evening sessions for instance), this message is able to provide information on what products are trading on what market during what trading session. + + + + + + MassQuote + + The Mass Quote message can contain quotes for multiple securities to support applications that allow for the mass quoting of an option series. Two levels of repeating groups have been provided to minimize the amount of data required to submit a set of quotes for a class of options (e.g. all option series for IBM). + + + + + + BusinessMessageReject + + The Business Message Reject message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued. + + + + + + BidRequest + + The BidRequest Message can be used in one of two ways depending on which market conventions are being followed. + + In the "Non disclosed" convention (e.g. US/European model) the BidRequest message can be used to request a bid based on the sector, country, index and liquidity information contained within the message itself. In the "Non disclosed" convention the entry repeating group is used to define liquidity of the program. See " Program/Basket/List Trading" for an example. + + In the "Disclosed" convention (e.g. Japanese model) the BidRequest message can be used to request bids based on the ListOrderDetail messages sent in advance of BidRequest message. In the "Disclosed" convention the list repeating group is used to define which ListOrderDetail messages a bid is being sort for and the directions of the required bids. + + + + + + BidResponse + + The Bid Response message can be used in one of two ways depending on which market conventions are being followed. + + In the "Non disclosed" convention the Bid Response message can be used to supply a bid based on the sector, country, index and liquidity information contained within the corresponding bid request message. See "Program/Basket/List Trading" for an example. + + In the "Disclosed" convention the Bid Response message can be used to supply bids based on the List Order Detail messages sent in advance of the corresponding Bid Request message. + + + + + + ListStrikePrice + + The strike price message is used to exchange strike price information for principal trades. It can also be used to exchange reference prices for agency trades. + + + + + + XMLnonFIX + + + + + + + RegistrationInstructions + + The Registration Instructions message type may be used by institutions or retail intermediaries wishing to electronically submit registration information to a broker or fund manager (for CIV) for an order or for an allocation. + + + + + + RegistrationInstructionsResponse + + The Registration Instructions Response message type may be used by broker or fund manager (for CIV) in response to a Registration Instructions message submitted by an institution or retail intermediary for an order or for an allocation. + + + + + + OrderMassCancelRequest + + The order mass cancel request message requests the cancellation of all of the remaining quantity of a group of orders matching criteria specified within the request. NOTE: This message can only be used to cancel order messages (reduce the full quantity). + + + + + + OrderMassCancelReport + + The Order Mass Cancel Report is used to acknowledge an Order Mass Cancel Request. Note that each affected order that is canceled is acknowledged with a separate Execution Report or Order Cancel Reject message. + + + + + + NewOrderCross + + Used to submit a cross order into a market. The cross order contains two order sides (a buy and a sell). The cross order is identified by its CrossID. + + + + + + CrossOrderCancelReplaceRequest + + Used to modify a cross order previously submitted using the New Order - Cross message. See Order Cancel Replace Request for details concerning message usage. + + + + + + CrossOrderCancelRequest + + Used to fully cancel the remaining open quantity of a cross order. + + + + + + SecurityTypeRequest + + The Security Type Request message is used to return a list of security types available from a counterparty or market. + + + + + + SecurityTypes + + The Security Type Request message is used to return a list of security types available from a counterparty or market. + + + + + + SecurityListRequest + + The Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request + + + + + + SecurityList + + The Security List message is used to return a list of securities that matches the criteria specified in a Security List Request. + + + + + + DerivativeSecurityListRequest + + The Derivative Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request + + + + + + DerivativeSecurityList + + The Derivative Security List message is used to return a list of securities that matches the criteria specified in a Derivative Security List Request. + + + + + + NewOrderMultileg + + The New Order - Multileg is provided to submit orders for securities that are made up of multiple securities, known as legs. + + + + + + MultilegOrderCancelReplace + + Used to modify a multileg order previously submitted using the New Order - Multileg message. See Order Cancel Replace Request for details concerning message usage. + + + + + + TradeCaptureReportRequest + + The Trade Capture Report Request can be used to: + + • Request one or more trade capture reports based upon selection criteria provided on the trade capture report request + + • Subscribe for trade capture reports based upon selection criteria provided on the trade capture report request. + + + + + + TradeCaptureReport + + The Trade Capture Report message can be: + + - Used to report trades between counterparties. + + - Used to report trades to a trade matching system. + + - Sent unsolicited between counterparties. + + - Sent as a reply to a Trade Capture Report Request. + + - Used to report unmatched and matched trades. + + + + + + OrderMassStatusRequest + + The order mass status request message requests the status for orders matching criteria specified within the request. + + + + + + QuoteRequestReject + + The Quote Request Reject message is used to reject Quote Request messages for all quoting models. + + + + + + RFQRequest + + In tradeable and restricted tradeable quoting markets – Quote Requests are issued by counterparties interested in ascertaining the market for an instrument. Quote Requests are then distributed by the market to liquidity providers who make markets in the instrument. The RFQ Request is used by liquidity providers to indicate to the market for which instruments they are interested in receiving Quote Requests. It can be used to register interest in receiving quote requests for a single instrument or for multiple instruments + + + + + + QuoteStatusReport + + The quote status report message is used: + + • as the response to a Quote Status Request message + + • as a response to a Quote Cancel message + + • as a response to a Quote Response message in a negotiation dialog (see Volume 7 – PRODUCT: FIXED INCOME and USER GROUP: EXCHANGES AND MARKETS) + + + + + + QuoteResponse + + The QuoteResponse(35=AJ) message is used for the following purposes: + + 1. Respond to an IOI(35=6) message + + 2. Respond to a Quote(35=S) message + + 3. Counter a Quote + + 4. End a negotiation dialog + + 5. Follow-up or end a QuoteRequest(35=R) dialog that did not receive a response. + + + + + + Confirmation + + The Confirmation messages are used to provide individual trade level confirmations from the sell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlike the allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowing for the affirmation or rejection of individual confirmations. + + + + + + PositionMaintenanceRequest + + The Position Maintenance Request message allows the position owner to submit requests to the holder of a position which will result in a specific action being taken which will affect the position. Generally, the holder of the position is a central counter party or clearing organization but can also be a party providing investment services. + + + + + + PositionMaintenanceReport + + The Position Maintenance Report message is sent by the holder of a position in response to a Position Maintenance Request and is used to confirm that a request has been successfully processed or rejected. + + + + + + RequestForPositions + + The Request For Positions message is used by the owner of a position to request a Position Report from the holder of the position, usually the central counter party or clearing organization. The request can be made at several levels of granularity. + + + + + + RequestForPositionsAck + + The Request for Positions Ack message is returned by the holder of the position in response to a Request for Positions message. The purpose of the message is to acknowledge that a request has been received and is being processed. + + + + + + PositionReport + + The Position Report message is returned by the holder of a position in response to a Request for Position message. The purpose of the message is to report all aspects of a position and may be provided on a standing basis to report end of day positions to an owner. + + + + + + TradeCaptureReportRequestAck + + The Trade Capture Request Ack message is used to: + + - Provide an acknowledgement to a Trade Capture Report Request in the case where the Trade Capture Report Request is used to specify a subscription or delivery of reports via an out-of-band ResponseTransmissionMethod. + + - Provide an acknowledgement to a Trade Capture Report Request in the case when the return of the Trade Capture Reports matching that request will be delayed or delivered asynchronously. This is useful in distributed trading system environments. + + - Indicate that no trades were found that matched the selection criteria specified on the Trade Capture Report Request or the Trade Capture Request was invalid for some business reason, such as request is not authorized, invalid or unknown instrument, party, trading session, etc. + + + + + + TradeCaptureReportAck + + The Trade Capture Report Ack message can be: + + - Used to acknowledge trade capture reports received from a counterparty. + + - Used to reject a trade capture report received from a counterparty. + + + + + + AllocationReport + + Sent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the Allocation Report (Claim) provides account breakdown of an order or set of orders plus any additional follow-up front-office information developed post-trade during the trade allocation, matching and calculation phase. In versions of FIX prior to version 4.4, this functionality was provided through the Allocation message. Depending on the needs of the market and the timing of "confirmed" status, the role of Allocation Report can be taken over in whole or in part by the Confirmation message. + + + + + + AllocationReportAck + + The Allocation Report Ack message is used to acknowledge the receipt of and provide status for an Allocation Report message. + + + + + + ConfirmationAck + + The Confirmation Ack (aka Affirmation) message is used to respond to a Confirmation message. + + + + + + SettlementInstructionRequest + + The Settlement Instruction Request message is used to request standing settlement instructions from another party. + + + + + + AssignmentReport + + Assignment Reports are sent from a clearing house to counterparties, such as a clearing firm as a result of the assignment process. + + + + + + CollateralRequest + + An initiator that requires collateral from a respondent sends a Collateral Request. The initiator can be either counterparty to a trade in a two party model or an intermediary such as an ATS or clearinghouse in a three party model. A Collateral Assignment is expected as a response to a request for collateral. + + + + + + CollateralAssignment + + Used to assign collateral to cover a trading position. This message can be sent unsolicited or in reply to a Collateral Request message. + + + + + + CollateralResponse + + Used to respond to a Collateral Assignment message. + + + + + + CollateralReport + + Used to report collateral status when responding to a Collateral Inquiry message. + + + + + + CollateralInquiry + + Used to inquire for collateral status. + + + + + + NetworkCounterpartySystemStatusRequest + + This message is send either immediately after logging on to inform a network (counterparty system) of the type of updates required or to at any other time in the FIX conversation to change the nature of the types of status updates required. It can also be used with a NetworkRequestType of Snapshot to request a one-off report of the status of a network (or counterparty) system. Finally this message can also be used to cancel a request to receive updates into the status of the counterparties on a network by sending a NetworkRequestStatusMessage with a NetworkRequestType of StopSubscribing. + + + + + + NetworkCounterpartySystemStatusResponse + + This message is sent in response to a Network (Counterparty System) Status Request Message. + + + + + + UserRequest + + This message is used to initiate a user action, logon, logout or password change. It can also be used to request a report on a user's status. + + + + + + UserResponse + + This message is used to respond to a user request message, it reports the status of the user after the completion of any action requested in the user request message. + + + + + + CollateralInquiryAck + + Used to respond to a Collateral Inquiry in the following situations: + + • When the CollateralInquiry will result in an out of band response (such as a file transfer). + + • When the inquiry is otherwise valid but no collateral is found to match the criteria specified on the Collateral Inquiry message. + + • When the Collateral Inquiry is invalid based upon the business rules of the counterparty. + + + + + + ConfirmationRequest + + The Confirmation Request message is used to request a Confirmation message. + + + + + + ContraryIntentionReport + + The Contrary Intention Report is used for reporting of contrary expiration quantities for Saturday expiring options. This information is required by options exchanges for regulatory purposes. + + + + + + SecurityDefinitionUpdateReport + + This message is used for reporting updates to a product security master file. Updates could be the result of corporate actions or other business events. Updates may include additions, modifications or deletions. + + + + + + SecurityListUpdateReport + + The Security List Update Report is used for reporting updates to a Contract Security Masterfile. Updates could be due to Corporate Actions or other business events. Update may include additions, modifications and deletions. + + + + + + AdjustedPositionReport + + Used to report changes in position, primarily in equity options, due to modifications to the underlying due to corporate actions + + + + + + AllocationInstructionAlert + + This message is used in a 3-party allocation model where notification of group creation and group updates to counterparties is needed. The mssage will also carry trade information that comprised the group to the counterparties. + + + + + + ExecutionAck + + The Execution Report Acknowledgement message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd). + + + + + + TradingSessionList + + The Trading Session List message is sent as a response to a Trading Session List Request. The Trading Session List should contain the characteristics of the trading session and the current state of the trading session. + + + + + + TradingSessionListRequest + + The Trading Session List Request is used to request a list of trading sessions available in a market place and the state of those trading sessions. A successful request will result in a response from the counterparty of a Trading Session List (MsgType=BJ) message that contains a list of zero or more trading sessions. + + + + + + SettlementObligationReport + + The Settlement Obligation Report message provides a central counterparty, institution, or individual counterparty with a capacity for reporting the final details of a currency settlement obligation. + + + + + + DerivativeSecurityListUpdateReport + + The Derivative Security List Update Report message is used to send updates to an option family or the strikes that comprise an option family. + + + + + + TradingSessionListUpdateReport + + The Trading Session List Update Report is used by marketplaces to provide intra-day updates of trading sessions when there are changes to one or more trading sessions. + + + + + + MarketDefinitionRequest + + The Market Definition Request message is used to request for market structure information from the Respondent that receives this request. + + + + + + MarketDefinition + + The MarketDefinition(35=BU) message is used to respond to MarketDefinitionRequest(35=BT). In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the MarketDefinitionUpdateReport(35=BV). + + + + + + MarketDefinitionUpdateReport + + In a subscription for market structure information, this message is used once the initial snapshot of the information has been sent using the MarketDefinition(35=BU) message. + + + + + + ApplicationMessageRequest + + This message is used to request a retransmission of a set of one or more messages generated by the application specified in RefApplID (1355). + + + + + + ApplicationMessageRequestAck + + This message is used to acknowledge an Application Message Request providing a status on the request (i.e. whether successful or not). This message does not provide the actual content of the messages to be resent. + + + + + + ApplicationMessageReport + + This message is used for three difference purposes: to reset the ApplSeqNum (1181) of a specified ApplID (1180). to indicate that the last message has been sent for a particular ApplID, or as a keep-alive mechanism for ApplIDs with infrequent message traffic. + + + + + + OrderMassActionReport + + The Order Mass Action Report is used to acknowledge an Order Mass Action Request. Note that each affected order that is suspended or released or canceled is acknowledged with a separate Execution Report for each order. + + + + + + OrderMassActionRequest + + The Order Mass Action Request message can be used to request the suspension or release of a group of orders that match the criteria specified within the request. This is equivalent to individual Order Cancel Replace Requests for each order with or without adding "S" to the ExecInst values. It can also be used for mass order cancellation. + + + + + + UserNotification + + The User Notification message is used to notify one or more users of an event or information from the sender of the message. This message is usually sent unsolicited from a marketplace (e.g. Exchange, ECN) to a market participant. + + + + + + StreamAssignmentRequest + + In certain markets where market data aggregators fan out to end clients the pricing streams provided by the price makers, the price maker may assign the clients to certain pricing streams that the price maker publishes via the aggregator. An example of this use is in the FX markets where clients may be assigned to different pricing streams based on volume bands and currency pairs. + + + + + + StreamAssignmentReport + + he StreamAssignmentReport message is in response to the StreamAssignmentRequest message. It provides information back to the aggregator as to which clients to assign to receive which price stream based on requested CCY pair. This message can be sent unsolicited to the Aggregator from the Price Maker. + + + + + + StreamAssignmentReportACK + + This message is used to respond to the Stream Assignment Report, to either accept or reject an unsolicited assingment. + + + + + + PartyDetailsListRequest + + The PartyDetailsListRequest is used to request party detail information. + + + + + + PartyDetailsListReport + + The PartyDetailsListReport message is used to disseminate party details between counterparties. PartyDetailsListReport messages may be sent in response to a PartyDetailsListRequest message or sent unsolicited. + + + + + + MarginRequirementInquiry + + The purpose of this message is to initiate a margin requirement inquiry for a margin account. The inquiry may be submitted at the detail level or the summary level. It can also be used to inquire margin excess/deficit or net position information. Margin excess/deficit will provide information about the surplus or shortfall compared to the previous trading day or a more recent margin calculation. An inquiry for net position information will trigger one or more PositionReport messages instead of one or more MarginRequirementReport messages. + + If the inquiry is made at the detail level, an Instrument block must be provided with the desired level of detail. If the inquiry is made at the summary level, the Instrument block is not provided, implying a summary request is being made. For example, if the inquiring firm specifies the Security Type of “FUT” in the Instrument block, then a detail report will be generated containing the margin requirements for all futures positions for the inquiring account. Similarly, if the inquiry is made at the summary level, the report will contain the total margin requirement aggregated to the margin account level. + + + + + + MarginRequirementInquiryAck + + Used to respond to a Margin Requirement Inquiry. + + + + + + MarginRequirementReport + + The Margin Requirement Report returns information about margin requirement either as on overview across all margin accounts or on a detailed level due to the inquiry making use of the optional Instrument component block. Application sequencing can be used to re-request a range of reports. + + + + + + PartyDetailsListUpdateReport + + The PartyDetailsListUpdateReport(35=CK) is used to disseminate updates to party detail information. + + + + + + PartyRiskLimitsRequest + + The PartyRiskLimitsRequest message is used to request for risk information for specific parties, specific party roles or specific instruments. + + + + + + PartyRiskLimitsReport + + The PartyRiskLimitsReport message is used to communicate party risk limits. The message can either be sent as a response to the PartyRiskLimitsRequest message or can be published unsolicited. + + + + + + SecurityMassStatusRequest + + + + + + + SecurityMassStatus + + + + + + + AccountSummaryReport + + The AccountSummaryReport is provided by the clearinghouse to its clearing members on a daily basis. It contains margin, settlement, collateral and pay/collect data for each clearing member level account type. Clearing member account types will be described through use of the Parties component and PtysSubGrp sub-component. + + In certain usages, the clearing members can send the AccountSummaryReport message to the clearinghouse as needed. For example, clearing members can send this message to the clearinghouse to identify the value of collateral for each customer (to satisfy CFTC Legally Segregated Operationally Commingled (LSOC) regulatory reporting obligations). + + Clearing organizations can also send the AccountSummaryReport message to regulators to meet regulatory reporting obligations. For example, clearing organizations can use this message to submit daily reports for each clearing member (“CM”) by house origin and by each customer origin for all futures, options, and swaps positions, and all securities positions held in a segregated account or pursuant to a cross margining agreement, to a regulator (e.g. to the CFTC to meet Part 39, Section 39.19 reporting obligations). + + + + + + PartyRiskLimitsUpdateReport + + The PartyRiskLimitsUpdateReport(35=CR) is used to convey incremental changes to risk limits. It is similar to the regular report but uses the PartyRiskLimitsUpdateGrp component instead of the PartyRiskLimitsGrp component to include an update action. + + + + + + PartyRiskLimitsDefinitionRequest + + PartyRiskLimitDefinitionRequest is used for defining new risk limits. + + + + + + PartyRiskLimitsDefinitionRequestAck + + PartyRiskLimitDefinitionRequestAck is used for accepting (with or without changes) or rejecting the definition of risk limits. + + + + + + PartyEntitlementsRequest + + The PartyEntitlementsRequest message is used to request for entitlement information for one or more party(-ies), specific party role(s), or specific instruments(s). + + + + + + PartyEntitlementsReport + + The PartyEntitlementsReport is used to report entitlements for one or more parties, party role(s), or specific instrument(s). + + + + + + QuoteAck + + The QuoteAck(35=CW) message is used to acknowledge a Quote(35=S) submittal or request to cancel an individual quote using the QuoteCancel(35=Z) message during a Quote/Negotiation dialog. + + + + + + PartyDetailsDefinitionRequest + + The PartyDetailsDefinitionRequest(35=CX) is used for defining new parties and modifying or deleting existing parties information, including the relationships between parties. + + The recipient of the message responds with a PartyDetailsDefinitionRequestAck(35=CY) to indicate whether the request was accepted or rejected. + + + + + + PartyDetailsDefinitionRequestAck + + The PartyDetailsDefinitionRequestAck(35=CY) is used as a response to the PartyDetailsDefinitionRequest(35=CX) message. The request can be accepted (with or without changes) or rejected. + + + + + + PartyEntitlementsUpdateReport + + The PartyEntitlementsUpdateReport(35=CZ) is used to convey incremental changes to party entitlements. It is similar to the PartyEntitlementsReport(35=CV). This message uses the PartyEntitlementsUpdateGrp component which includes the ability to specify an update action using ListUpdateAction(1324). + + + + + + PartyEntitlementsDefinitionRequest + + The PartyEntitlementsDefinitionRequest(35=DA) is used for defining new entitlements, and modifying or deleting existing entitlements for the specified party(-ies). + + + + + + PartyEntitlementsDefinitionRequestAck + + The PartyEntitlementsDefinitionRequestAck(35=DB) is used as a response to the PartyEntitlemensDefinitionRequest(35=DA) to accept (with or without changes) or reject the definition of party entitlements. + + + + + + TradeMatchReport + + The TradeMatchReport(35=DC) message is used by exchanges and ECN’s to report matched trades to central counterparties (CCPs) as an atomic event. The message is used to express the one-to-one, one-to-many and many-to-many matches as well as implied matches in which more complex instruments can match with simpler instruments. + + + + + + TradeMatchReportAck + + The TradeMatchReportAck(35=DD) is used to respond to theTradeMatchReport(35=DC) message. It may be used to report on the status of the request (e.g. accepting the request or rejecting the request). + + + + + + PartyRiskLimitsReportAck + + PartyRiskLimitsReportAck is an optional message used as a response to the PartyRiskLimitReport(35=CM) or PartyRiskLimitUpdateReport(35=CR) messages to acknowledge or reject those messages. + + + + + + PartyRiskLimitCheckRequest + + PartyRiskLimitCheckRequest is used to request for approval of credit or risk limit amount intended to be used by a party in a transaction from another party that holds the information. + + + + + + PartyRiskLimitCheckRequestAck + + PartyRiskLimitCheckRequestAck is used to acknowledge a PartyRiskLimitCheckRequest(35=DF) message and to respond whether the limit check request was approved or not. When used to accept the PartyRiskLimitCheckRequest(35=DF) message the Respondent may also include the limit amount that was approved. + + + + + + PartyActionRequest + + The PartyActionRequest message is used suspend or halt the specified party from further trading activities at the Respondent. The Respondent must respond with a PartyActionReport(35=DI) message. + + + + + + PartyActionReport + + Used to respond to the PartyActionRequest(35=DH) message, indicating whether the request has been received, accepted or rejected. Can also be used in an unsolicited manner to report party actions, e.g. reinstatements after a manual intervention out of band. + + + + + + MassOrder + + The MassOrder(35=DJ) message can be used to add, modify or delete multiple unrelated orders with a single message. Apart from clearing related attributes, only the key order attributes for high performance trading are available. + + + + + + MassOrderAck + + The mass order acknowledgement message is used to acknowledge the receipt of and the status for a MassOrder(35=DJ) message. + + + + + + PositionTransferInstruction + + The PositionTransferInstruction(35=DL) is sent by clearing firms to CCPs to initiate position transfers, or to accept or decline position transfers. + + + + + + PositionTransferInstructionAck + + The PositionTransferInstructionAck(35=DM) is sent by CCPs to clearing firms to acknowledge position transfer instructions, and to report errors processing position transfer instructions. + + + + + + PositionTransferReport + + The PositionTransferReport(35=DN) is sent by CCPs to clearing firms indicating of positions that are to be transferred to the clearing firm, or to report on status of the transfer to the clearing firms involved in the transfer process. + + + + + + MarketDataStatisticsRequest + + The MarketDataStatisticsRequest(35=DO) is used to request for statistical data. The simple form is to use an identifier (MDStatisticID(2475)) assigned by the market place which would denote a pre-defined statistical report. Alternatively, or also in addition, the request can define a number of parameters for the desired statistical information. + + + + + + MarketDataStatisticsReport + + The MarketDataStatisticsReport(35=DP) is used to provide unsolicited statistical information or in response to a specific request. Each report contains a set of statistics for a single entity which could be a market, a market segment, a security list or an instrument. + + + + + + CollateralReportAck + + CollateralReportAck(35=DQ) is used as a response to the CollateralReport(35=BA). It can be used to reject a CollateralReport(35=BA) when the content of the report is invalid based on the business rules of the receiver. The message may also be used to acknowledge receipt of a valid CollateralReport(35=BA). + + + + + + MarketDataReport + + The MarketDataReport(35=DR) message is used to provide delimiting references (e.g. start and end markers in a continuous broadcast) and details about the number of market data messages sent in a given distribution cycle. + + + + + + CrossRequest + + The CrossRequest(35=DS) message is used to indicate the submission of orders or quotes that may result in a crossed trade. + + + + + + CrossRequestAck + + The CrossRequestAck(35=DT) message is used to confirm the receipt of a CrossRequest(35=DS) message. + + + + + + AllocationInstructionAlertRequest + + This message is used in a clearinghouse 3-party allocation model to request for AllocationInstructionAlert(35=BM) from the clearinghouse. The request may be used to obtain a one-time notification of the status of an allocation group. + + + + + + AllocationInstructionAlertRequestAck + + This message is used in a clearinghouse 3-party allocation model to acknowledge a AllocationInstructionAlertRequest(35=DU) message for an AllocationInstructionAlert(35=BM) message from the clearinghouse. + + + + + + TradeAggregationRequest + + TradeAggregationRequest(35=DW) is used to request that the identified trades between the initiator and respondent be aggregated together for further processing. + + + + + + TradeAggregationReport + + TradeAggregationReport(35=DX) is used to respond to the TradeAggregationRequest(35=DW) message. It provides the status of the request (e.g. accepted or rejected) and may also provide additional information supplied by the respondent. + + + + + + PayManagementReport + + PayManagementReport(35=EA) may be used to respond to the PayManagementRequest(35=DY) message. It provides the status of the request (e.g. accepted, disputed) and may provide additional information related to the request. + + PayManagementReport(35=EA) may also be sent unsolicited by the broker to a client. In which case the client may acknowledge and resolve disputes out-of-band or with a simple PayManagementReportAck(35=EB). + + PayManagementReport(35=EA) may also be sent unsolicited to report the progress status of the payment itself with PayReportTransType(2804)=2 (Status). + + + + + + PayManagementReportAck + + PayManagementReportAck(35=EB) is used as a response to the PayManagementReport(35=EA) message. It may be used to accept, reject or dispute the details of the PayManagementReport(35=EA) depending on the business rules of the receiver. This message may also be used to acknowledge the receipt of a PayManagementReport(35=EA) message. + + + + + + PayManagementRequest + + PayManagementRequest(35=DY) message is used to communicate a future or expected payment to be made or received related to a trade or contract after its settlement. + + + + + + PayManagementRequestAck + + PayManagementRequestAck(35=DZ) is used to acknowledge the receipt of the PayManagementRequest(35=DY) message (i.e. a technical acknowledgement of receipt). Acceptance or rejection of the request is reported in the corresponding PayManagementReport(35=EA). + + + + + Defines message type ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted) + + Note: A "U" as the first character in the MsgType field (i.e. U, U2, etc) indicates that the message format is privately defined between the sender and receiver. + + *** Note the use of lower case letters *** + + + + + + + New + + + + + + Partially filled + + + + + + Filled + + + + + + Done for day + + + + + + Canceled + + + + + + Replaced (No longer used) + + + + + + Pending Cancel (i.e. result of Order Cancel Request) + + + + + + Stopped + + + + + + Rejected + + + + + + Suspended + + + + + + Pending New + + + + + + Calculated + + + + + + Expired + + + + + + Accepted for Bidding + + + + + + Pending Replace (i.e. result of Order Cancel/Replace Request) + + + + + Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See "Replaced Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + + Market + + + + + + Limit + + + + + + Stop/Stop Loss. + + A stop order that is triggered as a result of a trade in the market at which point the stopped order becomes a market order. + + + + + + Stop Limit. + + A stop limit order that is triggered as a result of a trade in the market at which point the stopped order becomes a limit order. + + + + + + Market On Close (No longer used) + + + + + + With Or Without + + + + + + Limit Or Better + + + + + + Limit With Or Without + + + + + + On Basis + + + + + + On Close (No longer used) + + + + + + Limit On Close (No longer used) + + + + + + Forex Market (No longer used) + + + + + + Previously Quoted + + + + + + Previously Indicated + + + + + + Forex Limit (No longer used) + + + + + + Forex Swap + + + + + + Forex Previously Quoted (No longer used) + + + + + + Funari (Limit day order with unexecuted portion handles as Market On Close. E.g. Japan) + + + + + + Market If Touched (MIT) + + + + + + Market With Left Over as Limit (market order with unexecuted quantity becoming limit order at last price) + + + + + + Previous Fund Valuation Point (Historic pricing; for CIV) + + + + + + Next Fund Valuation Point (Forward pricing; for CIV) + + + + + + Pegged + + + + + + Counter-order selection + + + + + + Stop on Bid or Offer + + A stop order that is triggered by a bid or offer price movement (quote) at which point the stopped order becomes a market order, also known as "stop on quote" in some markets (e.g. US markets). In the US equities market it is common to trigger a stop off the National Best Bid or Offer (NBBO). + + + + + + Stop Limit on Bid or Offer + + A stop order that is triggered by a bid or offer price movement (quote) at which point the stopped order becomes a limit order, also known as "stop limit on quote" in some markets (e.g. US markets). In the US equities market it is common to trigger a stop off the National Best Bid or Offer (NBBO). + + + + + Order type. *** SOME VALUES ARE NO LONGER USED - See "Deprecated (Phased-out) Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + + Buy + + For Securities Financing indicates the receipt of securities or collateral. + + + + + + Sell + + For Securities Financing indicates the delivery of securities or collateral. + + + + + + Buy minus + + + + + + Sell plus + + + + + + Sell short + + + + + + Sell short exempt + + + + + + Undisclosed + + + + + + Cross (orders where counterparty is an exchange, valid for all messages except IOIs) + + + + + + Cross short + + + + + + Cross short exempt + + + + + + "As Defined" (for use with multileg instruments) + + + + + + "Opposite" (for use with multileg instruments) + + + + + + Subscribe (e.g. CIV) + + + + + + Redeem (e.g. CIV) + + + + + + Lend (FINANCING - identifies direction of collateral) + + + + + + Borrow (FINANCING - identifies direction of collateral) + + + + + + Sell undisclosed + + In the context of ESMA RTS 22, this allows for reporting of transactions where the investment firm (broker) is not able to determine whether the sell is a short sale transaction. Corresponds to RTS 22 "short selling indicator" value of 'UNDI'. + + + + + Side of order (see Volume : "Glossary" for value definitions) + + + + + + + Day (or session) + + A buy or sell order that, if not executed expires at the end of the trading day on which it was entered. + + + + + + Good Till Cancel (GTC) + + An order to buy or sell that remains in effect until it is either executed or canceled; sometimes called an “open order”. + + + + + + At the Opening (OPG) + + A market or limit-price order to be executed at the opening of the stock or not at all; all or part of any order not executed at the opening is treated as canceled. + + + + + + Immediate Or Cancel (IOC) + + A market or limit-price order that is to be executed in whole or in part as soon as it is available in the market; any portion not so executed is to be canceled. + + + + + + Fill Or Kill (FOK) + + A market or limit-price order that is to be executed in its entirety as soon as it is available in the market; if not so executed, the order is to be canceled. + + + + + + Good Till Crossing (GTX) + + An order to buy or sell that is canceled prior to the market entering into an auction or crossing phase. + + + + + + Good Till Date (GTD) + + An order to buy or sell that remains in effect until it expires, defined by ExpireDate(432) or ExpireTime(126). + + + + + + At the Close + + Indicated price is to be around the closing price, however, not held to the closing price. + + + + + + Good Through Crossing + + An order that is valid up till and including a crossing phase.] + + + + + + At Crossing + + An order that is valid only during crossing (auction) phases. The order is valid during the day or up to and including a specified trading (sub) session. + + + + + + Good for Time (GFT) + + An order that is valid for a pre-defined time period expressed with ExposureDuration(1629) and (optionally) ExposureDurationUnit(1916). + + + + + + Good for Auction (GFA) + + An order that is valid for an auction initiated by a trading firm (see AuctionType(1803) for examples. + + + + + + Good for this Month (GFM) + + An order that is valid until the end of the current month, i.e. from the time of order submission until the end of the last trading day of the current month. + + + + + Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders. + + + + + + + Regular / FX Spot settlement (T+1 or T+2 depending on currency) + + + + + + Cash (TOD / T+0) + + + + + + Next Day (TOM / T+1) + + + + + + T+2 + + + + + + T+3 + + + + + + T+4 + + + + + + Future + + + + + + When And If Issued + + + + + + Sellers Option + + + + + + T+5 + + + + + + Broken date + + Use within FX to specify a non-standard tenor. The use of SettlDate(64) is required to specify the actual settlement date when SettlType(63) = B (Broken date). + + + + + + FX Spot Next settlement (Spot+1, aka next day) + + + + + Indicates order settlement period. If present, SettlDate (64) overrides this field. If both SettlType (63) and SettDate (64) are omitted, the default for SettlType (63) is 0 (Regular) + + Regular is defined as the default settlement period for the particular security on the exchange of execution. + + In Fixed Income the contents of this field may influence the instrument definition if the SecurityID (48) is ambiguous. In the US an active Treasury offering may be re-opened, and for a time one CUSIP will apply to both the current and "when-issued" securities. Supplying a value of "7" clarifies the instrument description; any other value or the absence of this field should cause the respondent to default to the active issue. + + Additionally the following patterns may be uses as well as enum values + + Dx = FX tenor expression for "days", e.g. "D5", where "x" is any integer > 0 + + Mx = FX tenor expression for "months", e.g. "M3", where "x" is any integer > 0 + + Wx = FX tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0 + + Yx = FX tenor expression for "years", e.g. "Y1", where "x" is any integer > 0 + + Noted that for FX the tenors expressed using Dx, Mx, Wx, and Yx values do not denote business days, but calendar days. + + + + + + + Close + + + + + + FIFO + + + + + + Open + + + + + + Rolled + + + + + + Close but notify on open + + + + + + Default + + + + + Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. + + + + + + + Regular + + + + + + Soft Dollar + + + + + + Step-In + + + + + + Step-Out + + + + + + Soft-dollar Step-In + + + + + + Soft-dollar Step-Out + + + + + + Plan Sponsor + + + + + Processing code for sub-account. Absence of this field in AllocAccount (79) / AllocPrice (366) /AllocQty (80) / ProcessCode instance indicates regular trade. + + + + + + + None / Other + + + + + + PKCS (Proprietary) + + + + + + DES (ECB Mode) + + + + + + PKCS / DES (Proprietary) + + + + + + PGP / DES (Defunct) + + + + + + PGP / DES-MD5 (See app note on FIX web site) + + + + + + PEM / DES-MD5 (see app note on FIX web site) + + + + + Method of encryption. + + + + + + + Broker / Exchange option + + + + + + Unknown symbol + + + + + + Exchange closed + + + + + + Order exceeds limit + + + + + + Too late to enter + + + + + + Unknown order + + + + + + Duplicate Order (e.g. dupe ClOrdID) + + + + + + Duplicate of a verbally communicated order + + + + + + Stale order + + + + + + Trade along required + + + + + + Invalid Investor ID + + + + + + Unsupported order characteristic + + + + + + Surveillance option + + + + + + Incorrect quantity + + + + + + Incorrect allocated quantity + + + + + + Unknown account(s) + + + + + + Price exceeds current price band + + + + + + Invalid price increment + + + + + + Reference price not available + + + + + + Notional value exceeds threshold + + + + + + Algorithm risk threshold breached + + A sell-side broker algorithm has detected that a risk limit has been breached which requires further communication with the client. Used in conjunction with Text(58) to convey the details of the specific event. + + + + + + Short sell not permitted + + + + + + Short sell rejected due to security pre-borrow restriction + + + + + + Short sell rejected due to account pre-borrow restriction + + + + + + Insufficient credit limit + + + + + + Exceeded clip size limit + + + + + + Exceeded maximum notional order amount + + + + + + Exceeded DV01/PV01 limit + + + + + + Exceeded CS01 limit + + + + + + Other + + + + + Code to identify reason for order rejection. Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors. + + + + + + + Indicates the party sending message will report trade + + + + + + Indicates the party receiving message must report trade + + + + + Identifies party of trade responsible for exchange reporting. + + + + + + + Indicates the broker is not required to locate + + + + + + Indicates the broker is responsible for locating the stock + + + + + Indicates whether the broker is to locate the stock in conjunction with a short sell order. + + + + + + + Do Not Execute Forex After Security Trade + + + + + + Execute Forex After Security Trade + + + + + Indicates request for forex accommodation trade to be executed along with security transaction. + + + + + + + Sequence Reset, Ignore Msg Seq Num (N/A For FIXML - Not Used) + + + + + + Gap Fill Message, Msg Seq Num Field Valid + + + + + Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. + + + + + + + No + + + + + + Yes, reset sequence numbers + + + + + Indicates that both sides of the FIX session should reset sequence numbers. + + + + + + + New + + + + + + Done for day + + + + + + Canceled + + + + + + Replaced + + + + + + Pending Cancel (e.g. result of Order Cancel Request) + + + + + + Stopped + + + + + + Rejected + + + + + + Suspended + + + + + + Pending New + + + + + + Calculated + + + + + + Expired + + + + + + Restated (Execution Report sent unsolicited by sellside, with ExecRestatementReason (378) set) + + + + + + Pending Replace (e.g. result of Order Cancel/Replace Request) + + + + + + Trade (partial fill or fill) + + + + + + Trade Correct + + + + + + Trade Cancel + + + + + + Order Status + + + + + + Trade in a Clearing Hold + + + + + + Trade has been released to Clearing + + + + + + Triggered or Activated by System + + + + + + Locked + + + + + + Released + + + + + Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled). + + + + + + + Multiply + + + + + + Divide + + + + + Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided. + + + + + + + US Treasury Note (Deprecated Value Use TNOTE) + + + + + + US Treasury Bill (Deprecated Value Use TBILL) + + + + + + Euro Supranational Coupons + + Identify the issuer name in Issuer(106). + + + + + + Federal Agency Coupon + + + + + + Federal Agency Discount Note + + + + + + Private Export Funding + + Identify the issuer name in Issuer(106). + + + + + + USD Supranational Coupons + + Identify the issuer name in Issuer(106). + + + + + + Corporate Bond + + + + + + Corporate Private Placement + + + + + + Convertible Bond + + + + + + Dual Currency + + + + + + Euro Corporate Bond + + + + + + Euro Corporate Floating Rate Notes + + + + + + US Corporate Floating Rate Notes + + + + + + Indexed Linked + + + + + + Structured Notes + + + + + + Yankee Corporate Bond + + + + + + Offshore issued Chinese Yuan (CNY) denominated corporate bond + + + + + + Preferred Corporate Bond + + + + + + Foreign Exchange Contract + + + + + + Non-deliverable forward + + + + + + FX Spot + + + + + + FX Forward + + + + + + FX Swap + + + + + + Non-deliverable Swap + + + + + + FX Bank Note + + + + + + Foreign Currency Discount Note + + Discount notes issued in foreign currency by Fannie Mae. + + + + + + Cap + + In an interest rate cap, the buyer receives payments at the end of each period in which the rate indec exceeds the agreed strike rate. + + + + + + Credit Default Swap + + + + + + Collar + + In an interest rate collar, this is a combination of a cap and a floor. + + + + + + Commodity swap + + + + + + Exotic + + + + + + Options on Combo + + + + + + Floor + + In an interest rate floor, the buyer receives payments at the end of each period in which the rate index is below the agreed strike rate. + + + + + + Forward Rate Agreement + + + + + + Future + + + + + + Derivative forward + + + + + + Interest Rate Swap + + + + + + Total return swap + + + + + + Loan/lease + + + + + + Options on Futures + + + + + + Options on Physical - use not recommended + + + + + + Option + + + + + + Spot forward + + + + + + Swap option + + + + + + Transmission + + + + + + General type for a contract based on an established index + + + + + + Bond basket + + + + + + Contract for difference + + + + + + Correlation swap + + + + + + Dividend swap + + + + + + Equity basket + + + + + + Equity forward + + + + + + Return swap + + + + + + Variance swap + + + + + + Portfolio swap + + + + + + Futures on a Swap + + + + + + Forwards on a Swap + + + + + + Forward Freight Agreement + + + + + + Spread Betting + + + + + + Exchange traded commodity + + + + + + Common Stock + + + + + + Preferred Stock + + + + + + Depository Receipts + + + + + + Repurchase + + + + + + Forward + + + + + + Buy Sellback + + + + + + Securities Loan + + + + + + Securities Pledge + + + + + + Delivery versus pledge + + + + + + Collateral basket + + A collection of securities held as collateral in the customer's collateral fund. The collateral fund is usually managed by a custodian. + + + + + + Structured finance product + + + + + + Margin loan + + + + + + Brady Bond + + + + + + Canadian Treasury Notes + + + + + + Canadian Treasury Bills + + + + + + Euro Sovereigns + + Identify the issuer name in Issuer(106). + + + + + + Canadian Provincial Bonds + + + + + + Treasury Bill - non US + + + + + + US Treasury Bond + + + + + + Interest Strip From Any Bond Or Note + + + + + + US Treasury Bill + + + + + + Treasury Inflation Protected Securities + + + + + + Principal Strip Of A Callable Bond Or Note + + + + + + Principal Strip From A Non-Callable Bond Or Note + + + + + + US Treasury Note + + + + + + Offshore issued Chinese Yuan (CNY) denominated sovereign bond + + + + + + Sovereign Bond + + Sovereign or government bond other than Euro and US issuer. Specify sovereign issuer in Issuer(106). + + + + + + US Treasury Floating Rate Note + + + + + + Term Loan + + + + + + Revolver Loan + + + + + + Revolver/Term Loan + + + + + + Bridge Loan + + + + + + Letter Of Credit + + + + + + Swing Line Facility + + + + + + Debtor In Possession + + + + + + Defaulted + + + + + + Withdrawn + + + + + + Replaced + + + + + + Matured + + + + + + Amended and restated + + + + + + Retired + + + + + + Bankers Acceptance + + + + + + Bank Depository Note + + + + + + Bank Notes + + + + + + Bill Of Exchanges + + + + + + Canadian Money Markets + + + + + + Certificate Of Deposit + + + + + + Call Loans + + + + + + Commercial Paper + + + + + + Deposit Notes + + + + + + Euro Certificate Of Deposit + + + + + + Euro Commercial Paper + + + + + + Liquidity Note + + + + + + Medium Term Notes + + + + + + Overnight + + + + + + Promissory Note + + + + + + Short Term Loan Note + + + + + + Plazos Fijos + + + + + + Secured Liquidity Note + + + + + + Time Deposit + + + + + + Term Liquidity Note + + + + + + Extended Comm Note + + + + + + Yankee Certificate Of Deposit + + + + + + Bank Accepted Bill + + Also known as Bank Bill. + + + + + + Short Term Bank Note + + + + + + Callable Commercial Paper + + + + + + Commercial Note + + + + + + Interest Bearing Commercial Paper + + + + + + Euro Medium Term Note + + + + + + Euro Negotiable Commercial Paper + + + + + + Euro Structured Liquidity Note + + + + + + Euro Time Deposit + + + + + + Jumbo Certificate of Deposit + + + + + + Money Market Fund + + + + + + Master Note + + Short term notes issued by Federal Farm Credit Banks Funding Corporation to provide loans and funding under Federal Farm Credit System (FFCS). + + + + + + Negotiable Certificate of Deposit + + + + + + Negotiable Commercial Paper + + + + + + Retail Certificate of Deposit + + + + + + Term Deposit Receipt + + + + + + Asset-backed Securities + + + + + + Canadian Mortgage Bonds + + + + + + Corp. Mortgage-backed Securities + + + + + + Collateralized Mortgage Obligation + + + + + + IOETTE Mortgage + + + + + + Mortgage-backed Securities + + + + + + Mortgage Interest Only + + + + + + Mortgage Principal Only + + + + + + Mortgage Private Placement + + + + + + Miscellaneous Pass-through + + + + + + Pfandbrief + + Identify the issuer name in Issuer(106). + + + + + + To Be Announced + + + + + + Other Anticipation Notes (BAN, GAN, etc.) + + + + + + Certificate Of Obligation + + + + + + Certificate Of Participation + + + + + + General Obligation Bonds + + + + + + Mandatory Tender + + + + + + Revenue Anticipation Note + + + + + + Revenue Bonds + + + + + + Special Assessment + + + + + + Special Obligation + + + + + + Special Tax + + + + + + Tax Anticipation Note + + + + + + Tax Allocation + + + + + + Tax Exempt Commercial Paper + + + + + + Taxable Municipal CP + + + + + + Tax Revenue Anticipation Note + + + + + + Variable Rate Demand Note + + + + + + Warrant + + + + + + Municipal Interest Bearing Commercial Paper + + + + + + Taxable Municipal Bond + + + + + + Variable Rate Demand Obligation + + + + + + Mutual Fund + + + + + + Multileg Instrument + + + + + + No Security Type + + + + + + Wildcard entry for use on Security Definition Request + + + + + + Cash + + + + + + Other + + + + + + Exchange traded note + + + + + + Securitized derivative + + + + + + Exchange Traded Fund + + + + + + Digital Asset + + Asset that exists only in digital form or which is the digital representation of another asset (Source: ISO 24165 - Terms and Definitions). + + + + + Indicates type of security. Security type enumerations are grouped by Product(460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties. + + + + + + + Put + + Also used for the case in which the buyer of a Swaption has the right to enter into an IRS contract as a fixed-rate receiver or into a CDS contract as a seller of protection or for the case of a Floor. + + + + + + Call + + Also used for the case in which the buyer of a Swaption has the right to enter into an IRS contract as a fixed-rate payer or into a CDS contract as a buyer of protection or for the case of a Cap. + + + + + + Other + + In the context of ESMA RTS 22 reporting, this value may be used when, at the time of execution, the option right cannot be determined. + + + + + + Chooser + + Indicates that the option buyer may choose to buy or sell the underlying security on exercise or if a Swaption to pay or receive the underlying IRS cash flow stream or to buy or sell CDS protection. + + + + + Indicates whether an option contract is a put, call, chooser or undetermined. + + + + + + + Covered + + + + + + Uncovered + + + + + Used for derivative products, such as options + + + + + + + Not Traded Flat + + + + + + Traded Flat + + + + + Driver and part of trade in the event that the Security Master file was wrong at the point of entry(Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + + + + + + Day + + + + + + HalfDay + + + + + + Morning + + + + + + Afternoon + + + + + + Evening + + + + + + After-hours + + + + + + Holiday + + + + + Identifier for a trading session. + + A trading session spans an extended period of time that can also be expressed informally in terms of the trading day. Usage is determined by market or counterparties. + + To specify good for session where session spans more than one calendar day, use TimeInForce = 0 (Day) in conjunction with TradingSessionID(336). + + Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibility. + + + + + + + Invalid Tag Number + + + + + + Required Tag Missing + + + + + + Tag not defined for this message type + + + + + + Undefined tag + + + + + + Tag specified without a value + + + + + + Value is incorrect (out of range) for this tag + + + + + + Incorrect data format for value + + + + + + Decryption problem + + + + + + Signature problem + + + + + + CompID problem + + + + + + SendingTime Accuracy Problem + + + + + + Invalid MsgType + + + + + + XML Validation Error + + + + + + Tag appears more than once + + + + + + Tag specified out of required order + + + + + + Repeating group fields out of order + + + + + + Incorrect NumInGroup count for repeating group + + + + + + Non "Data" value includes field delimiter (<SOH> character) + + + + + + Invalid/Unsupported Application Version + + + + + + Other + + + + + Code to identify reason for a session-level Reject message. + + + + + + + Was not solicited + + + + + + Was solicited + + + + + Indicates whether or not the order was solicited. + + + + + + + GT corporate action + + + + + + GT renewal / restatement (no corporate action) + + + + + + Verbal change + + + + + + Repricing of order + + + + + + Broker option + + + + + + Partial decline of OrderQty (e.g. exchange initiated partial cancel) + + + + + + Cancel on Trading Halt + + + + + + Cancel on System Failure + + + + + + Market (Exchange) option + + + + + + Canceled, not best + + + + + + Warehouse Recap + + + + + + Peg Refresh + + + + + + Cancel On Connection Loss + + + + + + Cancel On Logout + + + + + + Assign Time Priority + + + + + + Cancelled, Trade Price Violation + + + + + + Cancelled, Cross Imbalance + + + + + + Other + + + + + The reason for restatement when an ExecutionReport(35=8) or TradeCaptureReport(35=AE) message is sent with ExecType(150) = D (Restated) or used when communicating an unsolicited cancel. + + + + + + + Other + + + + + + Unknown ID + + + + + + Unknown Security + + + + + + Unsupported Message Type + + + + + + Application not available + + + + + + Conditionally required field missing + + + + + + Not Authorized + + + + + + DeliverTo firm not available at this time + + + + + + Throttle limit exceeded + + + + + + Throttle limit exceeded, session will be disconnected + + + + + + Throttled messages rejected on request + + + + + + Invalid price increment + + + + + Code to identify reason for a Business Message Reject message. + + + + + + + Percentage (i.e. percent of par) (often called "dollar price" for fixed income) + + + + + + Per unit (i.e. per share or contract) + + + + + + Fixed amount (absolute value) + + + + + + Discount - percentage points below par + + + + + + Premium - percentage points over par + + + + + + Spread (basis points spread) + + Usually the difference in yield between two switched bonds or a corporate bond traded spread-to-benchmark. + + + + + + TED Price + + + + + + TED Yield + + + + + + Yield + + + + + + Fixed cabinet trade price (primarily for listed futures and options) + + + + + + Variable cabinet trade price (primarily for listed futures and options) + + + + + + Price spread + + Price spread is expressed based on market convention for the asset being priced or traded. For example, the difference between the prices of a multileg switch or strategy expressed in basis points for a CDS or TBA roll; a price value to be added to a reference price, such as a "pay up" for specified pools + + + + + + Product ticks in halves + + + + + + Product ticks in fourths + + + + + + Product ticks in eighths + + + + + + Product ticks in sixteenths + + + + + + Product ticks in thirty-seconds + + + + + + Product ticks in sixty-fourths + + + + + + Product ticks in one-twenty-eighths + + + + + + Normal rate representation (e.g. FX rate) + + + + + + Inverse rate representation (e.g. FX rate) + + + + + + Basis points + + When the price is not spread based. + + + + + + Up front points + + Used specifically for CDS pricing. + + + + + + Interest rate + + When the price is an interest rate. For example, used with benchmark reference rate. + + + + + + Percentage of notional + + + + + Code to represent the price type. + + + + + + + + Book out all trades on day of execution + + + + + + Accumulate executions until order is filled or expires + + + + + + Accumulate until verbally notified otherwise + + + + + Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate. + + + + + + + Single security (default if not specified) + + + + + + Individual leg of a multi-leg security + + + + + + Multi-leg security + + + + + Used to indicate how the multi-legged security (e.g. option strategies, spreads, etc.) is being reported. + + + + + + + UK National Insurance or Pension Number + + + + + + US Social Security Number + + + + + + US Employer or Tax ID Number + + + + + + Australian Business Number + + + + + + Australian Tax File Number + + + + + + Tax ID + + + + + + Korean Investor ID + + + + + + Taiwanese Qualified Foreign Investor ID QFII/FID + + + + + + Taiwanese Trading Acct + + + + + + Malaysian Central Depository (MCD) number + + + + + + Chinese Investor ID + + + + + + Directed broker three character acronym as defined in ISITC "ETC Best Practice" guidelines document + + + + + + BIC (Bank Identification Code - SWIFT managed) code (ISO9362 - See "Appendix 6-B") + + + + + + Generally accepted market participant identifier (e.g. NASD mnemonic) + + + + + + Proprietary / Custom code + + Custom ID schema used between counterparties, trading platforms and repositories. + + + + + + ISO Country Code + + + + + + Settlement Entity Location (note if Local Market Settlement use "E=ISO Country Code") (see "Appendix 6-G" for valid values) + + + + + + Market Identifier Code (ISO 10383) MIC + + + + + + CSD participant/member code (e.g.. Euroclear, DTC, CREST or Kassenverein number) + + + + + + Australian Company Number + + + + + + Australian Registered Body Number + + + + + + CFTC reporting firm identifier + + + + + + Legal Entity Identifier (ISO 17442) LEI + + + + + + Interim identifier + + An interim entity identifier assigned by a regulatory agency prior to an LEI (ISO 17442) being assigned. + + + + + + Short code identifier + + A generic means for trading venues, brokers, investment managers to convey a bilaterally agreed upon "short hand" code for an identifier that is a reference to a mapping between the parties. + + + + + + National ID of natural person + + An identification number generally assigned by a government authority or agency to a natural person which is unique to the person it is assigned to. Examples include, but not limited to, "social security number", "pension number". + + + + + + India Permanent Account Number + + Also referred to as PAN ID. An identifier issued by the Income Tax Department of India. + + + + + + Firm designated identifier + + Also referred to as FDID. A unique identifier required by the SEC for each trading account designated by Industry Members for purposes of reporting to CAT (Consolidated Audit Trail). + + + + + + Special Segregated Account ID + + Also referred to as SPSA ID. The Special Segregated Account identifier issued by Hong Kong Exchanges and Clearing. + + + + + + Master Special Segregated Account ID + + Also referred to as Master SPSA ID. The master identifier issued by Hong Kong Exchanges and Clearing for the aggregation of SPSA IDs. + + + + + Identifies class or source of the PartyID (448) value. Required if PartyID is specified. Note: applicable values depend upon PartyRole (452) specified. + + See "Appendix 6-G - Use of <Parties> Component Block" + + + + + + + Executing Firm (formerly FIX 4.2 ExecBroker) + + + + + + Broker of Credit (formerly FIX 4.2 BrokerOfCredit) + + + + + + Client ID (formerly FIX 4.2 ClientID) + + + + + + Clearing Firm (formerly FIX 4.2 ClearingFirm) + + + + + + Investor ID + + + + + + Introducing Firm + + + + + + Entering Firm + + + + + + Locate / Lending Firm (for short-sales) + + + + + + Fund Manager Client ID (for CIV) + + + + + + Settlement Location (formerly FIX 4.2 SettlLocation) + + + + + + Order Origination Trader (associated with Order Origination Firm - i.e. trader who initiates/submits the order) + + + + + + Executing Trader (associated with Executing Firm - actually executes) + + + + + + Order Origination Firm (e.g. buy-side firm) + + + + + + Giveup Clearing Firm (firm to which trade is given up) + + + + + + Correspondant Clearing Firm + + + + + + Executing System + + + + + + Contra Firm + + + + + + Contra Clearing Firm + + + + + + Sponsoring Firm + + + + + + Underlying Contra Firm + + + + + + Clearing Organization + + + + + + Exchange + + Identify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists. + + + + + + Customer Account + + + + + + Correspondent Clearing Organization + + + + + + Correspondent Broker + + + + + + Buyer/Seller (Receiver/Deliverer) + + + + + + Custodian + + + + + + Intermediary + + + + + + Agent + + + + + + Sub-custodian + + + + + + Beneficiary + + + + + + Interested party + + + + + + Regulatory body + + In the context of regulatory reporting, this identifies the regulator the trade is being reported to. + + + + + + Liquidity provider + + + + + + Entering trader + + + + + + Contra trader + + + + + + Position account + + The account which positions are maintained. Typically represents the aggregation of one or more customer accounts. + + + + + + Contra Investor ID + + + + + + Transfer to Firm + + + + + + Contra Position Account + + + + + + Contra Exchange + + + + + + Internal Carry Account + + + + + + Order Entry Operator ID + + + + + + Secondary Account Number + + + + + + Foreign Firm + + + + + + Third Party Allocation Firm + + + + + + Claiming Account + + + + + + Asset Manager + + + + + + Pledgor Account + + + + + + Pledgee Account + + + + + + Large Trader Reportable Account + + + + + + Trader mnemonic + + + + + + Sender Location + + + + + + Session ID + + + + + + Acceptable Counterparty + + + + + + Unacceptable Counterparty + + + + + + Entering Unit + + + + + + Executing Unit + + + + + + Introducing Broker + + + + + + Quote originator + + + + + + Report originator + + + + + + Systematic internaliser (SI) + + + + + + Multilateral Trading Facility (MTF) + + Identify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists. + + + + + + Regulated Market (RM) + + Identify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists. + + + + + + Market Maker + + + + + + Investment Firm + + + + + + Host Competent Authority (Host CA) + + + + + + Home Competent Authority (Home CA) + + + + + + Competent Authority of the most relevant market in terms of liquidity (CAL) + + + + + + Competent Authority of the Transaction (Execution) Venue (CATV) + + + + + + Reporting intermediary + + The medium or vendor used to report to a regulator, non-regulatory agency or data repository. + + + + + + Execution Venue + + Identify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists. + + + + + + Market data entry originator + + + + + + Location ID + + + + + + Desk ID + + + + + + Market data market + + + + + + Allocation Entity + + + + + + Prime Broker providing General Trade Services + + + + + + Step-Out Firm (Prime Broker) + + + + + + Broker clearing identifier + + + + + + Central Registration Depository (CRD) + + + + + + Clearing Account + + + + + + Acceptable Settling Counterparty + + + + + + Unacceptable Settling Counterparty + + + + + + CLS Member Bank + + + + + + In Concert Group + + + + + + In Concert Controlling Entity + + + + + + Large Positions Reporting Account + + + + + + Settlement Firm + + + + + + Settlement account + + The account to which individual payment obligations are aggregated for netting and funds movement. Typically represents the aggregation of many margin (performance bond) accounts. + + + + + + Reporting Market Center + + + + + + Related Reporting Market Center + + + + + + Away Market + + Identify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists. + + + + + + Give-up (trading) firm + + + + + + Take-up (trading) firm + + + + + + Give-up clearing firm + + + + + + Take-up clearing firm + + + + + + Originating Market + + Identifies the Market using PartyIDSource(tag 447) = G (Market Identifier Code) where an order originated in the event that the order is sent to an alternative market for execution. Serves as an inverse of an away market. + + + + + + Margin account + + Also referred to as "performance bond account". The margin account is the calculated margin requirements. Typically represents the aggregation of one or more position accounts. + + + + + + Collateral asset account + + The account at which individual collateral assets are maintained. Typically, although not always, one-for-one with the settlement account. + + + + + + Data repository + + Multiple instances of this PartyRole may appear for reporting purposes. + + + + + + Calculation agent + + + + + + Sender of exercise notice + + + + + + Receiver of exercise notice + + + + + + Rate reference bank + + The bank providing the reference rate. Multiple instance of this PartyRole may appear. + + + + + + Correspondent + + + + + + Beneficiary's bank or depository institution + + The institution in which the beneficiary, a person or an entity, has their account with. The institution may be a bank or non-bank institution. + + + + + + Borrower + + + + + + Primary obligator + + + + + + Guarantor + + + + + + Excluded reference entity + + + + + + Determining party + + + + + + Hedging party + + + + + + Reporting entity + + The entity that is reporting the information. + + + + + + Sales person + + The person who is involved in the sales activities for their firm. + + + + + + Operator + + The person who has the capabilities and authorization to take certain actions; for example, setting entitlements, etc. + + + + + + Central Securities Depository (CSD) + + + + + + International Central Securities Depository (ICSD) + + + + + + Trading sub-account + + Example of sub-accounts include a clearing account that has multiple trading sub-accounts, a trading account that has multiple trading sub-accounts belonging to different trading firms. + + + + + + Investment decision maker + + In the context of ESMA RTS reporting, this is used to specify party responsible for the investment decision. See RTS 24, Annex, Table 2, Field 4. + + + + + + Publishing intermediary + + The medium or vendor used to publish to the market. + + + + + + Central Securities Depository (CSD) Participant + + In the context of EU SFTR reporting the identifier of the CSD participant or indirect participant of the reporting counterparty. Where both the CSD participant and indirect participant are involved in the transaction this should identify the indirect participant. + + + + + + Issuer + + The issuer of the security. + + + + + + Contra Customer Account + + Same as PartyRole(452) = 24 (Customer Account) but for the counterparty. Can be used whenever the parties component is not nested in a repeating group representing both sides. + + + + + + Contra Investment Decision Maker + + Same as PartyRole(452) = 122 (Investment Decision Maker) but for the counterparty. Can be used whenever the parties component is not nested in a repeating group representing both sides. + + + + + Identifies the type or role of the PartyID (448) specified. + + + + + + + AGENCY + + + + + + COMMODITY + + + + + + CORPORATE + + + + + + CURRENCY + + + + + + EQUITY + + + + + + GOVERNMENT + + + + + + INDEX + + + + + + LOAN + + + + + + MONEYMARKET + + + + + + MORTGAGE + + + + + + MUNICIPAL + + + + + + OTHER + + + + + + FINANCING + + + + + Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields. + + + + + + + False (production) + + + + + + True (test) + + + + + Indicates whether or not this FIX Session is a "test" vs. "production" connection. Useful for preventing "accidents". + + + + + + + Round to nearest + + + + + + Round down + + + + + + Round up + + + + + Specifies which direction to round For CIV - indicates whether or not the quantity of shares/units is to be rounded and in which direction where CashOrdQty (152) or (for CIV only) OrderPercent (516) are specified on an order. + + The default is for rounding to be at the discretion of the executing broker or fund manager. + + e.g. for an order specifying CashOrdQty or OrderPercent if the calculated number of shares/units was 325.76 and RoundingModulus (469) was 0 - "round down" would give 320 units, 1 - "round up" would give 330 units and "round to nearest" would give 320 units. + + + + + + + Yes + + + + + + No - Execution Only + + + + + + No - Waiver agreement + + + + + + No - Institutional + + + + + For CIV - A one character code identifying whether Cancellation rights/Cooling off period applies. + + + + + + + Passed + + + + + + Not Checked + + + + + + Exempt - Below the Limit + + + + + + Exempt - Client Money Type exemption + + + + + + Exempt - Authorised Credit or financial institution + + + + + A one character code identifying Money laundering status. + + + + + + + Bid price + + + + + + Creation price + + + + + + Creation price plus adjustment percent + + + + + + Creation price plus adjustment amount + + + + + + Offer price + + + + + + Offer price minus adjustment percent + + + + + + Offer price minus adjustment amount + + + + + + Single price + + + + + For CIV - Identifies how the execution price LastPx (31) was calculated from the fund unit/share price(s) calculated at the fund valuation point. + + + + + + + Individual investor + + + + + + Public company + + + + + + Private company + + + + + + Individual trustee + + + + + + Company trustee + + + + + + Pension plan + + + + + + Custodian under Gifts to Minors Act + + + + + + Trusts + + + + + + Fiduciaries + + + + + + Networking sub-account + + + + + + Non-profit organization + + + + + + Corporate body + + + + + + Nominee + + + + + + Institutional customer + + + + + + Combined + + Representing more than one type of beneficial owner account. + + + + + + Member firm employee or associated person + + + + + + Market making account + + + + + + Proprietary account + + + + + + Non-broker-dealer + + + + + + Unknown beneficial owner type + + In the context of US CAT this is a non-broker-dealer foreign affiliate or non-reporting foreign broker-dealer. + + + + + + Error account of firm + + + + + + Firm agency average price account + + + + + Identifies the type of owner. + + + + + + + Agency + + + + + + Proprietary + + + + + + Individual + + + + + + Principal + + For some markets Principal may include Proprietary. + + + + + + Riskless Principal + + + + + + Agent for Other Member + + + + + + Mixed capacity + + + + + Designates the capacity of the firm placing the order. + + (as of FIX 4.3, this field replaced Rule80A (tag 47) --used in conjunction with OrderRestrictions (529) field) + + (see Volume : "Glossary" for value definitions) + + + + + + + Program Trade + + + + + + Index Arbitrage + + + + + + Non-Index Arbitrage + + + + + + Competing Market Maker + + + + + + Acting as Market Maker or Specialist in the security + + + + + + Acting as Market Maker or Specialist in the underlying security of a derivative security + + + + + + Foreign Entity (of foreign government or regulatory jurisdiction) + + + + + + External Market Participant + + + + + + External Inter-connected Market Linkage + + + + + + Riskless Arbitrage + + + + + + Issuer Holding + + + + + + Issue Price Stabilization + + + + + + Non-algorithmic + + + + + + Algorithmic + + + + + + Cross + + + + + + Insider Account + + + + + + Significant Shareholder + + + + + + Normal Course Issuer Bid (NCIB) + + + + + Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space. + + + + + + + Cash + + + + + + Margin Open + + + + + + Margin Close + + + + + Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. + + + + + + + All-or-none cross + + A cross order which is executed completely or not at all. Both sides of the cross are treated in the same manner. + + + + + + Immediate-or-cancel cross + + A cross order which is immediately executed with any unfilled quantity cancelled. CrossPrioritization(550) may be used to indicate whether one side should have execution priority and any remaining quantity of the partially executed side be cancelled. Using CrossPrioritiation(550)="Y" and CrossType(549)=2(Immediate-or-cancel cross) is equivalent to non-prioritized leg having a TimeInForce(59)=3(IOC) Immediate-or-cancel. + + + + + + One sided cross + + A cross order which is executed on one side with any unfilled quantity remaining active. CrossPrioritization(550) may be used to indicate which side should have execution priority. + + + + + + Cross executed against book + + A cross order which is executed against existing orders in the order book. The quantity on one side of the cross is executed against existing orders and quotes with the same price, and any remaining quantity of the cross is executed against the other side of the cross. The two sides of the cross may have different quantities. + + + + + + Basis cross + + A cross order where a basket of securities or an index participation unit is transacted at prices achieved through the execution of related exchange-traded derivative instruments in an amount that will correspond to an equivalent market exposure. + + + + + + Contingent cross + + A cross order resulting from a paired order placed by a participant to execute an order on a security that is contingent on the execution of a second order for an offsetting volume of a related security. + + + + + + Volume-weighted-average-price (VWAP) cross + + A cross order for the purpose of executing a trade at a volume-weighted-average-price (VWAP) of a security traded for a continuous period on or during a trading day. + + + + + + Special trading session cross + + A closing price cross resulting from an order placed by a participant for execution in a special trading session at the last sale price. + + + + + + Customer to customer cross + + Cross order where both sides of the cross represent agency orders. + + + + + Type of cross being submitted to a market + + + + + + + Not reported to counterparty or market + + In the context of RTS 13 Article 16 when a trade is reported to more than one "approved publication arrangement" (APA) the original report can be flagged as "original". This is the ESMA "ORGN" flag. + + + + + + Previously reported to counterparty or market + + In the context of RTS 13 Article 16 when a trade is reported to more than one "approved publication arrangement" (APA) the additional reports need to be flagged as "duplicative" and this flag needs to be present on any occurrence (even when publishing to the market). This is also used for reporting directly to ESMA when the trade has been previously reported. This is the ESMA "DUPL" flag. + + + + + Indicates if the transaction was previously reported to the counterparty or market. + + + + + + + One-Party Trade Report (privately negotiated trade) + + + + + + Two-Party Trade Report (privately negotiated trade) + + + + + + Confirmed Trade Report (reporting from recognized markets) + + + + + + Auto-match + + + + + + Cross Auction + + + + + + Counter-Order Selection + + + + + + Call Auction + + + + + + Issuing/Buy Back Auction + + + + + + Systematic Internaliser (SI) + + + + + + Auto-match with last look + + Execution that arises from a match against orders or quotes which require a confirmation during continuous trading. + + + + + + Cross auction with last look + + Execution that arises from a match against orders or quotes which require a confirmation during an auction. + + + + + + ACT Accepted Trade + + + + + + ACT Default Trade + + + + + + ACT Default After M2 + + + + + + ACT M6 Match + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus four badges and execution time (within two-minute window) + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus four badges + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges and execution time (within two-minute window) + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, TradeType, and Special Trade Indicator plus execution time (within two-minute window) + + + + + + Compared records resulting from stamped advisories or specialist accepts/pair-offs + + + + + + Summarized match using A1 exact match criteria except quantity is summaried + + + + + + Summarized match using A2 exact match criteria except quantity is summarized + + + + + + Summarized match using A3 exact match criteria except quantity is summarized + + + + + + Summarized match using A4 exact match criteria except quantity is summarized + + + + + + Summarized match using A5 exact match criteria except quantity is summarized + + + + + + Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator minus badges And times: ACT M1 match + + + + + + Summarized match minus badges and times: ACT M2 Match + + + + + + OCS Locked In: Non-ACT + + + + + The point in the matching process at which this trade was matched. + + + + + + + Account is carried on customer side of the books + + + + + + Account is carried on non-customer side of books + + + + + + House Trader + + + + + + Floor Trader + + + + + + Account is carried on non-customer side of books and is cross margined + + + + + + Account is house trader and is cross margined + + + + + + Joint back office account (JBO) + + + + + + Equities specialist + + + + + + Options market maker + + + + + + Options firm account + + + + + + Account for customer and non-customer orders + + Account aggregates orders from customers and non-customers. + + In the context of IIROC UMIR this account type can be used for bundled orders (BU), i.e. orders including client, non-client and principal orders. + + + + + + Account for orders from multiple customers + + Account aggregates orders from multiple customers. + + In the context of IIROC UMIR this account type can be used for multiple client orders (MC), i.e. orders including orders from more than one client but no principal or non-client orders. + + + + + Type of account associated with an order + + + + + + + Member trading for their own account + + + + + + Clearing firm trading for its proprietary account + + + + + + Member trading for another member + + + + + + All other + + + + + + Retail customer + + An order that originated from a retail customer (a natural person). In the context of the US Securities and Exchange Commission, this also means an order originated from a natural person where, prior to submission, no change was made to the terms of the order with respect to price or side of market and the order does not originate from an algorithm or other computerized trading method. + + + + + Capacity of customer placing the order. + + Used by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission). May be used as required by other regulatory commissions for similar purposes. + + + + + + + Can trigger booking without reference to the order initiator ("auto") + + + + + + Speak with order initiator before booking ("speak first") + + + + + + Accumulate + + + + + Indicates whether or not automatic booking can occur. + + + + + + + Each partial execution is a bookable unit + + + + + + Aggregate partial executions on this order, and book one trade per order + + + + + + Aggregate executions for this symbol, side, and settlement date + + + + + Indicates what constitutes a bookable unit. + + + + + + + Pro rata + + + + + + Do not pro-rata - discuss first + + + + + Indicates the method of preallocation. + + + + + + + Pre-Trading + + + + + + Opening or opening auction + + + + + + (Continuous) Trading + + + + + + Closing or closing auction + + + + + + Post-Trading + + + + + + Scheduled intraday auction + + + + + + Quiescent + + + + + + Any auction + + + + + + Unscheduled intraday auction + + An unscheduled intraday auction might be triggered by a circuit breaker. + + + + + + Out of main session trading + + In the context of Market Model Typology "Out of main session trading" refers to both before and after session, neither auction nor continuous trading. + + + + + + Private auction + + An auction phase where only two parties participate. + + + + + + Public auction + + An auction phase where all trading parties participate. + + + + + + Group auction + + An auction phase limited to specific parties (e.g. parties that have resting orders in the order book). + + + + + Optional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibility + + + + + + + 1st year delegate trading for own account + + + + + + 2nd year delegate trading for own account + + + + + + 3rd year delegate trading for own account + + + + + + 4th year delegate trading for own account + + + + + + 5th year delegate trading for own account + + + + + + 6th year delegate trading for own account + + + + + + CBOE Member + + + + + + Non-member and Customer + + + + + + Equity Member and Clearing Member + + + + + + Full and Associate Member trading for own account and as floor brokers + + + + + + 106.H and 106.J firms + + + + + + GIM, IDEM and COM Membership Interest Holders + + + + + + Lessee 106.F Employees + + + + + + All other ownership types + + + + + Indicates type of fee being assessed of the customer for trade executions at an exchange. Applicable for futures markets only at this time. + + (Values source CBOT, CME, NYBOT, and NYMEX): + + + + + + + Order has been accepted but not yet in a working state + + + + + + Order is currently being worked + + + + + Indicates if the order is currently being worked. Applicable only for OrdStatus = "New". For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order. + + + + + + + Priority unchanged + + + + + + Lost Priority as result of order change + + + + + Indicates if a Cancel/Replace has caused an order to lose book priority. + + + + + + + BIC + + + + + + SID Code + + + + + + TFM (GSPTA) + + + + + + OMGEO (Alert ID) + + + + + + DTCC Code + + + + + + Special Segregated Account ID + + Also referred to as SPSA ID. The Special Segregated Account identifier issued by Hong Kong Exchanges and Clearing.. + + + + + + Other (custom or proprietary) + + + + + Used to identify the source of the Account (1) code. This is especially useful if the account is a new account that the Respondent may not have setup yet in their system. + + + + + + + Regular booking + + + + + + CFD (Contract for difference) + + + + + + Total Return Swap + + + + + Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). + + + + + + + Regular trade + + + + + + Block trade + + + + + + Exchange for physical (EFP) + + + + + + Transfer + + + + + + Late trade + + + + + + T trade + + + + + + Weighted average price trade + + + + + + Bunched trade + + + + + + Late bunched trade + + + + + + Prior reference price trade + + + + + + After hours trade + + + + + + Exchange for risk (EFR) + + + + + + Exchange for swap (EFS) + + + + + + Exchange of futures for in market futures (EFM) + + For example full sized for mini. + + + + + + Exchange of options for options (EOO) + + + + + + Trading at settlement + + + + + + All or none + + + + + + Futures large order execution + + + + + + Exchange of futures for external market futures (EFF) + + + + + + Option interim trade + + + + + + Option cabinet trade + + + + + + Privately negotiated trade + + + + + + Substitution of futures for forwards + + + + + + Non-standard settlement + + + + + + Derivative related transaction + + + + + + Portfolio trade + + Identifies a collection/basket of trades. In the context of bonds (e.g. corporate bonds) these are transacted as a single trade at an aggregate price for the entire portfolio and may be traded all-or-none or most-or-none depending on bilateral agreement. + + In the context of ESMA RTS 1 Article 2(b), may be used to refer to portfolio trades to distinguish between addressable and non-addressable volume. + + In the context of Market Model Typology (MMT), use of this value applies to SecondaryTrdType(855) or TertiaryTrdType(2896), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade). + + + + + + Volume weighted average trade + + + + + + Exchange granted trade + + + + + + Repurchase agreement + + + + + + OTC + + Trade executed off-market. In the context of CFTC regulatory reporting for swaps, it is a large notional off-facility swap. In the context of MiFID transparency reporting rules this is used to report, into an exchange, deals made outside exchange rules. + + + + + + Exchange basis facility (EBF) + + + + + + Opening trade + + + + + + Netted trade + + + + + + Block swap trade + + Block trade executed off-market or on a registered market. In the context of CFTC regulatory reporting for swaps, it is a swap executed according to SEF or DCM rules. + + + + + + Credit event trade + + + + + + Succession event trade + + + + + + Give-up Give-in trade + + + + + + Dark trade + + In the context of Market Model Typology (MMT), a dark trade might also come from a lit/hybrid book (e.g. when an aggressive lit order hits a resting dark order). The use of this value applies to TrdType(828), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade). + + + + + + Technical trade + + + + + + Benchmark + + In the context of ESMA RTS 1 Article 2(a), may be used to refer to benchmark trades. + + In the context of Market Model Typology (MMT), the "benchmark" price depends on a benchmark which has no current price but was derived from a time series such as a VWAP. The use of this value applies to SecondaryTrdType(855) or TertiaryTrdType(2896), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade). + + + + + + Package trade + + Identifies the pseudo-trade of a stream or collection of trades to be transacted, cleared and be reported as an atomic unit. The subsequent actual trades reported should not have this value. + + In the context of ESMA RTS 2 Article 1(1)(b), may be used to refer to package transactions (excluding exchange for physicals). + + In the context of Market Model Typology (MMT), use of this value applies to TrdType(828), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade). + + + + + + Roll trade + + Trade is a roll from one contract that is about to expire to a new contract. + + + + + + Error trade + + + + + + Special cum dividend (CD) + + + + + + Special ex dividend (XD) + + + + + + Special cum coupon (CC) + + + + + + Special ex coupon (XC) + + + + + + Cash settlement (CS) + + + + + + Special price (SP) + + Usually net or all-in price. + + + + + + Guaranteed delivery (GD) + + + + + + Special cum rights (CR) + + + + + + Special ex rights (XR) + + + + + + Special cum capital repayments (CP) + + + + + + Special ex capital repayments (XP) + + + + + + Special cum bonus (CB) + + + + + + Special ex bonus (XB) + + + + + + Block trade + + The same as large trade. + + + + + + Worked principal trade + + + + + + Block trades + + + + + + Name change + + + + + + Portfolio transfer + + + + + + Prorogation buy + + Used by Euronext Paris only. Is used to defer settlement under French SRD (deferred settlement system). Trades must be reported as crosses at zero price. + + + + + + Prorogation sell + + See prorogation buy. + + + + + + Option exercise + + + + + + Delta neutral transaction + + + + + + Financing transaction + + + + + Type of trade assigned to a trade. + + Note: several enumerations of this field duplicate the enumerations in TradePriceConditions(1839) field. These may be deprecated from TrdType(828) in the future. TradePriceConditions(1839) is preferred in messages that support it. + + + + + + + CMTA + + + + + + Internal transfer or adjustment + + + + + + External transfer or transfer of account + + + + + + Reject for submitting side + + + + + + Advisory for contra side + + + + + + Offset due to an allocation + + + + + + Onset due to an allocation + + + + + + Differential spread + + + + + + Implied spread leg executed against an outright + + + + + + Transaction from exercise + + + + + + Transaction from assignment + + + + + + ACATS + + + + + + Off Hours Trade + + + + + + On Hours Trade + + + + + + OTC Quote + + + + + + Converted SWAP + + + + + + Wash Trade + + + + + + Trade at Settlement (TAS) + + Identifies a trade that will be priced using the settlement price. + + + + + + Auction Trade + + Mutually exclusive with TrdSubType(829) = 50 (Balancing). + + + + + + Trade at Marker (TAM) + + Posted at a specific time each day and used to price the consummated trade for the product/month/strip executed (+/- and differentials). Closely related to TAS trades in function and trade practice. + + + + + + Default (Credit Event) + + + + + + Restructuring (credit event) + + + + + + Merger (succession event) + + + + + + Spin-off (succession event) + + + + + + Multilateral compression + + Used to identify a special case of compression between multiple parties, e.g. for netted or portfolio trades. + + + + + + Balancing + + Identifies an additional trade distributed to auction participants meant to resolve an imbalance between bids and offers. + + Mutually exclusive with TrdSubType(829) = 42 =(Auction). + + + + + + Basis Trade index Close (BTIC) + + The marketplace name given to Trade at Marker (TAM) transactions in equity index futures. + + + + + + Trade At Cash Open (TACO) + + The marketplace name given to trading futures based on an opening quote of the underlying cash market. + + + + + + Trade submitted to venue for clearing and settlement + + Identifies trades brought on a trading venue purely for clearing and settlement purposes. + + + + + + Bilateral compression + + Used to identify a special case of compression between two parties, e.g. for netted or portfolio trades. + + + + + + AI (Automated input facility disabled in response to an exchange request.) + + + + + + B (Transaction between two member firms where neither member firm is registered as a market maker in the security in question and neither is a designated fund manager. Also used by broker dealers when dealing with another broker which is not a member firm. Non-order book securities only.) + + + + + + K (Transaction using block trade facility.) + + + + + + LC (Correction submitted more than three days after publication of the original trade report.) + + + + + + M (Transaction, other than a transaction resulting from a stock swap or stock switch, between two market makers registered in that security including IDB or a public display system trades. Non-order book securities only.) + + + + + + N (Non-protected portfolio transaction or a fully disclosed portfolio transaction) + + + + + + NM ( i) transaction where Exchange has granted permission for non-publication + + ii)IDB is reporting as seller + + iii) submitting a transaction report to the Exchange, where the transaction report is not also a trade report.) + + + + + + NR (Non-risk transaction in a SEATS security other than an AIM security) + + + + + + P (Protected portfolio transaction or a worked principal agreement to effect a portfolio transaction which includes order book securities) + + + + + + PA (Protected transaction notification) + + + + + + PC (Contra trade for transaction which took place on a previous day and which was automatically executed on the Exchange trading system) + + + + + + PN (Worked principal notification for a portfolio transaction which includes order book securities) + + + + + + R ( (i) riskless principal transaction between non-members where the buying and selling transactions are executed at different prices or on different terms (requires a trade report with trade type indicator R for each transaction) + + (ii) market maker is reporting all the legs of a riskless principal transaction where the buying and selling transactions are executed at different prices (requires a trade report with trade type indicator R for each transaction)or + + (iii) market maker is reporting the onward leg of a riskless principal transaction where the legs are executed at different prices, and another market maker has submitted a trade report using trade type indicator M for the first leg (this requires a single trade report with trade type indicator R).) + + + + + + RO (Transaction which resulted from the exercise of a traditional option or a stock-settled covered warrant) + + + + + + RT (Risk transaction in a SEATS security, (excluding AIM security) reported by a market maker registered in that security) + + + + + + SW (Transactions resulting from stock swap or a stock switch (one report is required for each line of stock)) + + + + + + T (If reporting a single protected transaction) + + + + + + WN (Worked principal notification for a single order book security) + + + + + + WT (Worked principal transaction (other than a portfolio transaction)) + + + + + + Crossed Trade (X) + + + + + + Interim Protected Trade (I) + + + + + + Large in Scale (L) + + + + + Further qualification to the trade type + + + + + + + VWAP + + + + + + Participate (i.e. aim to be x percent of the market volume) + + + + + + Mininize market impact + + + + + The target strategy of the order + + 1000+ = Reserved and available for bi-laterally agreed upon user defined values + + + + + + + Neither added nor removed liquidity + + Subject to bilateral agreement, this value can only be used if none of the specific values apply. + + + + + + Added Liquidity + + + + + + Removed Liquidity + + + + + + Liquidity Routed Out + + + + + + Auction execution + + + + + + Triggered stop order + + Fill was the result of a stop order being triggered and immediately executed. + + + + + + Triggered contingency order + + Fill was the result of a contingency order (OCO, OTO, OUO) becoming active (after cancelling or updating another order) and being immediately executed. + + + + + + Triggered market order + + Fill was the result of a market order being triggered due to an executable orderbook situation. + + + + + + Removed liquidity after firm order commitment + + An order that was submitted for continuous trading that required a firm order commit prior to execution. "Conditional order" is an alternate term used for such orders. + + + + + + Auction execution after firm order commitment + + An order that was submitted for auction trading that required a firm order commit prior to execution. "Conditional order" is an alternate term used for such orders. + + + + + Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. + + + + + + + Units (shares, par, currency) + + + + + + Contracts + + + + + + Unit of Measure per Time Unit + + + + + Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit). + + + + + + + Not Last Message + + + + + + Last Message + + + + + Indicates whether this message is the last in a sequence of messages for those messages that support fragmentation, such as Allocation Instruction, Mass Quote, Security List, Derivative Security List + + + + + + + Not last message + + + + + + Last message + + + + + Indicates whether this message is the last report message in response to a request message, e.g. OrderMassStatusRequest(35=AF), TradeCaptureReportRequest(35=AD). + + + + + + + Active + + Instrument is active, i.e. trading is possible. + + + + + + Inactive + + Instrument has previously been active and is now no longer traded but has not expired yet. The instrument may become active again. + + + + + + Active, closing orders only + + Instrument is active but only orders closing positions (reducing risk) are allowed. + + + + + + Expired + + Instrument has expired. E.g. An instrument may expire due to reaching maturity or expired based on contract definitions or exchange rules. + + + + + + Delisted + + Instrument has been removed from securities reference data. Delisting rules varies from exchange to exchange, which may include non-compliance of capitalization, revenue, consecutive minimum closing price. The instrument may become listed again once the instrument is back in compliance. A delisted instrument would not trade on the exchange but it may still be traded over-the-counter (e.g. OTCBB) or on Pink Sheets, or other similar trading service. + + + + + + Knocked-out + + Instrument has breached a pre-defined price threshold. + + + + + + Knock-out revoked + + Instrument reinstated, i.e. threshold has not been breached. + + + + + + Pending Expiry + + Instrument is currently still active but will expire after the current business day. For example, a contract that expires intra-day (e.g. at noon time) and is no longer tradeable but will still show up in the current day's order book with related statistics. + + + + + + Suspended + + Instrument has been temporarily disabled for trading (i.e. halted). + + + + + + Published + + Instrument information is provided prior to its first activation. + + + + + + Pending Deletion + + Instrument is awaiting deletion from security reference data. + + + + + Indicates the current state of the instrument. + + + + + + + Billion cubic feet + + + + + + Cubic Meters + + + + + + gigajoules + + + + + + Heat rate + + The number of BTUs required to produce one kilowatt hour of electricity, typically 3,412.14 BTUs per 1 kWh. + + + + + + Kilowatt hours + + + + + + Mega heat rate + + The number of million BTUs required to produce one megawatt hour of electricity, typically 3.41214 million BTUs per 1 MWh. + + + + + + One Million BTU + + + + + + Megawatt hours + + + + + + therms + + Equal to 100,000 BTU + + + + + + Tons of carbon dioxide + + + + + + Million Barrels + + + + + + Allowances + + + + + + Barrels + + Equal to 42 US gallons + + + + + + Board feet + + Equal to 144 cubic inches + + + + + + Bushels + + + + + + Amount of currency + + + + + + Cooling degree day + + + + + + Certified emissions reduction + + + + + + Critical precipitation day + + + + + + Climate reserve tonnes + + + + + + Hundredweight(US) + + Equal to 100 lbs + + + + + + Days + + + + + + Dry metric tons + + + + + + Environmental allowance certificates + + + + + + Environmental credit + + + + + + Environmental Offset + + + + + + Grams + + + + + + Gallons + + + + + + Gross tons + + Also known as long tons or imperial tons, equal to 2240 lbs + + + + + + Heating degree day + + + + + + Index point + + + + + + Kilograms + + + + + + kiloliters + + + + + + Kilowatt year (electrical capacity) + + + + + + Kilowatt day (electrical capacity) + + + + + + Kilowatt hour (electrical capacity) + + + + + + Kilowatt month (electrical capacity) + + + + + + Kilowatt-Minute (electrical capacity) + + + + + + liters + + + + + + pounds + + + + + + Megawatt year (electrical capacity) + + + + + + Megawatt day (electrical capacity) + + + + + + Megawatt hour (electrical capacity) + + + + + + Megawatt month (electrical capacity) + + + + + + Megawatt minute (electrical capacity) + + + + + + Troy ounces + + + + + + Principal with relation to debt instrument + + + + + + Metric tons + + Also known as Tonnes, equal to 1000 kg + + + + + + Tons (US) + + Equal to 2000 lbs + + + + + + Are + + + + + + Acre + + + + + + Centiliter + + + + + + Centimeter + + + + + + Diesel gallon equivalent + + + + + + Foot + + + + + + GB Gallon + + + + + + Gasonline gallon equivalent + + + + + + Hectare + + + + + + Inch + + + + + + Kilometer + + + + + + Meter + + + + + + Mile + + + + + + Milliliter + + + + + + Millimeter + + + + + + US ounce + + + + + + Piece + + + + + + US Pint + + + + + + GB pint + + + + + + US Quart + + + + + + GB Quart + + + + + + Square centimeter + + + + + + Square foot + + + + + + Square inch + + + + + + Square kilometer + + + + + + Square meter + + + + + + Square mile + + + + + + Square millimeter + + + + + + Square yard + + + + + + Yard + + + + + + US Dollars + + + + + The unit of measure of the underlying commodity upon which the contract is based. Two groups of units of measure enumerations are supported. + + Fixed Magnitude UOMs are primarily used in energy derivatives and specify a magnitude (such as, MM, Kilo, M, etc.) and the dimension (such as, watt hours, BTU's) to produce standard fixed measures (such as MWh - Megawatt-hours, MMBtu - One million BTUs). + + The second group, Variable Quantity UOMs, specifies the dimension as a single unit without a magnitude (or more accurately a magnitude of one) and uses the UnitOfMeasureQty(1147) field to define the quantity of units per contract. Variable Quantity UOMs are used for both commodities (such as lbs of lean cattle, bushels of corn, ounces of gold) and financial futures. + + Examples: + + For lean cattle futures contracts, a UnitOfMeasure of 'lbs' with a UnitOfMeasureQty(1147) of 40,000, means each lean cattle futures contract represents 40,000 lbs of lean cattle. + + For Eurodollars futures contracts, a UnitOfMeasure of Ccy with a UnitOfMeasureCurrency(1716) of USD and a UnitOfMeasureQty(1147) of 1,000,000, means a Eurodollar futures contract represents 1,000,000 USD. + + For gold futures contracts, a UnitOfMeasure is oz_tr (Troy ounce) with a UnitOfMeasureQty(1147) of 1,000, means each gold futures contract represents 1,000 troy ounces of gold. + + + + + + + Phone simple + + + + + + Phone complex + + + + + + FCM provided screen + + + + + + Other provided screen + + + + + + Client provided platform controlled by FCM + + + + + + Client provided platform direct to exchange + + + + + + Algo engine + + + + + + Price at execution (price added at initial order entry, trading, middle office or time of give-up) + + + + + + Desk - electronic + + + + + + Desk - pit + + + + + + Client - electronic + + + + + + Client - pit + + + + + + Add-on order + + + + + + All or none + + + + + + Conditional order + + + + + + Cash not held + + + + + + Delivery instructions - cash + + + + + + Directed order + + + + + + Discretionary limit order + + + + + + Exchange for physical transaction + + + + + + Fill or kill + + + + + + Intraday cross + + + + + + Imbalance only + + + + + + Immediate or cancel + + + + + + Intermarket sweep order + + + + + + Limit on open + + + + + + Limit on Close + + + + + + Market at Open + + + + + + Market at close + + + + + + Market on open + + + + + + Market on close + + + + + + Merger related transfer position + + + + + + Minimum quantity + + + + + + Market to limit + + + + + + Delivery instructions - next day + + + + + + Not held + + + + + + Options related transaction + + + + + + Over the day + + + + + + Pegged + + + + + + Reserve size order + + + + + + Stop stock transaction + + + + + + Scale + + + + + + Delivery instructions - sellers option + + + + + + Time order + + + + + + Trailing stop + + + + + + Work + + + + + + Stay on offerside + + + + + + Go along + + + + + + Participate do not initiate + + + + + + Strict scale + + + + + + Try to scale + + + + + + Stay on bidside + + + + + + No cross + + + + + + OK to cross + + + + + + Call first + + + + + + Percent of volume + + + + + + Reinstate on system failure + + + + + + Institution only + + + + + + Reinstate on trading halt + + + + + + Cancel on trading half + + + + + + Last peg + + + + + + Mid-price peg + + + + + + Non-negotiable + + + + + + Opening peg + + + + + + Market peg + + + + + + Cancel on system failure + + + + + + Primary peg + + + + + + Suspend + + + + + + Fixed peg to local best bid or offer at time of order + + + + + + Peg to VWAP + + + + + + Trade along + + + + + + Try to stop + + + + + + Cancel if not best + + + + + + Strict limit + + + + + + Ignore price validity checks + + + + + + Peg to Limit Price + + + + + + Work to target strategy + + + + + + G Order(FINRA OATS), FCM API or FIX(FIA Execution Source) + + + + + Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer. + + NOTE: This field and its values have no bearing on the ExecInst and TimeInForce fields. These values should not be used instead of ExecInst or TimeInForce. This field and its values are intended for compliance reporting and/or billing purposes only. + + For OrderHandlingInstSrc(1032) = 1 (FINRA OATS), valid values are (as of OATS Phase 3 as provided by FINRA. See also http://www.finra.org/Industry/Compliance/MarketTransparency/OATS/PhaseIII/index.htm for a complete list. + + For OrderHandlingInstSrc(1032) = 2 (FIA Execution Source Code), only one enumeration value may be specified. + + + + + + + FINRA OATS + + + + + + FIA Execution Source Code + + + + + Identifies the class or source of the order handling instruction values.  Scope of this will apply to both CustOrderHandlingInst(1031) and DeskOrderHandlingInst(1035). + + Conditionally required when CustOrderHandlingInst(1031) or DeskOrderHandlingInst(1035) is specified. + + + + + + + Order initiator is aggressor + + + + + + Order initiator is passive + + + + + Used to identify whether the order initiator is an aggressor or not in the trade. + + + + + + + Secondary order ID + + Can be used to refer to an additional order identifier assigned by the party accepting an order, e.g. SecondaryOrderID(198). + + + + + + Order ID + + Can be used to refer to an order identifier assigned by the party accepting an order, e.g. OrderID(37). + + + + + + Market data entry ID + + Can be used to refer to a market data entry identifier provided with market data, e.g. MDEntryID(278). + + + + + + Quote entry ID + + Can be used to refer to a quote identifier provided with market data or quote, e.g. QuoteEntryID(299). + + + + + + Original order ID + + Can be used to refer to an initial order identifier assigned by the party accepting an order, e.g. OrderID(37) that changed. + + + + + + Quote ID + + Can be used to refer to a quote identifier assigned by the party issuing the quote, e.g. QuoteID(117). + + + + + + Quote request ID + + Can be used to refer to a quote identifier or quote request identifier assigned by the party issuing the request, e.g. QuoteReqID(131). + + + + + + Previous order identifier + + Can be used when previously assigned (unique) system order identifier has changed. + + + + + + Previous quote identifier + + Can be used when previously assigned (unique) quote identifier has changed. + + + + + + Parent order identifier + + Can be used where orders are split into child orders and need to refer back to their parent order. + + + + + + Manual order identifier + + Can be used to refer to a manually received order that is being replaced by an electronically received order. + + + + + Used to specify the source for the identifier in RefOrderID(1080). This can be an identifier provided in order depth market data when hitting (taking) a specific order or to identify what type of order or quote reference is being provided when seeking credit limit check. In the context of US CAT this can be used to identify related orders and quotes which are parent, previous, or manual orders or quotes. Previous relates to orders changing their unique system assigned order identifier. + + + + + + + None + + + + + + Local (Exchange, ECN, ATS) + + + + + + National (Across all national markets) + + + + + + Global (Across all markets) + + + + + Defines the type of price protection the customer requires on their order. + + + + + + + Odd Lot + + + + + + Round Lot + + + + + + Block Lot + + + + + + Round lot based upon UnitOfMeasure(996) + + + + + Defines the lot type assigned to the order. + + + + + + + Order + + + + + + Quote + + + + + + Privately Negotiated Trade + + + + + + Multileg order + + + + + + Linked order + + + + + + Quote Request + + + + + + Implied Order + + + + + + Cross Order + + + + + + Streaming price (quote) + + + + + + Internal Cross Order + + + + + Defines the type of interest behind a trade (fill or partial fill). + + + + + + + FIX27 + + + + + + FIX30 + + + + + + FIX40 + + + + + + FIX41 + + + + + + FIX42 + + + + + + FIX43 + + + + + + FIX44 + + + + + + FIX50 + + + + + + FIX50SP1 + + + + + + FIX50SP2 + + + + + + FIXLatest + + + + + Specifies the application layer version being applied at the message level. + + + + + + + BIC (Bank Identification Code) (ISO 9362) + + + + + + Generally accepted market participant identifier (e.g. NASD mnemonic) + + + + + + Proprietary / Custom code + + + + + + ISO Country Code + + + + + + MIC (ISO 10383 - Market Identifier Code) + + + + + The ID source of ExDestination + + + + + + + European + + + + + + American + + + + + + Bermuda + + + + + + Other + + + + + Type of exercise of a derivatives security + + + + + + + Standard, money per unit of a physical + + + + + + Index + + + + + + Interest rate Index + + + + + + Percent of Par + + + + + Method for price quotation + + + + + + + Session active + + + + + + Session password changed + + + + + + Session password due to expire + + + + + + New session password does not comply with policy + + + + + + Session logout complete + + + + + + Invalid username or password + + + + + + Account locked + + + + + + Logons are not allowed at this time + + + + + + Password expired + + + + + + Received MsgSeqNum(34) is too low. + + + + + + Received NextExpectedMsgSeqNum(789) is too high. + + + + + Status of a FIX session + + + + + + + One Cancels the Other (OCO) + + + + + + One Triggers the Other (OTO) + + + + + + One Updates the Other (OUO) - Absolute Quantity Reduction + + + + + + One Updates the Other (OUO) - Proportional Quantity Reduction + + + + + + Bid and Offer + + + + + + Bid and Offer OCO + + + + + Defines the type of contingency. + + + + + + + Do Not Publish Trade + + + + + + Publish Trade + + + + + + Deferred Publication + + + + + + Published + + Indicates that the transaction has been published to the market. + + + + + Indicates if a trade should be or has been published via a market publication service. The indicator governs all publication services of the recipient. Replaces PublishTrdIndicator(852). + + + + + + + Seconds (default if not specified) + + + + + + Tenths of a second + + + + + + Hundredths of a second + + + + + + milliseconds + + + + + + microseconds + + + + + + nanoseconds + + + + + + minutes + + + + + + hours + + + + + + days + + + + + + weeks + + + + + + months + + + + + + years + + + + + Time unit in which the OrderDelay(1428) is expressed + + + + + + + Electronic exchange + + + + + + Pit + + + + + + Ex-pit + + + + + + Clearinghouse + + + + + + Registered market + + Markets registered with regulators such as exchange, multilateral trading facility (MTF), swap execution facility (SEF). In the context of regulatory reporting (e.g. CFTC reporting), this is used for regulated markets, e.g. swap markets. + + + + + + Off-market + + Off-book, off-facility. In the context of regulatory reporting (e.g. CFTC reporting) this identifies trades conducted away from a regulated market. + + + + + + Central limit order book + + + + + + Quote driven market + + + + + + Dark order book + + + + + + Auction driven market + + Markets where matching occurs only in scheduled auctions. + + + + + + Quote negotiation + + Discretionary quoting on request or "request for quote" market. + + + + + + Voice negotiation + + A trading system where transactions between members are arranged through voice negotiation. + + + + + + Hybrid market + + A hybrid system falling into two or more types of trading systems. Can also be used for ESMA RTS 1 "other type of trading system". + + + + + Identifies the type of venue where a trade was executed + + + + + + + Shares + + + + + + Hours + + + + + + Days + + + + + Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit ContractMultiplier(tag 231) is expressed in. + + + + + + + Fixed strike (default if not specified) + + + + + + Strike set at expiration to underlying or other value (lookback floating) + + + + + + Strike set to average of underlying settlement price across the life of the option + + + + + + Strike set to optimal value + + + + + Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying. + + + + + + + Less than underlying price is in-the-money (ITM) + + + + + + Less than or equal to the underlying price is in-the-money(ITM) + + + + + + Equal to the underlying price is in-the-money(ITM) + + + + + + Greater than or equal to underlying price is in-the-money(ITM) + + + + + + Greater than underlying is in-the-money(ITM) + + + + + Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise. + + + + + + + Vanilla + + + + + + Capped + + + + + + Digital (Binary) + + + + + + Asian + + + + + + Barrier + + + + + + Digital Barrier + + + + + + Lookback + + + + + + Other path dependent + + + + + + Other + + + + + Indicates the type of valuation method or payout trigger for an in-the-money option. + + + + + + + Reject if throttle limit exceeded + + + + + + Queue if throttle limit exceeded + + + + + Describes action recipient should take if a throttle limit were exceeded. + + + + + + + Percent of par + + + + + + Deal spread + + + + + + Upfront points + + + + + + Upfront amount + + + + + + Percent of par and upfront amount + + + + + + Deal spread and upfront amount + + + + + + Upfront points and upfront amount + + + + + Method used for negotiation of contract price. + + + + + + + Percentage (i.e. percent of par) (often called "dollar price" for fixed income) + + + + + + Fixed amount (absolute value) + + + + + Type of price used to determine upfront payment for swaps contracts. + + + + + + + No restrictions + + + + + + Security is not shortable + + + + + + Security not shortable at or below the best bid + + + + + + Security is not shortable without pre-borrow + + + + + Indicates whether a restriction applies to short selling a security. + + + + + + + Exemption reason unknown + + An exemption reason not provided or received. + + + + + + Income sell short exempt + + Agency broker has the customer's exemption reason, which is not explicitly provided to executing broker. + + + + + + Above national best bid (broker/dealer provision) + + Broker / dealer responsible for enforcing exemption rule has determined that the order is priced one or more ticks above the nation best bid of the security to be traded. + + + + + + Delayed delivery + + The broker-dealer has a reasonable basis to believe the seller owns the covered security (pursuant to Rule 200 in the U.S.), but is subject to restrictions on delivery, provided that the seller intends to deliver the security as soon as all restrictions on delivery have been removed. + + + + + + Odd lot + + The broker-dealer has a reasonable basis to believe the sale is by a market maker to offset customer odd-lot orders or to liquidate an odd-lot position that changes such broker’s or dealer’s position by no more than a unit of trading. + + + + + + Domestic arbitrage + + The sale is connected to a bona-fide domestic arbitrage transaction. + + + + + + International arbitrage + + The sale is connected to an international arbitrage transaction. + + + + + + Underwriter or syndicate distribution + + The short sale is (i) by an underwriter or member of a syndicate or group participating in the distribution of a security in connection with an over-allotment of securities; or (ii) is for purposes of a lay-off sale by an underwriter or member of a syndicate or group in connection with a distribution of securities through a rights or standby underwriting commitment. + + + + + + Riskless principal + + The short sale is by a broker or dealer effecting the execution of a customer purchase or the execution of a customer “long” sale on a riskless principal basis. + + + + + + VWAP + + The short sale order is for the sale of a covered security at the volume weighted average price (VWAP) meeting certain criteria. + + + + + Indicates the reason a short sale order is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.). + + + + + + + None + + + + + + Block order auction + + + + + + Directed order auction + + + + + + Exposure order auction + + + + + + Flash order auction + + + + + + Facilitation order auction + + + + + + Solicitation order auction + + + + + + Price improvement mechanism (PIM) + + + + + + Directed Order price improvement mechanism (PIM) + + + + + Type of auction order. + + + + + + + Automatic auction permitted (default) + + + + + + Automatic auction not permitted + + + + + Instruction related to system generated auctions, e.g. flash order auctions. + + + + + + + Not locked + + + + + + Away market better + + + + + + Three tick locked + + + + + + Locked by market maker + + + + + + Directed order lock + + + + + + Multileg lock + + Lock in the context of multileg orders where legs are executed independently and the entire order is locked until matching information is available for all legs. A multileg order or quote must be matched in its entirety or not at all. For example, one of the legs may be a stock leg sent to a different execution venue that may or may not be able to fill it. + + + + + + Market order lock + + + + + + Pre-assignment lock + + + + + Indicates whether an order is locked and for what reason. + + + + + + + Intermarket Sweep Order (ISO) + + + + + + No Away Market Better check + + + + + Instruction to define conditions under which to release a locked order or parts of it. + + + + + + + Customer + + + + + + Customer professional + + + + + + Broker-dealer + + + + + + Customer broker-dealer + + + + + + Principal + + + + + + Market maker + + + + + + Away market maker + + + + + + Systematic internaliser + + + + + Designates the capacity in which the order is submitted for trading by the market participant. + + + + + + + Customer + + + + + + Firm + + + + + + Market maker + + + + + Designates the account type to be used for the order when submitted to clearing. + + + + + + + NBB (National Best Bid) + + + + + + NBO (National Best Offer) + + + + + Source for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. Can be used together with RelatedHighPrice (1819) and/or RelatedLowPrice (1820). + + + + + + + Once (applies only to first execution) + + + + + + Multiple (applies to every execution) + + + + + Indicates how the minimum quantity should be applied when executing the order. + + + + + + + Not triggered (default) + + + + + + Triggered + + + + + + Stop order triggered + + + + + + One Cancels the Other (OCO) order triggered + + + + + + One Triggers the Other (OTO) order triggered + + + + + + One Updates the Other (OUO) order triggered + + + + + Indicates whether order has been triggered during its lifetime. Applies to cases where original information, e.g. OrdType(40), is modified when the order is triggered. + + + + + + + Order received from a customer + + + + + + Order received from within the firm + + + + + + Order received from another broker-dealer + + + + + + Order received from a customer or originated from within the firm + + + + + + Order received from a direct access or sponsored access customer + + + + + + Order received from a foreign dealer equivalent + + A foreign dealer equivalent is a person in the business of trading securities in a foreign jurisdiction in a manner analogous to an investment dealer and that is subject to the regulatory jurisdiction of a signatory to the International Organization of Securities Commissions’ (IOSCO) Multilateral Memorandum of Understanding + + in that foreign jurisdiction. + + + + + + Order received from an execution-only service + + The acceptance and execution of orders from customers for trades that the broker-dealer has not recommended and for which the broker-dealer takes no responsibility as to the appropriateness or suitability of orders accepted or account positions held. + + + + + Identifies the origin of the order. + + + + + + + Real-time (RT) + + Report of data relating to a regulated transaction including price and volume that is to be disseminated publically. If dissemination is to be suppressed due to an end user exception or to local regulatory rules that allow suppression of certain types of transactions use TradePublishIndicator(1390)=0. + + + + + + Primary economic terms (PET) + + Report to regulators of the full terms of a regulated transaction included in the legal confirmation. + + + + + + Snapshot + + Periodic report of full primary economic terms data throughout the life cycle of a regulated transaction. + + + + + + Confirmation + + Report from a clearing organization of a cleared regulated transaction. + + + + + + Combination of RT and PET + + A single report combining the requirements of both real-time and full primary economy terms of a regulated transaction. + + + + + + Combination of PET and confirmation + + A single report combining the requirements of both full primary economic terms of a regulated transaction report and confirmation. + + + + + + Combination of RT, PET and confirmation + + A single report combining the requirements of real-time and full primary economic terms of a regulated transaction report, and confirmation. + + + + + + Post-trade valuation + + Periodic report of the ongoing mark-to-market value of a regulated transaction. + + + + + + Verification + + Used by the trading counterparty to report its full primary economic terms of a regulated transaction separately to the repository. + + + + + + Post-trade event + + Report of a regulated transaction continuation event that does not fall within the requirements for real-time reporting. + + + + + + Post trade event RT reportable + + Report of a regulated transaction continuation event that falls within the requirements for real-time reporting and public dissemination. If dissemination is to be suppressed due to an end user exception or to local regulatory rules that allow suppression of certain types of transactions, use TradePublishIndicator(1390) = 0 (Do not publish trade). + + + + + + Limited Details Trade + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(i) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag "LMTF". + + + + + + Daily Aggregated Trade + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(ii) for aggregated publication of at least 5 transactions before 9:00 a.m. local time next day. This is ESMA RTS 2 deferral flag "DATF". + + + + + + Volume Omission Trade + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag "VOLO". + + + + + + Four Weeks Aggregation Trade + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(c) (non-sovereign debt only) for aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. local time following Tuesday. This is ESMA RTS 2 deferral flag "FWAF". + + + + + + Indefinite Aggregation Trade + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(d) (sovereign debt only) for aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. local time following Tuesday. This is ESMA RTS 2 deferral flag "IDAF". + + + + + + Volume Omission Trade Eligible for Subsequent Aggregated Enrichment + + Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) and (d) consecutively (sovereign debt only) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag "VOLW". + + + + + + Full Details Trade of "Limited Details Trade" + + Full details of a previously reported "limited details trade (LMTF)". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(i) which is a follow-up publication of all details before 7pm local time on the second day after initial publication. This is ESMA RTS deferral flag "FULF". + + + + + + Full Details of "Daily Aggregated Trade" + + Full details of a previously reported "daily aggregated trade (DATF)". Designates a trade in instruments specified in RTS 2 Article 11 (1)(a)(ii) which is a follow-up publication of the individual transaction with full details before 7pm local time on the second day after initial publication. This is ESMA RTS 2 deferral flag "FULA". + + + + + + Full Details of "Volume Omission Trade" + + Full details of a previously reported "volume omission trade (VOLO)". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) which is a follow-up publication of all details before 9 am local time four weeks after initial publication. This is ESMA RTS 2 deferral flag "FULV". + + + + + + Full Details of "Four Weeks Aggregation Trade" + + Full details of a previously reported "four weeks aggregation trade (FWAF)". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(c) (non-sovereign debt only) which is a follow-up publication of the individual transaction with full details before 9 am local time four weeks after initial publication. This is ESMA RTS 2 deferral flag "FULJ". + + + + + + Full Details in Aggregated Form of "Volume Omission Trade Eligible for Subsequent Aggregated Enrichment" + + Full details of a previously reported "volume omission trade eligible for subsequent aggregated enrichment (VOLW)". Designates a trade report in instruments specified in ESMA RTS 2 Article 11(1)(b) and (d) consecutively which is an aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. CET local time the following Tuesday four weeks after initial publication. This is ESMA RTS 2 deferral flag "COAF". + + + + + + Order + + Report for order handling events to enter, change or delete orders. In the context of US CAT this is used for the event types MENO, MEOM, MEOJ, and MEOC. + + + + + + Child order + + Report for child order handling events to enter, change or delete child orders. Child orders are created when a (parent) order is split into multiple (child) orders. In the context of US CAT this is used for the event types MECO, MECOM, and MECOC. + + + + + + Order route + + Reported when an order is routed between market participants and/or execution venues such as an exchange. In the context of US CAT this is used for the event types MEOR, MEOA and MEIR. + + + + + + Trade + + Report for trade handling events to enter, change or delete trades. In the context of US CAT this is used for the event types MEOT, MEOF and MEFA. + + + + + + Quote + + Report for quote handling events to enter, change or delete quotes. In the context of US CAT this is used for the event types MENQ, MEQR, and MEQC. + + + + + + Supplement + + Reported when an order, quote or trade report is split across multiple messages. The recipient must be able to create the full report by combining the initial and supplement reports. In the context of US CAT this is used for the event types MENOS, MEOMS and MEOTS. + + + + + + New transaction + + In the context of EU SFTR reporting this corresponds to "action type" "NEWT". + + + + + + Transaction correction + + In the context of EU SFTR reporting this corresponds to "action type" "CORR". + + + + + + Transaction modification + + In the context of EU SFTR reporting this corresponds to "action type" "MODI". + + + + + + Collateral update + + In the context of EU SFTR reporting this corresponds to "action type" "COLU" if CollStatus(910)=3 (Assigned (Accepted)), or "REUU" if CollStatus(910)=5 (Reused). + + + + + + Margin update + + In the context of EU SFTR reporting this corresponds to "action type" "MARU". + + + + + + Transaction reported in error + + In the context of EU SFTR reporting this corresponds to "action type" "EROR". + + + + + + Termination / Early termination + + In the context of EU SFTR reporting this corresponds to "action type" "ETRM". + + + + + Type of regulatory report. + + + + + + + Novation + + + + + + Partial novation + + + + + + Trade unwind + + "Trade" includes "Swaps". + + + + + + Partial trade unwind + + "Trade" includes "Swaps". + + + + + + Exercise + + + + + + Compression/Netting + + Compression (used for OTC derivative trades) and Netting (used for Futures trades) are essentially the same business process, i.e. rolling up closely related contracts into a single trade or position. + + + + + + Full netting + + + + + + Partial netting + + + + + + Amendment + + Based on mutual agreement between the counterparties, used to change the original or previously amended contract terms reported to a trade repository. + + + + + + Increase + + + + + + Credit event + + + + + + Strategic restructuring + + + + + + Succession event reorganization + + + + + + Succession event renaming + + + + + + Porting + + + + + + Withdrawal + + One party withdrew from the trade prior to confirmation or clearing. Can be used with TradeReportTransType(487)=1 (Cancel). + + + + + + Void + + Trade is to be ended after clearing. Can be used with TradeReportTransType(487)=1 (Cancel). + + + + + + Account transfer + + + + + + Give up + + + + + + TakeUp + + + + + + Average pricing + + + + + + Reversal + + + + + + Allocation/Trade posting + + + + + + Cascade + + The breakdown of a contract position to a more granular level, e.g. from a yearly position to monthly positions. + + + + + + Delivery + + + + + + Option assignment + + + + + + Expiration + + + + + + Maturity + + + + + + Equal position adjustment + + + + + + Unequal position adjustment + + An adjustment to either the long or short position quantity but not both. + + + + + + Correction + + Used to correct an error in the contract terms of a previously submitted report to a trade repository. + + + + + + Early termination + + The transaction/contract has closed before its natural end (maturity date or end date). + + + + + + Rerate + + Change in the repo rate of an open repo contract due to shift in the market conditions. + + + + + + Other price-forming continuation data + + Other price-forming continuation data or lifecycle event. Include description of type in TradeContinuationText(2374). + + + + + Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties. + + + + + + + Interest rate + + + + + + Currency + + + + + + Credit + + + + + + Equity + + + + + + Commodity + + + + + + Other + + + + + + Cash + + + + + + Debt + + + + + + Fund + + Such as mutual fund, collective investment vehicle, investment program, specialized account program. + + + + + + Loan facility + + + + + + Index + + A main index identified as a security type, for example under EU SFTR reporting. + + + + + The broad asset category for assessing risk exposure. + + + + + + + Metals + + + + + + Bullion + + + + + + Energy + + + + + + Commodity index + + + + + + Agricultural + + + + + + Environmental + + + + + + Freight + + + + + + Fertilizer + + + + + + Industrial product + + + + + + Inflation + + + + + + Paper + + + + + + Polypropylene + + + + + + Official economic statistics + + + + + + Single name + + + + + + Credit index + + + + + + Index tranche + + + + + + Credit basket + + + + + + Basket [for multi-currency] + + + + + + FX cross rates + + + + + + FX emerging markets + + + + + + FX Majors + + + + + + Government + + + + + + Agency + + + + + + Corporate + + + + + + Financing + + + + + + Money market + + + + + + Mortgage + + + + + + Municipal + + + + + + Common + + + + + + Preferred + + + + + + Equity index + + + + + + Equity basket + + + + + + Dividend index + + + + + + Stock dividend + + + + + + Exchange traded fund + + + + + + Volatility index + + + + + + Mutual fund + + + + + + Collective investment vehicle + + + + + + Investment program + + A generalized fund for major investors. + + + + + + Specialized account program + + A specialized fund setup for a particular account or group of accounts. + + + + + + Single currency + + + + + + Cross currency + + + + + + Term loan + + + + + + Bridge loan + + + + + + Letter of credit + + + + + + Exotic + + + + + + Other C10 + + Defined under MiFID II (Directive 2014/65/EU) Section C(10) of Annex I and paraphrased in ESMA RTS 2 Annex III Section 10, "Other C10" is a financial instrument "which is not a 'Freight derivative', any of the following interest rate derivatives sub-asset classes: 'Inflation multi-currency swap or cross-currency swap', a 'Future/forward on inflation multi-currency swaps or cross-currency swaps', an 'Inflation single currency swap', a 'Future/forward on inflation single currency swap' and any of the following equity derivatives sub-asset classes: a 'Volatility index option', a 'Volatility index future/forward', a swap with parameter return variance, a swap with parameter return volatility, a portfolio swap with parameter return variance, a portfolio swap with parameter return volatility". + + + + + + Other + + May be used with any AssetClass(1938) values. + + + + + The subcategory description of the asset class. + + + + + + + RiskLimitRequestID(1666) + + + + + + RiskLimitCheckID(2319) + + + + + + Out of band identifier + + + + + Specifies which type of identifier is specified in RefRiskLimitCheckID(2334) field. + + + + + + + None (default if not specified) + + The transaction does not fall under any special regulatory rule or mandate. + + + + + + Swap Execution Facility (SEF) required transaction + + The transaction is a "Required" transaction under Dodd-Frank Act SEF Rules. "Required" transactions are subject to the trade execution mandate under section 2(h)(8) of the CEA and are not block trades. + + + + + + Swap Execution Facility (SEF) permitted transaction + + The transaction is a "Permitted" transaction under Dodd-Frank Act SEF Rules. "Permitted" transactions are not subject to the clearing and trade execution mandates, illiquid or bespoke swaps, or block trades. + + + + + Specifies the regulatory mandate or rule that the transaction complies with. + + + + + + + Order added upon request + + + + + + Order replaced upon request + + + + + + Order cancelled upon request + + + + + + Unsolicited order cancellation + + + + + + Non-resting order added upon request + + + + + + Order replaced with non-resting order upon request + + + + + + Trigger order replaced upon request + + + + + + Suspended order replaced upon request + + + + + + Suspended order canceled upon request + + + + + + Order cancellation pending + + + + + + Pending cancellation executed + + + + + + Resting order triggered + + + + + + Suspended order activated + + + + + + Active order suspended + + + + + + Order expired + + + + + The initiating event when an ExecutionReport(35=8) is sent. + + + + + + + Financials + + A categorization which usually includes rates, foreign exchange, credit, bonds and equity products or assets. + + + + + + Commodities + + A categorization which usually includes hard commodities such as agricultural, metals, freight, energy products or assets. + + + + + + Alternative investments + + A categorization which usually includes weather, housing, and commodity indices products or assets. + + + + + Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.). + + + + + + + Non-algorithmic trade + + + + + + Algorithmic trade + + In the context of ESMA MiFID II, a trade has to be flagged as "algorithmic" if at least one of the matched orders was submitted by a trading algorithm. See Directive 2014/65/EU Article 4(1)(39). + + + + + Indicates that the order or trade originates from a computer program or algorithm requiring little-to-no human intervention. + + + + + + + No cross + + Crossing did not occur. + + + + + + Cross rejected + + Crossing occurred but execution was prevented, e.g. due to self-match prevention. + + + + + + Cross accepted + + Crossing occurred but execution was permitted. + + + + + Indicates whether the order or quote was crossed with another order or quote having the same context, e.g. having accounts with a common ownership. + + + + + + + Trade has not (yet) been reported + + Depending on the regulatory regime the trade is reportable and the recipient may be responsible for reporting. + + + + + + Trade has been or will be reported by a trading venue as an "on-book" trade + + + + + + Trade has been or will be reported as a "systematic internaliser" seller trade + + + + + + Trade has been or will be reported as a "systematic internaliser" buyer trade + + + + + + Trade has been or will be reported as a "non-systematic internaliser" seller trade + + + + + + Trade has been or will be reported under a sub-delegation arrangement by an investment firm to a reporting facility (e.g. APA) on behalf of another investment firm + + + + + + Trade has been or will be reported + + Depending on the regulatory regime the recipient is not responsible for reporting. + + + + + + Trade has been or will be reported as a "non-Systematic Internaliser" buyer trade + + + + + + Trade has been or will be reported by a trading venue as an "off-book" trade + + + + + + Trade is not reportable + + The (non-equity) instrument does not need to be reported by any party, e.g. because it is not deemed to have been traded on a trading venue. + + + + + Used between parties to convey trade reporting status. + + In the context of regulatory reporting, this field may be used by the reporting party (e.g. party obligated to report to regulators) to inform their trading counterparty or other interested parties the trade reporting status. + + + + + + + No change of ownership (default) + + + + + + Change of ownership to executing party + + Executing party can be given either implicitly via session attributes or explicitly via Parties component. The party taking over ownership must also be the one submitting the request. + + + + + + Change of ownership to entering party + + Entering party can be given either implicitly via session attributes or explicitly via Parties component. The party taking over ownership must also be the one submitting the request. + + + + + + Change of ownership to specified party + + Ownership is transferred by a third party from/to the parties specified via Parties component together with PartyRoleQualifier(2376) = Current(18) and New(19). + + + + + Change of ownership of an order to a specific party. + + + + + + + No restriction + + May be used for MiFID II to indicate no restriction on where the order is executed. + + + + + + Can be traded only on a trading venue + + May be used for MiFID II to indicate the order can only be executed on a trading venue. + + + + + + Can be traded only on a Systematic Internaliser (SI) + + May be used for MiFID II to indicate the order can only be executed on a Systematic Internaliser. + + + + + + Can be traded on a trading venue or Systematic internaliser (SI) + + May be used for MiFID II to indicate the order can be executed on either a trading venue or a Systematic Internaliser. + + + + + Identifies the type of execution destination for the order. + + + + + + + Regular - Default if not specified. + + The notion of onshore and offshore rates does not apply. + + + + + + Offshore + + Used to indicate that the rate specified is an offshore rate which differs from its onshore rate. + + + + + + Onshore + + Used to indicate that the rate specified is an onshore rate which differs from its offshore rate. + + + + + Indicates the type of the currency rate being used. This is relevant for currencies that have offshore rate that different from onshore rate. + + + + + + + Unique ClOrdID(11) + + + + + + Duplicate ClOrdID(11) + + + + + Used to indicate that a ClOrdID(11) value is an intentional duplicate of a previously sent value. Allows to avoid the rejection of an order with OrdRejReason(103) = 6 (Duplicate Order). + + In the context of US CAT this can be used when the recipient of a previously routed order requires the same identifier to be re-used for a new route. + + + + + + + Customer or client + + + + + + Exchange or execution venue + + + + + + Firm or broker + + + + + Indicates the type of entity who initiated an event, e.g. modification or cancellation of an order or quote. + + + + + + + No routing arrangement in place + + + + + + Routing arrangement in place + + + + + Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with OrderOrigination(1724) to further describe the origin of an order. + + An arrangement under which a participant of a marketplace permits a broker to electronically transmit orders containing the identifier of the participant. This can be either through the systems of the participant for automatic onward transmission to a marketplace or directly to a marketplace without being electronically transmitted through the systems of the participant. + + + + + + + CUSIP + + + + + + SEDOL + + + + + + ISIN + + + + + + ISO Currency Code (ISO 4217) + + + + + + Financial Instrument Global Identifier + + An Object Management Group (OMG) standard. Also referred to as FIGI. Formerly known as "Bloomberg Open Symbology BBGID". + + + + + + Digital Token Identifier (ISO 24165) + + + + + Identifies class or source of the Currency(15) value. + + + + + + + + Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager. + + + + + + Calculated average price of all fills on this order. + + For Fixed Income trades AvgPx is always expressed as percent-of-par, regardless of the PriceType (423) of LastPx (31). I.e., AvgPx will contain an average of percent-of-par values (see LastParPx (669)) for issues traded in Yield, Spread or Discount. + + + + + + Message sequence number of first message in range to be resent + + + + + + + + + Identifies beginning of new message and session protocol version by means of a session profile identifier (see FIX Session Layer for details). ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted). + + + + + + + + + Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted) + + + + + + + + + Three byte, simple checksum (see Volume 2: "Checksum Calculation" for description). ALWAYS LAST FIELD IN MESSAGE; i.e. serves, with the trailing <SOH>, as the end-of-message delimiter. Always defined as three characters. (Always unencrypted) + + + + + + + + + Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID (49) or OnBehalfOfCompID (5) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID field. + + + + + + Total quantity (e.g. number of shares) filled. + + (Prior to FIX 4.2 this field was of type int) + + + + + + Identifies currency used for price or quantity fields, depending on the asset class being traded. CurrencyCodeSource(2897) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent. + + Absence of this field is interpreted as the default currency for the security as defined by the respective reference data. It is recommended that systems provide the currency value whenever possible. + + For securities trading and digital assets traded securities-style, identifies the currency used to denote the price. Absence of this field is interpreted as the default for the security. For Foreign Exchange (FX) and digital assets traded FX-style, identifies the dealt currency used to denominate the quantity related field(s). + + + + + + Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo (7) = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = "0" (representing infinity). + + + + + + + + + Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType (150)=I (Order Status)). + + Uniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days. + + (Prior to FIX 4.1 this field was of type int). + + + + + + Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. *** SOME VALUES HAVE BEEN REPLACED - See "Replaced Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + Reference identifier used with Trade, Trade Cancel and Trade Correct execution types. + + (Prior to FIX 4.1 this field was of type int) + + + + + + Instructions for order handling on Broker trading floor + + + + + + Identifies class or source of the SecurityID(48) value. + + + + + + Unique identifier of IOI message. + + (Prior to FIX 4.1 this field was of type int) + + + + + + Broker capacity in order execution + + + + + + Market of execution for last fill, or an indication of the market where an order was routed + + Valid values: + + See "Appendix 6-C" + + In the context of ESMA RTS 1 Annex I, Table 3, Field 6 "Venue of Execution" it is required that the "venue where the transaction was executed" be identified using ISO 10383 (MIC). Additionally, ESMA requires the use of "MIC code 'XOFF' for financial instruments admitted to trading or traded on a trading venue, where the transaction on that financial instrument is not executed on a trading venue, systematic internaliser or organized trading platform outside of the Union. Use 'SINT' for financial instruments admitted to trading or traded on a trading venue, where the transaction is executed on a systematic internaliser." + + + + + + Price of this (last) fill. + + + + + + Quantity (e.g. shares) bought/sold on this (last) fill. + + (Prior to FIX 4.2 this field was of type int) + + + + + + Integer message sequence number. + + + + + + New sequence number + + + + + + + + + Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days. + + + + + + Quantity ordered. This represents the number of shares for equities or par, face or nominal value for FI instruments. + + (Prior to FIX 4.2 this field was of type int) + + + + + + Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See "Replaced Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + Order type. *** SOME VALUES ARE NO LONGER USED - See "Deprecated (Phased-out) Features and Supported Approach" *** (see Volume : "Glossary" for value definitions) + + + + + + ClOrdID (11) of the previous order (NOT the initial order of the day) as assigned by the institution, used to identify the previous order in cancel and cancel/replace requests. + + + + + + Price per unit of quantity (e.g. per share) + + + + + + Reference message sequence number + + + + + + Security identifier value of SecurityIDSource (22) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityIDSource. + + + + + + Assigned value used to identify firm sending message. + + + + + + Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as "GMT") + + + + + + Side of order (see Volume : "Glossary" for value definitions) + + + + + + Ticker symbol. Common, "human understood" representation of the security. SecurityID (48) value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) + + Use "[N/A]" for products which do not have a symbol. + + + + + + Assigned value used to identify receiving firm. + + + + + + Free format text string + + (Note: this field does not have a specified maximum length) + + + + + + Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders. + + + + + + Timestamp when the business transaction represented by the message occurred. + + + + + + Indicates order settlement period. If present, SettlDate (64) overrides this field. If both SettlType (63) and SettDate (64) are omitted, the default for SettlType (63) is 0 (Regular) + + Regular is defined as the default settlement period for the particular security on the exchange of execution. + + In Fixed Income the contents of this field may influence the instrument definition if the SecurityID (48) is ambiguous. In the US an active Treasury offering may be re-opened, and for a time one CUSIP will apply to both the current and "when-issued" securities. Supplying a value of "7" clarifies the instrument description; any other value or the absence of this field should cause the respondent to default to the active issue. + + Additionally the following patterns may be uses as well as enum values + + Dx = FX tenor expression for "days", e.g. "D5", where "x" is any integer > 0 + + Mx = FX tenor expression for "months", e.g. "M3", where "x" is any integer > 0 + + Wx = FX tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0 + + Yx = FX tenor expression for "years", e.g. "Y1", where "x" is any integer > 0 + + Noted that for FX the tenors expressed using Dx, Mx, Wx, and Yx values do not denote business days, but calendar days. + + + + + + Specific date of trade settlement (SettlementDate) in YYYYMMDD format. + + If present, this field overrides SettlType (63). This field is required if the value of SettlType (63) is 6 (Future) or 8 (Sellers Option). This field must be omitted if the value of SettlType (63) is 7 (When and If Issued) + + (expressed in local time at place of settlement) + + + + + + Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days. + + + + + + Unique identifier for allocation message. + + (Prior to FIX 4.1 this field was of type int) + + + + + + Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade). + + + + + + Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. + + + + + + Processing code for sub-account. Absence of this field in AllocAccount (79) / AllocPrice (366) /AllocQty (80) / ProcessCode instance indicates regular trade. + + + + + + Total quantity canceled for this order. + + (Prior to FIX 4.2 this field was of type int) + + + + + + Number of bytes in raw data field. + + + + + + Unformatted raw data, can include bitmaps, word processor documents, etc. + + + + + + Method of encryption. + + + + + + + + + Price per unit of quantity (e.g. per share) + + + + + + Execution destination as defined by institution when order is entered. + + Valid values: + + See "Appendix 6-C" + + + + + + Code to identify reason for order rejection. Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors. + + + + + + Name of security issuer (e.g. International Business Machines, GNMA). + + see also Volume 7: "PRODUCT: FIXED INCOME - Euro Issuer Values" + + + + + + Can be used by the venue or one of the trading parties to provide a non-normative textual description for the financial instrument. + + + + + + Heartbeat interval (seconds) + + + + + + + + + Minimum quantity of an order to be executed. + + (Prior to FIX 4.2 this field was of type int) + + + + + + The quantity to be displayed . Required for reserve orders. On orders specifies the qty to be displayed, on execution reports the currently displayed quantity. + + + + + + Identifier included in Test Request message to be returned in resulting Heartbeat + + + + + + + + + Identifies party of trade responsible for exchange reporting. + + + + + + Indicates whether the broker is to locate the stock in conjunction with a short sell order. + + + + + + Unique identifier for quote + + + + + + Total amount due as the result of the transaction (e.g. for Buy order - principal + commission + fees) reported in currency of execution. + + + + + + Total amount due expressed in settlement currency (includes the effect of the forex transaction) + + + + + + Currency code of settlement denomination. + + + + + + Indicates request for forex accommodation trade to be executed along with security transaction. + + + + + + Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. + + + + + + + + + Time/Date of order expiration (always expressed in UTC (Universal Time Coordinated, also known as "GMT") + + The meaning of expiration is specific to the context where the field is used. + + For orders, this is the expiration time of a Good Til Date TimeInForce. + + For Quotes - this is the expiration of the quote. + + Expiration time is provided across the quote message dialog to control the length of time of the overall quoting process. + + For collateral requests, this is the time by which collateral must be assigned. + + For collateral assignments, this is the time by which a response to the assignment is expected. + + For credit/risk limit checks, this is the time when the reserved credit limit will expire for the requested transaction. + + + + + + Previous closing price of security. + + + + + + Indicates that both sides of the FIX session should reset sequence numbers. + + + + + + + + + Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled). + + + + + + Quantity open for further execution. If the OrdStatus (39) is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty (38) - CumQty (14). + + (Prior to FIX 4.2 this field was of type int) + + + + + + Specifies the approximate order quantity desired in total monetary units vs. as tradeable units (e.g. number of shares). The broker or fund manager (for CIV orders) would be responsible for converting and calculating a tradeable unit (e.g. share) quantity (OrderQty (38)) based upon this amount to be used for the actual order and subsequent messages. + + + + + + Foreign exchange rate used to compute SettlCurrAmt (9) from Currency (5) to SettlCurrency (20) + + + + + + Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided. + + + + + + Number of Days of Interest for convertible bonds and fixed income. Note value may be negative. + + + + + + The amount the buyer compensates the seller for the portion of the next coupon interest payment the seller has earned but will not receive from the issuer because the issuer will send the next coupon payment to the buyer. Accrued Interest Rate is the annualized Accrued Interest amount divided by the purchase price of the bond. + + + + + + Amount of Accrued Interest for convertible bonds and fixed income + + + + + + Indicates type of security. Security type enumerations are grouped by Product(460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties. + + + + + + Time the details within the message should take effect (always expressed in UTC (Universal Time Coordinated, also known as "GMT") + + + + + + OrderQty (38) of the future part of a F/X swap order. + + + + + + SettDate (64) of the future part of a F/X swap order. + + + + + + F/X spot rate. + + + + + + F/X forward points added to LastSpotRate (94). May be a negative value. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 + + + + + + Assigned by the party which accepts the order. Can be used to provide the OrderID (37) used by an exchange or executing system. + + + + + + Can be used with standardized derivatives vs. the MaturityDate (54) field. Month and Year of the maturity (used for standardized futures and options). + + Format: + + YYYYMM (e.g. 199903) + + YYYYMMDD (e.g. 20030323) + + YYYYMMwN (e.g. 200303w) for week + + A specific date or can be appended to the MaturityMonthYear. For instance, if multiple standard products exist that mature in the same Year and Month, but actually mature at a different time, a value can be appended, such as "w" or "w2" to indicate week as opposed to week 2 expiration. Likewise, the date (0-3) can be appended to indicate a specific expiration (maturity date). + + + + + + Indicates whether an option contract is a put, call, chooser or undetermined. + + + + + + Strike Price for an Option. + + + + + + Used for derivative products, such as options + + + + + + Provided to support versioning of option contracts as a result of corporate actions or events. Use of this field is defined by counterparty agreement or market conventions. + + + + + + Market used to help identify a security. + + Valid values: + + See "Appendix 6-C" + + + + + + Maximum quantity (e.g. number of shares) within an order to be shown to other customers (i.e. sent via an IOI). + + (Prior to FIX 4.2 this field was of type int) + + + + + + The date on which a bond or stock offering is issued. It may or may not be the same as the effective date ("Dated Date") or the date on which interest begins to accrue ("Interest Accrual Date") + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + (prior to FIX 4.4 field was of type UTCDate) + + + + + + Used with Fixed Income for Muncipal New Issue Market. Agreement in principal between counter-parties prior to actual trade date. + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + (prior to FIX 4.4 field was of type UTCDate) + + + + + + The date when a distribution of interest is deducted from a securities assets or set aside for payment to bondholders. On the ex-date, the securities price drops by the amount of the distribution (plus or minus any market activity). + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + (prior to FIX 4.4 field was of type UTCDate) + + + + + + Specifies the ratio or multiply factor to convert from "nominal" units (e.g. contracts) to total units (e.g. shares) (e.g. 1.0, 100, 1000, etc). Applicable For Fixed Income, Convertible Bonds, Derivatives, etc. + + In general quantities for all classes should be expressed in the basic unit of the instrument, e.g. shares for equities, nominal or par amount for bonds, currency for foreign exchange. When quantity is expressed in contracts, e.g. financing transactions and bond trade reporting, ContractMultiplier(231) should contain the number of units in one contract and can be omitted if the multiplier is the default amount for the instrument, i.e. 1,000 par of bonds, 1,000,000 par for financing transactions. + + + + + + The price at which the securities are distributed to the different members of an underwriting group for the primary market in Municipals, total gross underwriter's spread. + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + + + + + Provides the reduction in price for the secondary market in Muncipals. + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + + + + + Driver and part of trade in the event that the Security Master file was wrong at the point of entry(Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + + + + + BasisFeatureDate allows requesting firms within fixed income the ability to request an alternative yield-to-worst, -maturity, -extended or other call. This flows through the confirm process. + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + (prior to FIX 4.4 field was of type UTCDate) + + + + + + Price for BasisFeatureDate. + + See BasisFeatureDate (259) + + (Note tag # was reserved in FIX 4.1, added in FIX 4.3) + + + + + + Unique Market Data Entry identifier. + + + + + + Identifier for a trading session. + + A trading session spans an extended period of time that can also be expressed informally in terms of the trading day. Usage is determined by market or counterparties. + + To specify good for session where session spans more than one calendar day, use TimeInForce = 0 (Day) in conjunction with TradingSessionID(336). + + Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibility. + + + + + + Byte length of encoded (non-ASCII characters) EncodedText (355) field. + + + + + + Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Text(58) field. + + + + + + The tag number of the FIX field being referenced. + + + + + + The MsgType (35) of the FIX message being referenced. + + + + + + Code to identify reason for a session-level Reject message. + + + + + + + + + ID used to represent this transaction for compliance purposes (e.g. OATS reporting). + + + + + + Indicates whether or not the order was solicited. + + + + + + The reason for restatement when an ExecutionReport(35=8) or TradeCaptureReport(35=AE) message is sent with ExecType(150) = D (Restated) or used when communicating an unsolicited cancel. + + + + + + The value of the business-level "ID" field on the message being referenced. + + + + + + Code to identify reason for a Business Message Reject message. + + + + + + Total amount traded expressed in units of currency - usually quantity * price. For FX Futures this is used to express the notional value of a fill when quantity fields are expressed in terms of contract size (i.e. quantity * price * contract size). + + + + + + Maximum number of bytes supported for a single message. + + + + + + + + + Code to represent the price type. + + + + + + + For GT orders, the OrderQty (38) less all quantity (adjusted for stock splits) that traded on previous days. DayOrderQty (424) = OrderQty - (CumQty (14) - DayCumQty (425)) + + + + + + Quantity on a GT order that has traded today. + + + + + + The average price for quantity on a GT order that has traded today. + + + + + + Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate. + + + + + + Date of order expiration (last day the order can trade), always expressed in terms of the local market date. The time at which the order expires is determined by the local market's business practices + + + + + + Used to indicate how the multi-legged security (e.g. option strategies, spreads, etc.) is being reported. + + + + + + Identifies class or source of the PartyID (448) value. Required if PartyID is specified. Note: applicable values depend upon PartyRole (452) specified. + + See "Appendix 6-G - Use of <Parties> Component Block" + + + + + + Party identifier/code. See PartyIDSource (447) and PartyRole (452). + + See "Appendix 6-G - Use of <Parties> Component Block" + + + + + + Identifies the type or role of the PartyID (448) specified. + + + + + + Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries + + + + + + + + + Number of SecurityAltID (455) entries. + + + + + + + + + Alternate Security identifier value for this security of SecurityAltIDSource (456) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityAltIDSource. + + + + + + Identifies class or source of the SecurityAltID(455) value. + + + + + + Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields. + + + + + + Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. ISO 10962 is maintained by ANNA (Association of National Numbering Agencies) acting as Registration Authority. See "Appendix 6-B FIX Fields Based Upon Other Standards". See also the Product (460) and SecurityType (167) fields. It is recommended that CFICode be used instead of SecurityType (167) for non-Fixed Income instruments. + + A subset of possible values applicable to FIX usage are identified in "Appendix 6-D CFICode Usage - ISO 10962 Classification of Financial Instruments (CFI code)" + + + + + + Indicates whether or not this FIX Session is a "test" vs. "production" connection. Useful for preventing "accidents". + + + + + + + + + Specifies which direction to round For CIV - indicates whether or not the quantity of shares/units is to be rounded and in which direction where CashOrdQty (152) or (for CIV only) OrderPercent (516) are specified on an order. + + The default is for rounding to be at the discretion of the executing broker or fund manager. + + e.g. for an order specifying CashOrdQty or OrderPercent if the calculated number of shares/units was 325.76 and RoundingModulus (469) was 0 - "round down" would give 320 units, 1 - "round up" would give 330 units and "round to nearest" would give 320 units. + + + + + + For CIV - a float value indicating the value to which rounding is required. + + i.e. 0 means round to a multiple of 0 units/shares; 0.5 means round to a multiple of 0.5 units/shares. + + The default, if RoundingDirection (468) is specified without RoundingModulus, is to round to a whole unit/share. + + + + + + For CIV - A one character code identifying whether Cancellation rights/Cooling off period applies. + + + + + + A one character code identifying Money laundering status. + + + + + + For CIV A date and time stamp to indicate the time a CIV order was booked by the fund manager. + + For derivatives a date and time stamp to indicate when this order was booked with the agent prior to submission to the VMU. Indicates the time at which the order was finalized between the buyer and seller prior to submission. + + + + + + For CIV - Identifies how the execution price LastPx (31) was calculated from the fund unit/share price(s) calculated at the fund valuation point. + + + + + + For CIV the amount or percentage by which the fund unit/share price was adjusted, as indicated by ExecPriceType (484) + + + + + + Free format text defining the designation to be associated with a holding on the register. Used to identify assets of a specific underlying investor using a common registration, e.g. a broker's nominee or street name. + + + + + + Unique identifier of the registration details as assigned by institution or intermediary. + + + + + + For CIV - a date and time stamp to indicate the fund valuation point with respect to which a order was priced by the fund manager. + + + + + + For CIV specifies the approximate order quantity desired. For a CIV Sale it specifies percentage of investor's total holding to be sold. For a CIV switch/exchange it specifies percentage of investor's cash realised from sales to be re-invested. The executing broker, intermediary or fund manager is responsible for converting and calculating OrderQty (38) in shares/units for subsequent messages. + + + + + + Identifies the type of owner. + + + + + + Assigned by the party which originates the order. Can be used to provide the ClOrdID (11) used by an exchange or executing system. + + + + + + Assigned by the party which accepts the order. Can be used to provide the ExecID (17) used by an exchange or executing system. + + + + + + Designates the capacity of the firm placing the order. + + (as of FIX 4.3, this field replaced Rule80A (tag 47) --used in conjunction with OrderRestrictions (529) field) + + (see Volume : "Glossary" for value definitions) + + + + + + Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space. + + + + + + Date of maturity. + + + + + + Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. + + + + + + Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders. + + + + + + Type of cross being submitted to a market + + + + + + CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel/Replace Requests. + + + + + + Userid or username. + + + + + + Password or passphrase. + + + + + + Indicates if the transaction was previously reported to the counterparty or market. + + + + + + The point in the matching process at which this trade was matched. + + + + + + Type of account associated with an order + + + + + + Capacity of customer placing the order. + + Used by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission). May be used as required by other regulatory commissions for similar purposes. + + + + + + Permits order originators to tie together groups of orders in which trades resulting from orders are associated for a specific purpose, for example the calculation of average execution price for a customer or to associate lists submitted to a broker as waves of a larger program trade. + + + + + + Value assigned by issuer of Mass Status Request to uniquely identify the request + + + + + + Indicates whether or not automatic booking can occur. + + + + + + Indicates what constitutes a bookable unit. + + + + + + Indicates the method of preallocation. + + + + + + Optional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibility + + + + + + Mid price/rate. + + For OTC swaps this is the mid-market mark (for example, as defined by CFTC). + + For uncleared OTC swaps, LegMidPx(2346) and the MidPx(631) fields are mutually exclusive. + + + + + + Indicates type of fee being assessed of the customer for trade executions at an exchange. Applicable for futures markets only at this time. + + (Values source CBOT, CME, NYBOT, and NYMEX): + + + + + + Indicates if the order is currently being worked. Applicable only for OrdStatus = "New". For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order. + + + + + + Indicates if a Cancel/Replace has caused an order to lose book priority. + + + + + + Amount of price improvement. + + + + + + Price of the future part of a F/X swap order. + + See Price (44) for description. + + + + + + F/X forward points of the future part of a F/X swap order added to LastSpotRate (94). May be a negative value. + + + + + + The calculated or traded price for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. + + + + + + The calculated or traded quantity for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. + + + + + + Used to identify the source of the Account (1) code. This is especially useful if the account is a new account that the Respondent may not have setup yet in their system. + + + + + + Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx (31) is expressed in Yield, Spread, Discount or any other type. + + Usage: Execution Report and Allocation Report repeating executions block (from sellside). + + + + + + Message reference for Quote Response + + + + + + Amount of interest (i.e. lump-sum) at maturity. + + + + + + Sub-type qualification/identification of the SecurityType. As an example for SecurityType(167)="REPO", the SecuritySubType="General Collateral" can be used to further specify the type of REPO. + + If SecuritySubType is used, then SecurityType is required. + + For SecurityType="MLEG" a name of the option or futures strategy name can be specified, such as "Calendar", "Vertical", "Butterfly". + + For SecurityType(167)="OPT" the subclassification can be specified, such as "Asian". + + For SecurityType(167)="SWAPTION" a value of "Straddle" is used to identify a straddle swaption. + + In the context of EU SFTR reporting use the appropriate 4-character code noted in the regulations - "GENE" for general collateral or "SPEC" for specific collateral (without quote marks). + + + + + + Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). + + + + + + Next expected MsgSeqNum value to be received. + + + + + + + + + Can be used to uniquely identify a specific Order Status Request message. + + + + + + Indicates whether or not this message is a drop copy of another message. + + + + + + The rate of change in the price of a derivative with respect to the movement in the price of the underlying instrument(s) upon which the derivative instrument price is based. + + This value is normally between -1.0 and 1.0. + + + + + + Type of trade assigned to a trade. + + Note: several enumerations of this field duplicate the enumerations in TradePriceConditions(1839) field. These may be deprecated from TrdType(828) in the future. TradePriceConditions(1839) is preferred in messages that support it. + + + + + + Further qualification to the trade type + + + + + + The price the order is currently pegged at + + + + + + The current discretionary price of the order + + + + + + The target strategy of the order + + 1000+ = Reserved and available for bi-laterally agreed upon user defined values + + + + + + Field to allow further specification of the TargetStrategy - usage to be agreed between counterparties + + + + + + For a TargetStrategy=Participate order specifies the target particpation rate. For other order types this is a volume limit (i.e. do not be more than this percent of the market volume) + + + + + + For communication of the performance of the order versus the target strategy + + + + + + Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. + + + + + + Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit). + + + + + + Type of trade assigned to a trade. Used in addition to TrdType(828). Must not be used when only one trade type needs to be assigned. + + + + + + Identifier assigned to a trade by a matching system. + + + + + + Indicates whether this message is the last in a sequence of messages for those messages that support fragmentation, such as Allocation Instruction, Mass Quote, Security List, Derivative Security List + + + + + + Total number of reports returned in response to a request. + + + + + + Indicates whether this message is the last report message in response to a request message, e.g. OrderMassStatusRequest(35=AF), TradeCaptureReportRequest(35=AD). + + + + + + Accrued Interest Amount applicable to a financing transaction on the End Date. + + + + + + Starting dirty cash consideration of a financing deal, i.e. paid to the seller on the Start Date. + + + + + + Ending dirty cash consideration of a financing deal. i.e. reimbursed to the buyer on the End Date. + + + + + + New Password or passphrase + + + + + + A code that represents a time interval in which a fill or trade occurred. + + Required for US futures markets. + + + + + + Currency in which the StrikePrice is denominated. + + + + + + Host assigned entity ID that can be used to reference all components of a cross; sides + strategy + legs. Used as the primary key with which to refer to the Cross Order for cancellation and replace. The HostCrossID will also be used to link together components of the Cross Order. For example, each individual Execution Report associated with the order will carry HostCrossID in order to tie back to the original cross order. + + + + + + Indicates the current state of the instrument. + + + + + + Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value. + + + + + + Used for derivatives. The number of shares/units for the financial instrument involved in the option trade. + + + + + + Minimum price increase for a given exchange-traded Instrument + + + + + + Position Limit for a given exchange-traded product. + + + + + + The unit of measure of the underlying commodity upon which the contract is based. Two groups of units of measure enumerations are supported. + + Fixed Magnitude UOMs are primarily used in energy derivatives and specify a magnitude (such as, MM, Kilo, M, etc.) and the dimension (such as, watt hours, BTU's) to produce standard fixed measures (such as MWh - Megawatt-hours, MMBtu - One million BTUs). + + The second group, Variable Quantity UOMs, specifies the dimension as a single unit without a magnitude (or more accurately a magnitude of one) and uses the UnitOfMeasureQty(1147) field to define the quantity of units per contract. Variable Quantity UOMs are used for both commodities (such as lbs of lean cattle, bushels of corn, ounces of gold) and financial futures. + + Examples: + + For lean cattle futures contracts, a UnitOfMeasure of 'lbs' with a UnitOfMeasureQty(1147) of 40,000, means each lean cattle futures contract represents 40,000 lbs of lean cattle. + + For Eurodollars futures contracts, a UnitOfMeasure of Ccy with a UnitOfMeasureCurrency(1716) of USD and a UnitOfMeasureQty(1147) of 1,000,000, means a Eurodollar futures contract represents 1,000,000 USD. + + For gold futures contracts, a UnitOfMeasure is oz_tr (Troy ounce) with a UnitOfMeasureQty(1147) of 1,000, means each gold futures contract represents 1,000 troy ounces of gold. + + + + + + Indicates if an order, quote or trade was initially received manually (as opposed to electronically) or if it was entered manually (as opposed to entered by automated trading software). + + + + + + Indicates if the customer directed this order to a specific execution venue "Y" or not "N". + + A default of "N" customer did not direct this order should be used in the case where the information is both missing and essential. + + + + + + Identifies the broker-dealer department that first took the order. + + + + + + Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer. + + NOTE: This field and its values have no bearing on the ExecInst and TimeInForce fields. These values should not be used instead of ExecInst or TimeInForce. This field and its values are intended for compliance reporting and/or billing purposes only. + + For OrderHandlingInstSrc(1032) = 1 (FINRA OATS), valid values are (as of OATS Phase 3 as provided by FINRA. See also http://www.finra.org/Industry/Compliance/MarketTransparency/OATS/PhaseIII/index.htm for a complete list. + + For OrderHandlingInstSrc(1032) = 2 (FIA Execution Source Code), only one enumeration value may be specified. + + + + + + Identifies the class or source of the order handling instruction values.  Scope of this will apply to both CustOrderHandlingInst(1031) and DeskOrderHandlingInst(1035). + + Conditionally required when CustOrderHandlingInst(1031) or DeskOrderHandlingInst(1035) is specified. + + + + + + Used for the calculated quantity of the other side of the currency trade. Can be derived from LastQty and LastPx. + + + + + + Used to identify whether the order initiator is an aggressor or not in the trade. + + + + + + For FX Swap, this is used to express the last market event for the differential between the far leg's bid/offer and the near leg's bid/offer in a fill or partial fill. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 + + + + + + Time of security's maturity expressed in local time with offset to UTC specified + + + + + + The ID reference to the order being hit or taken. + + For pre-trade credit/risk limit check process, this is the reference to the placed order, quote request or quote for the credit/risk limit check. + + + + + + Used to specify the source for the identifier in RefOrderID(1080). This can be an identifier provided in order depth market data when hitting (taking) a specific order or to identify what type of order or quote reference is being provided when seeking credit limit check. In the context of US CAT this can be used to identify related orders and quotes which are parent, previous, or manual orders or quotes. Previous relates to orders changing their unique system assigned order identifier. + + + + + + Allows orders to specify a minimum quantity that applies to every execution (one execution could be for multiple counter-orders). The order may still fill against smaller orders, but the cumulative quantity of the execution must be in multiples of the MatchIncrement. + + + + + + Allows an order to specify a maximum number of price levels to trade through. Only valid for aggressive orders and during continuous (autoexecution) trading sessions. Property lost when order is put on book. A partially filled order is assigned last trade price as limit price. Non-filled order behaves as ordinary Market or Limit. + + + + + + Allows trader to explicitly request anonymity or disclosure in pre-trade market data feeds. Anonymity is relevant in markets where counterparties are regularly disclosed in order depth feeds. Disclosure is relevant when counterparties are not normally visible. + + + + + + Defines the type of price protection the customer requires on their order. + + + + + + Defines the lot type assigned to the order. + + + + + + The value of the reference price that the order is pegged to. PeggedRefPrice + PegOffsetValue (211) = PeggedPrice (839) unless the limit price (44, Price) is breached. The values may not be exact due to rounding. + + + + + + Defines the type of interest behind a trade (fill or partial fill). + + + + + + Specifies the service pack release being applied to a message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID + + + + + + Specifies a custom extension to a message being applied at the session level. + + + + + + The ID source of ExDestination + + + + + + Specifies the service pack release being applied, by default, to message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID + + + + + + Minimum price increment amount associated with MinPriceIncrement(969). For listed derivatives, the value can be calculated by multiplying MinPriceIncrement(969) with ContractMultiplier(231). + + + + + + Used to indicate the quantity of the underlying commodity unit of measure on which the contract is based, such as, 2500 lbs of lean cattle, 1000 barrels of crude oil, 1000 bushels of corn, etc. UnitOfMeasureQty is required for UnitOfMeasure(996) Variable Quantity UOMs enumerations. Refer to the definition of UnitOfMeasure(996) for more information on the use of UnitOfMeasureQty. + + + + + + An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions. + + + + + + Unique identifier for a quote message. + + + + + + Identifies the application with which a message is associated. Used only if application sequencing is in effect. + + + + + + Data sequence number to be used when FIX session is not in effect + + + + + + Annualized volatility for option model calculations + + + + + + Time to expiration in years calculated as the number of days remaining to expiration divided by 365 days per year. + + + + + + Interest rate. Usually some form of short term rate. + + + + + + Used to express the UOM of the price if different from the contract. In futures, this can be different for cross-rate products in which the price is quoted in units differently from the contract + + + + + + Used to express the UOM Quantity of the price if different from the contract. In futures, this can be different for physically delivered products in which price is quoted in a unit size different from the contract, i.e. a Cattle Future contract has a UOMQty of 40,000 and a PriceUOMQty of 100. + + + + + + Type of exercise of a derivatives security + + + + + + Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount. + + + + + + Method for price quotation + + + + + + Used to express the ceiling price of a capped call + + + + + + Used to express the floor price of a capped put + + + + + + Identifies an entire suite of products for a given market. In Futures this may be "interest rates", "agricultural", "equity indexes", etc. + + + + + + Identifies the market segment + + + + + + Identifies the reason for rejection. + + + + + + Enumeration defining the encryption method used to encrypt password fields. + + At this time there are no encryption methods defined by FPL. + + + + + + Length of the EncryptedPassword(1402) field + + + + + + Encrypted password - encrypted via the method specified in the field EncryptedPasswordMethod(1400) + + + + + + Length of the EncryptedNewPassword(1404) field + + + + + + Encrypted new password - encrypted via the method specified in the field EncryptedPasswordMethod(1400) + + + + + + The extension pack number associated with an application message. + + + + + + The extension pack number that is the default for a FIX session. + + + + + + The default custom application version ID that is the default for a session. + + + + + + + + + Status of a FIX session + + + + + + Total number of fill entries across all messages. Should be the sum of all NoFills(1362) in each message that has repeating list of fill entries related to the same ExecID(17). Used to support fragmentation. + + + + + + The continuously-compounded annualized dividend yield of the underlying(s) of an option. Used as a parameter to theoretical option pricing models. + + + + + + Defines the type of contingency. + + + + + + Indicates if a trade should be or has been published via a market publication service. The indicator governs all publication services of the recipient. Replaces PublishTrdIndicator(852). + + + + + + Application sequence number of last message in transmission + + + + + + Used to indicate that a message is being sent in response to an Application Message Request. It is possible for both ApplResendFlag and PossDupFlag to be set on the same message if the Sender's cache size is greater than zero and the message is being resent due to a session level resend request + + + + + + Identifies the type of venue where a trade was executed + + + + + + Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit ContractMultiplier(tag 231) is expressed in. + + + + + + Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying. + + + + + + Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise. + + + + + + Used in combination with StrikePriceBoundaryMethod to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. + + + + + + Indicates the type of valuation method or payout trigger for an in-the-money option. + + + + + + This is the time in seconds of a "Good for Time" (GFT) TimeInForce. + + Positive integer value which represents the time is seconds in which the new order remains active in the market before it is automatically cancelled (e.g. expired). + + Bi-lateral agreements will dictate the maximum value of this field. It is assumed that most systems will impose a max limit of 86,400 seconds (i.e. 24 hours). + + For Quotes: The period of time a quoted price is tradable(i.e. on-the-wire) before it becomes indicative (i.e. off-the-wire). + + + + + + Byte length of encoded (non-ASCII characters) EncodedRejectText(1665) field. + + + + + + Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the RejectText(1328) field. + + + + + + Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency. + + + + + + Describes action recipient should take if a throttle limit were exceeded. + + + + + + Method used for negotiation of contract price. + + + + + + Type of price used to determine upfront payment for swaps contracts. + + + + + + Price used to determine upfront payment for swaps contracts. + + + + + + Price used to determine upfront payment for swaps contracts reported for a deal (trade). + + + + + + Indicates whether a restriction applies to short selling a security. + + + + + + Indicates the reason a short sale order is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.). + + + + + + Indicates the currency of the unit of measure. Conditionally required when UnitOfMeasure(996) = Ccy + + + + + + Indicates the currency of the price unit of measure. Conditionally required when PriceUnitOfMeasure(1191) = Ccy + + + + + + Type of auction order. + + + + + + Percentage of matched quantity to be allocated to the submitter of the response to an auction order. + + + + + + Instruction related to system generated auctions, e.g. flash order auctions. + + + + + + Used to reference an order via ClOrdID(11). + + + + + + Indicates whether an order is locked and for what reason. + + + + + + Locked order quantity. + + + + + + Locked order quantity in addition to LockedQty (1808), e.g. to distinguish total locked quantity from currently locked quantity. + + + + + + Instruction to define conditions under which to release a locked order or parts of it. + + + + + + Quantity to be made available, i.e. released from a lock. + + + + + + Designates the capacity in which the order is submitted for trading by the market participant. + + + + + + Designates the account type to be used for the order when submitted to clearing. + + + + + + Upper boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. + + + + + + Lower boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. + + + + + + Source for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. Can be used together with RelatedHighPrice (1819) and/or RelatedLowPrice (1820). + + + + + + Indicates how the minimum quantity should be applied when executing the order. + + + + + + Indicates whether order has been triggered during its lifetime. Applies to cases where original information, e.g. OrdType(40), is modified when the order is triggered. + + + + + + When LastQty is an estimated value, e.g. for a Repo “circled” trade, LastQtyVariance specifies the absolute amount that the size may vary up or down when finalized. Omitted when LastQty(32) is already final. + + + + + + Identifies the origin of the order. + + + + + + An identifier representing the department or desk within the firm that originated the order. + + + + + + An identifier representing the department or desk within the firm that received the order. + + + + + + Used to identify each price level, step or clip within a match event. + + The identifier may represent a grouping of matched resting orders at a given price level that was matched by an aggressor order. For example, an aggressive order sweeping through 2 price levels that included 3 resting orders would have two different TrdMatchSubID(1891) values. + + + + + + Time unit in which the ExposureDuration(1629) is expressed. + + + + + + The best quoted price received among those not traded. + + + + + + Type of regulatory report. + + + + + + Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties. + + + + + + The broad asset category for assessing risk exposure. + + + + + + The subcategory description of the asset class. + + + + + + Used to provide more specific description of the asset specified in AssetSubClass(1939). + + See https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed. + + Other values may be used by mutual agreement of the counterparties. + + In the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field. + + + + + + Indicates whether the originating account is exempt (Y) from marking orders as short or not (N). This designation may be used on both buy and sell orders. + + + + + + Description of the option expiration. + + + + + + Used to express the unit of measure (UOM) of the price if different from the contract. + + + + + + Specifies the rounding direction if not overridden elsewhere. + + + + + + Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. + + + + + + The reference identifier of the PartyRiskLimitCheckRequest(35=DF) message, or a similar out of band message, that contained the approval for the risk/credit limit check request. + + + + + + Specifies which type of identifier is specified in RefRiskLimitCheckID(2334) field. + + + + + + Specifies the regulatory mandate or rule that the transaction complies with. + + + + + + Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the TradeContinuationText(2374) field. + + + + + + Byte length of encoded (non-ASCII characters) EncodedTradeContinuationText(2371) field. + + + + + + Free form text to specify additional trade continuation information or data. + + + + + + Free text for compliance information required for regulatory reporting. + + + + + + Byte length of encoded (non-ASCII characters) EncodedComplianceText(2352) field. + + + + + + Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ComplianceText(2404) field. + + + + + + Unique message identifier for an order request as assigned by the submitter of the request. + + + + + + Unique message identifier for a mass order request as assigned by the submitter of the orders. + + + + + + The initiating event when an ExecutionReport(35=8) is sent. + + + + + + Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.). + + + + + + Indicates whether the transaction or position was entered into between two affiliated firms. I.e. one counterparty has an ownership interest in the other counterparty but less than the majority interest. + + This trade attribute was identified under and applies to the Canadian CSA trade reporting regulations. + + + + + + Specifies the number of decimal places for instrument prices. + + + + + + Specifies the number of decimal places for exercise price. + + + + + + Original exercise price, e.g. after corporate action requiring changes. + + + + + + Identifies an order or trade that should not be matched to an opposite order or trade if both buy and sell orders for the same asset contain the same SelfMatchPreventionID(2362) and submitted by the same firm. + + + + + + Indicates that the order or trade originates from a computer program or algorithm requiring little-to-no human intervention. + + + + + + Indicates whether the order or quote was crossed with another order or quote having the same context, e.g. having accounts with a common ownership. + + + + + + Used between parties to convey trade reporting status. + + In the context of regulatory reporting, this field may be used by the reporting party (e.g. party obligated to report to regulators) to inform their trading counterparty or other interested parties the trade reporting status. + + + + + + Maximum deviation, in percentage terms, of an execution price from a reference price, e.g. the initial price of a match event. + + + + + + Change of ownership of an order to a specific party. + + + + + + Identifies the type of execution destination for the order. + + + + + + The full normative name of the financial instrument. + + In the context of ESMA reference data, this is used to provide the full name of the instrument as defined by the Derivatives Service Bureau (DSB). + + + + + + Used to provide a more specific description of the asset specified in AssetType(1940). + + See https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values. + + In the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields. + + + + + + Short name of the financial instrument. Uses ISO 18774 (FINS) values. + + In the context of MiFID II this maps to ESMA RTS 23 Annex I Table 3 Field 7 and may be used in other RTS that requires a similar field. + + + + + + Represents the reportable price on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals. + + + + + + Represents the reportable quantity on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals. + + + + + + Indicates the type of the currency rate being used. This is relevant for currencies that have offshore rate that different from onshore rate. + + + + + + Used to indicate that a ClOrdID(11) value is an intentional duplicate of a previously sent value. Allows to avoid the rejection of an order with OrdRejReason(103) = 6 (Duplicate Order). + + In the context of US CAT this can be used when the recipient of a previously routed order requires the same identifier to be re-used for a new route. + + + + + + Indicates the type of entity who initiated an event, e.g. modification or cancellation of an order or quote. + + + + + + Current working price of the order relative to the state of the order. + + In the context of US CAT this can be used for the current price of the parent order when reporting a split into new (child) orders. + + + + + + Identifies the origin of the order from the counterparty of the execution or trade. + + + + + + Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with OrderOrigination(1724) to further describe the origin of an order. + + An arrangement under which a participant of a marketplace permits a broker to electronically transmit orders containing the identifier of the participant. This can be either through the systems of the participant for automatic onward transmission to a marketplace or directly to a marketplace without being electronically transmitted through the systems of the participant. + + + + + + Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with ContraOrderOrigination(2882) to further describe the origin of an order. + + + + + + Identifies class or source of the Currency(15) value. + + + + + + Identifies class or source of the SettlCurrency(120) value. + + + + + + Identifies class or source of the StrikeCurrency(947) value. + + + + + + Identifies class or source of the UnitOfMeasureCurrency(1716) value. + + + + + + Identifies class or source of the PriceUnitOfMeasureCurrency(1717) value. + + + + + + Identifies class or source of the PriceQuoteCurrency(1524) value. + + + + + + + + + Common, "human understood" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) + + Use "[N/A]" for products which do not have a symbol. + + + + + + Takes precedence in identifying security to counterparty over SecurityAltID block. Requires SecurityIDSource if specified. + + + + + + Conditionally required when SecurityID(48) is specified. + + + + + + Number of alternate Security Identifiers + + + + + + Indicates the type of product the security is associated with (high-level category) + + + + + + Identifies an entire suite of products for a given market. In Futures this may be "interest rates", "agricultural", "equity indexes", etc + + + + + + An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions. + + + + + + Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments. + + + + + + It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments. + + Required for Fixed Income. Refer to Volume 7 - Fixed Income + + Futures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.) + + + + + + Sub-type qualification/identification of the SecurityType (e.g. for SecurityType="MLEG"). If specified, SecurityType is required. + + + + + + Specifies the month and year of maturity. Applicable for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures). Note MaturityDate (a full date) can also be specified. + + + + + + Specifies date of maturity (a full date). Note that standardized derivatives which are typically only referenced by month and year (e.g. S&P futures) may use MaturityMonthYear(200) and/or this field. + + When using MaturityMonthYear(200), it is recommended that markets and sell sides report the MaturityDate(541) on all outbound messages as a means of data enrichment. + + For NDFs this represents the fixing date of the contract. + + + + + + For NDFs this represents the fixing time of the contract. It is optional to specify the fixing time. + + + + + + Gives the current state of the instrument + + + + + + + + + + + Required if AssetSubClass(1939) is specified. + + + + + + Required if AssetType(1940) is specified. + + + + + + Required if AssetSubType(2735) is specified. + + + + + + + + + + + + + + + + Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date. + + + + + + Used for derivatives, such as options and covered warrants + + + + + + + + + + + + + + + + Used for derivatives + + + + + + + + + + + Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value. + + + + + + Used for derivatives. The number of shares/units for the financial instrument involved in the option trade. + + + + + + + + + + + + + + + + When specified, PutOrCall(201), StrikePrice(202), and StrikePriceBoundaryPrecision(1480) must also be specified. + + + + + + + + + + + Used for derivatives, such as options and covered warrants to indicate a versioning of the contract when required due to corporate actions to the underlying. Should not be used to indicate type of option - use the CFICode[461] for this purpose. + + + + + + For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount. + + + + + + + + + + + Minimum price increment for the instrument. Could also be used to represent tick value. + + + + + + Minimum price increment amount associated with the MinPriceIncrement [969]. For listed derivatives, the value can be calculated by multiplying MinPriceIncrement by ContractValueFactor [231] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type of exercise of a derivatives security + + + + + + + + + + + Conditionally required if OptPayoutType(1482) = 3 (Binary). + + + + + + Method for price quotation + + + + + + + + + + + + + + + + Used to express the ceiling price of a capped call + + + + + + Used to express the floor price of a capped put + + + + + + Used to express option right + + + + + + Can be used to identify the security. + + + + + + Position Limit for the instrument. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified. + + + + + + One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified. Specifies the approximate "monetary quantity" for the order. Broker is responsible for converting and calculating OrderQty in tradeable units (e.g. shares) for subsequent messages. + + + + + + For CIV - Optional. One of CashOrderQty, OrderQty or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified. + + + + + + For CIV - Optional + + + + + + For CIV - Optional + + + + + + + + FIXT.1.1 (Always unencrypted, must be first field in message) + + + + + + (Always unencrypted, must be second field in message) + + + + + + (Always unencrypted) + + + + + + (Always unencrypted) + + + + + + (Can be embedded within encrypted data section.) + + + + + + (Can be embedded within encrypted data section.) + + + + + + + + (Always unencrypted, always last field in message) + + + + + + + + Identifies the application with which a message is associated. Used only if application sequencing is in effect. + + + + + + Application sequence number assigned to the message by the application generating the message. Used only if application sequencing is in effect. Conditionally required if ApplID has been specified. + + + + + + The previous sequence number in the application sequence stream. Permits an application to publish messages with sequence gaps where it cannot be avoided. Used only if application sequencing is in effect. Conditionally required if ApplID has been specified + + + + + + Used to indicate that a message is being sent in response to an Application Message Request. Used only if application sequencing is in effect. It is possible for both ApplResendFlag and PossDupFlag to be set on the same message if the Sender's cache size is greater than zero and the message is being resent due to a session level resend request. + + + + + + + + + + Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole + + + + + + Required if NoPartyIDs(453) > 0. + + Identification of the party. + + + + + + Required if NoPartyIDs(453) > 0. + + Used to identify classification source. + + + + + + Required if NoPartyIDs(453) > 0. + + Identifies the type of PartyID(448). + + + + + The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received. + + + + + + + + + Required when the heartbeat is the result of a Test Request message. + + + + + + + + The test request message forces a heartbeat from the opposing application. The test request message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request with a Heartbeat containing the TestReqID. + + + + + + + + + + + + + + + + The resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process. + + + + + + + + + + + + + + + + + + + + + The reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data which successfully passes de-encryption, CheckSum and BodyLength checks. + + + + + + + + + MsgSeqNum of rejected message + + + + + + The tag number of the FIX field being referenced. + + + + + + The MsgType of the FIX message being referenced. + + + + + + Recommended when rejecting an application message that does not explicitly provide ApplVerID ( 1128) on the message being rejected. In this case the value from the DefaultApplVerID(1137) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + Recommended when rejecting an application message that does not explicitly provide ApplExtID(1156) on the rejected message. In this case the value from the DefaultApplExtID(1407) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + Recommended when rejecting an application message that does not explicitly provide CstmApplVerID(1129) on the message being rejected. In this case the value from the DefaultCstmApplVerID(1408) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + Code to identify reason for a session-level Reject message. + + + + + + Where possible, message to explain reason for rejection + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + + + The sequence reset message is used by the sending application to reset the incoming sequence number on the opposing side. + + + + + + + + + + + + + + + + + + + + + The logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange of logout messages should be interpreted as an abnormal condition. + + + + + + + + + Session status at time of logout. + + + + + + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + + + The execution report message is used to: + + 1. confirm the receipt of an order + + 2. confirm changes to an existing order (i.e. accept cancel and replace requests) + + 3. relay order status information + + 4. relay fill information on working orders + + 5. relay fill information on tradeable or restricted tradeable quotes + + 6. reject orders + + 7. report post-trade fees calculations associated with a trade + + + + + + For use in drop copy applications. NOT FOR USE in transactional applications. + + + + + + OrderID is required to be unique for each chain of orders. + + + + + + Required if provided on the order message. Echo back the value provided in the order message. + + + + + + Can be used to link execution to the MassOrder(35=DJ) message. + + + + + + Can be used to provide order id used by exchange or executing system. Can alternatively be used to convey implicit order priority. + + + + + + + + + + + + + + + + Required when referring to orders that were electronically submitted over FIX or otherwise assigned a ClOrdID(11). + + In the case of quotes can be mapped to: + + - QuoteID(117) of a single Quote(35=S) + + - QuoteEntryID(299) of a MassQuote(35=i) + + - BidID(390) or OfferID(1867) of a two-sided Quote(35=S) + + - MassOrderReportID(2424) of a MassOrderAck(35=DK) + + + + + + In the case of quotes can be mapped to: + + o QuoteMsgID(1166) of a single Quote(35=S) + + o QuoteID(117) of a MassQuote(35=i) + + + + + + Conditionally required for response to a Cancel or Cancel/Replace request (ExecType(150) = 6 (Pending Cancel, 5 (Replaced), or 4 (Canceled)) when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11). ClOrdID(11) of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order. + + + + + + + + + + + Reference to the MDEntryID(278) of this order or quote in the market data. + + + + + + Required if responding to a QuoteResponse(35=AJ) message. Echo back the Initiator's value specified in the message. + + + + + + Required if responding to and if provided on the OrderStatusRequest(35=H) message. Echo back the value provided by the requester. + + + + + + Required if responding to a OrderMassStatusRequest(35=AF). Echo back the value provided by the requester. + + + + + + Host assigned entity ID that can be used to reference all components of a cross; sides + strategy + legs + + + + + + Can be used when responding to an OrderMassStatusRequest(35=AF) to identify the total number of ExecutionReport(35=8) messages which will be returned. + + + + + + Can be used when responding to an OrderMassStatusRequest(35=AF) to indicate that this is the last ExecutionReport(35=8) messages which will be returned as a result of the request. + + + + + + Specifies party information related to the submitter. + + + + + + + + + + + Required for executions against orders which were submitted as part of a list. + + + + + + CrossID for the replacement order + + + + + + Must match original cross order. Same order chaining mechanism as ClOrdID(11)/OrigClOrdID(41) with OrderCancelReplaceRequest(35=G). + + + + + + + + + + + + + + + + Conditionally required when RefRiskLimitCheckID(2334) is specified. + + + + + + + + + + + + + + + + Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType(150) = I (Order Status)). + + + + + + Required for ExecType(150) = H (Trade Cancel) and ExecType(150) = G (Trade Correct). + + + + + + Describes the purpose of the execution report. + + + + + + Can be used to provide further detail for ExecType(150) field. + + + + + + Describes the current state of a CHAIN of orders, same scope as OrderQty, CumQty, LeavesQty, and AvgPx + + + + + + For optional use with OrdStatus = 0 (New) + + + + + + + + + + + For optional use with ExecType = 8 (Rejected) + + + + + + Reason description for rejecting the transaction request. + + + + + + Must be set if EncodedRejectText(1665) field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field. + + + + + + Required for ExecType = D (Restated). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + May be used to bilaterally inform counterparty of trade reporting status. + + + + + + Required for executions against electronically submitted orders which were assigned an account by the institution or intermediary + + + + + + + + + + + Specifies type of account + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Takes precedence over SettlType value and conditionally required/omitted for specific SettleType values. + + Required for NDFs to specify the "value date". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Available for optional use when Side(54) = 6(Sell short exempt). + + + + + + + + + + + Conditionally required when the OrderQtyData component is required or specified in a prior, related message. + + For example, when used in a work flow including a NewOrderSingle(35=D) or NewOrderCross(35=s) message, the OrderQtyData component is a required component in these messages and thus the component is required here. When the OrderQtyData component is optional in a related message, such as the NewOrderMultileg(35=AB), the component is required here when specified in the prior, related NewOrderMultileg(35=AB) message. + + + + + + + + + + + + + + + + + + + + + Required if specified on the order + + + + + + + + + + + Required if specified on the order + + + + + + + + + + + The current price the order is pegged at + + + + + + The reference price of a pegged order. + + + + + + The current discretionary price of the order + + + + + + + + + + + Required if specified on the order + + + + + + + + + + + The target strategy of the order + + + + + + For further specification of the TargetStrategy + + + + + + Mandatory for a TargetStrategy=Participate order and specifies the target particpation rate. + + For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume) + + + + + + For communication of the performance of the order versus the target strategy + + + + + + + + + + + + + + + + + + + + + + + + + + Must be set if EncodedComplianceText(2352) field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding(347) field. + + + + + + + + + + + Absence of this field indicates Day order + + + + + + Time specified on the order at which the order should be considered valid + + + + + + Conditionally required if TimeInForce(59) = 6 (GTD) and ExpireTime(126) is not specified. + + + + + + Conditionally required if TimeInForce(59) = 6 (GTD) and ExpireDate(432) is not specified. + + + + + + Conditionally required when TimeInForce(59)=10 (Good for Time) + + + + + + + + + + + Can contain multiple instructions, space delimited. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Applies to trades resulting from the order. + + + + + + + + + + + Quantity (e.g. shares) bought/sold on this (last) fill. Required if ExecType(150) = F (Trade) or ExecType(150) = G (Trade Correct) unless FillsGrp or OrderEventGrp is used. + + If ExecType(150) = 7 (Stopped), represents the quantity stopped/guaranteed/protected for. + + + + + + Used for FX trades to express the quantity or amount of the other side of the currency. Conditionally required if ExecType(150) = F (Trade) or G (Trade Correct) and is an FX trade. + + + + + + Optionally used when ExecType(150) = F (Trade) or G (Trade Correct) and is a FX Swap trade. Used to express the swap points for the swap trade event. + + + + + + + + + + + + + + + + Price of this (last) fill. Required if ExecType(150) = ExecType = F (Trade) or G (Trade Correct) unless FillsGrp or OrderEventGrp or TradePriceCondition(1839)=17 (Price is pending) or 18 (Price is not applicable) is used. + + Should represent the "all-in" (LastSpotRate(194) + LastForwardPoints(195)) rate for F/X orders.). + + If ExecType(150) = 7 (Stopped), represents the price stopped/guaranteed/protected at. + + Not required for FX Swap when ExecType(150) = F (Trade) or G (Trade Correct) as there is no "all-in" rate that applies to both legs of the FX Swap. + + + + + + + + + + + Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx(31) is expressed in Yield, Spread, Discount or any other price type that is not percent-of-par. + + + + + + + + + + + Applicable for F/X orders + + + + + + Applicable for F/X orders + + + + + + Upfront Price for CDS transactions. Conditionally required if TradePriceNegotiationMethod(1740) = 4(Percent of par and upfront amount), 5(Deal spread and upfront amount) or 6(Upfront points and upfront amount). + + + + + + + + + + + + + + + + If ExecType(150) = F (Trade), indicates the market where the trade was executed. If ExecType(150) = 0 (New (0), indicates the market where the order was routed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quantity open for further execution. If the OrdStatus(39) is = 4 (Canceled), 3 (Done For Day), C (Expired), B (Calculated), or 8 (Rejected) (in which case the order is no longer active) then LeavesQty(151) could be 0, otherwise LeavesQty(151) = OrderQty(38) - CumQty(14). + + + + + + Currently executed quantity for chain of orders. + + + + + + Can be used to specify the remaining quantity that was cancelled prior to order reaching terminal state (i.e. when LeavesQty(151)=0). If specified, OrderQty(38) = CumQty(14) + CxlQty(84). + + + + + + Not required for markets where average price is not calculated by the market. + + Conditionally required otherwise. + + + + + + For GT orders on days following the day of the first trade. + + + + + + For GT orders on days following the day of the first trade. + + + + + + For GT orders on days following the day of the first trade. + + + + + + Used to support fragmentation. Sum of NoFills(1362) across all messages with the same ExecID(17). + + + + + + Indicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented. + + + + + + + + + + + States whether executions are booked out or accumulated on a partially filled GT order + + + + + + Used when reporting other than current day trades. + + + + + + Time the transaction represented by this ExecutionReport(35=8) occurred. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For fixed income products which pay lump-sum interest at maturity. + + + + + + For repurchase agreements the accrued interest on termination. + + + + + + For repurchase agreements the start (dirty) cash consideration. + + + + + + For repurchase agreements the end (dirty) cash consideration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + On a fill/partial fill message, it represents value for that fill/partial fill. On a ExecType(150) = B (Calculated) message, it represents cumulative value for the order. Value expressed in the currency reflected by the Currency(15) field. + + + + + + Used to report results of forex accommodation trade. + + + + + + Used to report results of forex accommodation trade. + + Required for Non-Deliverable Forwards. + + + + + + + + + + + + + + + + Foreign exchange rate used to compute SettlCurrAmt(119) from Currency(15) to SettlCurrency(120). + + + + + + Specifies whether the SettlCurrFxRate(155) should be multiplied or divided. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + May be used as an alternative to MatchingInstructions when the identifier does not appear in another field. + + + + + + + + + + + + + + + + + + + + + For use in derivatives omnibus accounting + + + + + + + + + + + Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking. + + + + + + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the forward points (added to LastSpotRate) for the future portion of a F/X swap. + + + + + + Default is a single security if not specified. + + + + + + For contingency orders, the type of contingency as specified in the order. + + + + + + For CIV - Optional + + + + + + + + + + + Reference to Registration Instructions message for this Order. + + + + + + Supplementary registration information for this Order + + + + + + For CIV - Optional + + + + + + For CIV - Optional + + + + + + For CIV - Optional + + + + + + For CIV - Optional + + + + + + + + + + + + + + + + Applicable only on OrdStatus(39) = 1 of (Partially filled) or 2(Filled). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + May be used for cross orders submitted with single order messages. + + + + + + + + + + + + + + + + + + + + + May be used for cross orders submitted with single order messages. + + + + + + + + + + + + + + + + Can be used to highlight change of order ownership. + + + + + + May be used to indicate the post-execution trade continuation or lifecycle event. This should echo the value in the message that resulted in this report. + + + + + + + + + + + Must be set if EncodedTradeContinuationText(2371) field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session. + + + + + + + + + (Always unencrypted) + + + + + + Note same value used by both sides + + + + + + Required for some authentication methods + + + + + + Required for some authentication methods + + + + + + Indicates both sides of a FIX session should reset sequence numbers + + + + + + Optional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach (see "Logon Message NextExpectedMsgSeqNum Processing" section) + + + + + + Can be used to specify the maximum number of bytes supported for messages received + + + + + + Can be used to specify that this FIX session will be sending and receiving "test" vs. "production" messages. + + + + + + + + + + + Note: minimal security exists without transport-level encryption. + + + + + + Specifies a new password for the FIX Logon. The new password is used for subsequent logons. + + + + + + + + + + + + + + + + + + + + + + + + + + Encrypted new password- encrypted via the method specified in the field EncryptedPasswordMethod(1400) + + + + + + Session status at time of logon. Field is intended to be used when the logon is sent as an acknowledgement from acceptor of the FIX session. + + + + + + The default version of FIX messages used in this session. + + + + + + The default extension pack for FIX messages used in this session + + + + + + The default custom application version (dictionary) for FIX messages used in this session + + + + + + Available to provide a response to logon when used as a logon acknowledgement from acceptor back to the logon initiator. + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + + + The new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution. + + The New Order message type may also be used by institutions or retail intermediaries wishing to electronically submit Collective Investment Vehicle (CIV) orders to a broker or fund manager for execution. + + + + + + Unique identifier of the order as assigned by institution or by the intermediary (CIV term, not a hub/service bureau) with closest association with the investor. + + + + + + + + + + + + + + + + + + + + + + + + + + This is party information related to the submitter of the request. + + + + + + + + + + + + + + + + + + + + + + + + + + Type of account associated with the order (Origin) + + + + + + + + + + + + + + + + + + + + + Used to assign an overall allocation id to the block of preallocations + + + + + + For NDFs either SettlType or SettlDate should be specified. + + + + + + Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values. + + For NDFs either SettlType or SettlDate should be specified. + + + + + + + + + + + + + + + + + + + + + Can contain multiple instructions, space delimited. If OrdType=P, exactly one of the following values (ExecInst = L, R, M, P, O, T, W, a, d) must be specified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + May be used as an alternative to MatchingInstructions when the identifier does not appear in another field. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to identify soft trades at order entry. + + + + + + Insert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages" + + + + + + Useful for verifying security identification + + + + + + + + + + + + + + + + Available for optional use when Side(54) = 6(Sell short exempt). + + + + + + Required for short sell orders + + + + + + Time this order request was initiated/released by the trader, trading system, or intermediary. + + + + + + + + + + + + + + + + + + + + + + + + + + Required for limit OrdTypes. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). Can be used to specify a limit price for a pegged order, previously indicated, etc. + + + + + + May be used for new (child) orders stemming from the split of a parent order. Refers to the working price of the parent order. + + + + + + + + + + + Required for OrdType = "Stop" or OrdType = "Stop limit". + + + + + + + + + + + + + + + + + + + + + + + + + + Upfront Price for CDS transactions. Conditionally required if TradePriceNegotiationMethod(1740) = 4(Percent of par and upfront amount), 5(Deal spread and upfront amount) or 6(Upfront points and upfront amount). + + + + + + + + + + + + + + + + Must be set if EncodedComplianceText(2352) field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding(347) field. + + + + + + + + + + + May be used when intentionally sending an order more than once, e.g. an order being received manually as well as electronically in conjunction with a regulatory requirement to report both events. + + + + + + Required for Previously Indicated Orders (OrdType=E) + + + + + + Required for Previously Quoted Orders (OrdType=D) + + + + + + Absence of this field indicates Day order + + + + + + Can specify the time at which the order should be considered valid + + + + + + Conditionally required if TimeInForce = GTD and ExpireTime is not specified. + + + + + + Conditionally required if TimeInForce = GTD and ExpireDate is not specified. + + + + + + States whether executions are booked out or accumulated on a partially filled GT order + + + + + + Conditionally required when TimeInForce(59)=10 (Good for Time) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Applies to trades resulting from the order. + + + + + + + + + + + Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade. + + + + + + Required if ForexReq=Y. + + Required for NDFs. + + + + + + + + + + + + + + + + Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking. + + + + + + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap. + + + + + + Can be used with OrdType = "Forex - Swap" to specify the price for the future portion of a F/X swap which is also a limit order. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). + + + + + + + + + + + For use in derivatives omnibus accounting + + + + + + For use with derivatives, such as options + + + + + + + + + + + The target strategy of the order + + + + + + For further specification of the TargetStrategy + + + + + + Mandatory for a TargetStrategy=Participate order and specifies the target particpation rate. + + For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume) + + + + + + For CIV - Optional + + + + + + + + + + + Reference to Registration Instructions message for this Order. + + + + + + Supplementary registration information for this Order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + May be used for cross orders submitted with single order messages. + + + + + + + + + + + + + + + + + + + + + May be used for cross orders submitted with single order messages. + + + + + + + + + + + + + + + + + + + + + Required for counter-order selection / Hit / Take Orders. (OrdType = Q) + + + + + + Conditionally required if RefOrderID is specified. + + + + + + + + + + + + + + + + Conditionally required for auction orders + + + + + + + + + + + + + The Business Message Reject message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued. + + + + + + MsgSeqNum of rejected message + + + + + + The MsgType of the FIX message being referenced. + + + + + + Recommended when rejecting an application message that does not explicitly provide ApplVerID ( 1128) on the message being rejected. In this case the value from the DefaultApplVerID(1137) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + Recommended when rejecting an application message that does not explicitly provide ApplExtID(1156) on the rejected message. In this case the value from the DefaultApplExtID(1407) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + Recommended when rejecting an application message that does not explicitly provide CstmApplVerID(1129) on the message being rejected. In this case the value from the DefaultCstmApplVerID(1408) or the default value specified in the NoMsgTypes repeating group on the logon message should be provided. + + + + + + The value of the business-level "ID" field on the message being referenced. Required unless the corresponding ID field (see list above) was not specified. + + + + + + Code to identify reason for a Business Message Reject message. + + + + + + Where possible, message to explain reason for rejection + + + + + + Must be set if EncodedText field is specified and must immediately precede it. + + + + + + Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. + + + + + + \ No newline at end of file diff --git a/orchestra/fix50sp2/pom.xml b/orchestra/fix50sp2/pom.xml new file mode 100755 index 0000000..881d50d --- /dev/null +++ b/orchestra/fix50sp2/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestra-parent + 0.0.1-SNAPSHOT + + + custom-applications-orchestra-fix50sp2-parent + pom + + + + + + fix50sp2-application-messages + + + + \ No newline at end of file diff --git a/orchestra/fixlatest/fixlatest-application-messages/pom.xml b/orchestra/fixlatest/fixlatest-application-messages/pom.xml new file mode 100644 index 0000000..8e9c342 --- /dev/null +++ b/orchestra/fixlatest/fixlatest-application-messages/pom.xml @@ -0,0 +1,169 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestra-fixlatest-parent + 0.0.1-SNAPSHOT + + + fixlatest-application-messages + jar + + QuickFIX/J fixlatest application messages + Example build of custom FIX application messages + http://www.quickfixj.org + + + + io.fixprotocol.orchestrations + fix-standard + + + org.quickfixj + quickfixj-base + + + org.quickfixj + quickfixj-messages-fixt11 + + + + + + org.codehaus.mojo + xml-maven-plugin + + + cleanOrchestraRepo + initialize + + transform + + + + + ${project.basedir}/src/main/resources + ${project.build.directory}/generated-resources + + ${orchestra.file} + + ${project.basedir}/../../src/main/xsl/extractSessionLayer.xsl + + + + + + + + org.quickfixj.orchestra + quickfixj-from-fix-orchestra-code-generator-maven-plugin + + + generate-sources + + codeGeneration + + fixLatest + + + + target/generated-resources/example-custom-orchestra.xml + target/generated-sources + true + false + + + + org.quickfixj.orchestra + quickfixj-from-fix-orchestra-dictionary-generator-maven-plugin + + + generate-resources + + dictionaryGeneration + + fixLatest + + + + target/generated-resources/example-custom-orchestra.xml + target/generated-resources + + + + org.codehaus.mojo + build-helper-maven-plugin + + + process-sources + add-source + + + ${project.build.directory}/generated-sources + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + *.xml + quickfix/field/*.class + quickfix/fix*/** + + + + + maven-resources-plugin + + + copy-fixlatest-xml + generate-resources + + copy-resources + + + target/classes + + + ${project.build.directory}/generated-resources + + FIXLatest.xml + + + + + + + + + maven-source-plugin + org.apache.maven.plugins + + + *.xml + quickfix/fix*/** + quickfix/field/** + + + + + + + diff --git a/custom-application-messages/readme.md b/orchestra/fixlatest/fixlatest-application-messages/readme.md similarity index 100% rename from custom-application-messages/readme.md rename to orchestra/fixlatest/fixlatest-application-messages/readme.md diff --git a/src/main/resources/example-custom-orchestra.xml b/orchestra/fixlatest/fixlatest-application-messages/src/main/resources/example-custom-orchestra.xml similarity index 100% rename from src/main/resources/example-custom-orchestra.xml rename to orchestra/fixlatest/fixlatest-application-messages/src/main/resources/example-custom-orchestra.xml diff --git a/orchestra/fixlatest/pom.xml b/orchestra/fixlatest/pom.xml new file mode 100755 index 0000000..9039bbb --- /dev/null +++ b/orchestra/fixlatest/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestra-parent + 0.0.1-SNAPSHOT + + + orchestra-fixlatest-parent + pom + + + + + + fixlatest-application-messages + using-fixlatest-server + using-fixlatest-client + + \ No newline at end of file diff --git a/custom-applications/using-fixlatest-client/pom.xml b/orchestra/fixlatest/using-fixlatest-client/pom.xml similarity index 94% rename from custom-applications/using-fixlatest-client/pom.xml rename to orchestra/fixlatest/using-fixlatest-client/pom.xml index 21f1b06..bbf336b 100644 --- a/custom-applications/using-fixlatest-client/pom.xml +++ b/orchestra/fixlatest/using-fixlatest-client/pom.xml @@ -3,7 +3,7 @@ org.quickfixj.custom.examples - custom-applications-parent + orchestra-fixlatest-parent 0.0.1-SNAPSHOT @@ -41,7 +41,7 @@ org.quickfixj.custom.examples - application-messages + fixlatest-application-messages 0.0.1-SNAPSHOT diff --git a/custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java similarity index 100% rename from custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java rename to orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java diff --git a/custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java similarity index 100% rename from custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java rename to orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java diff --git a/custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java similarity index 100% rename from custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java rename to orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java diff --git a/custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java similarity index 100% rename from custom-applications/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java rename to orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java diff --git a/custom-applications/using-fixlatest-client/src/main/resources/application.yml b/orchestra/fixlatest/using-fixlatest-client/src/main/resources/application.yml similarity index 100% rename from custom-applications/using-fixlatest-client/src/main/resources/application.yml rename to orchestra/fixlatest/using-fixlatest-client/src/main/resources/application.yml diff --git a/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml b/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml new file mode 100755 index 0000000..a90d545 --- /dev/null +++ b/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/custom-applications/using-fixlatest-server/pom.xml b/orchestra/fixlatest/using-fixlatest-server/pom.xml similarity index 94% rename from custom-applications/using-fixlatest-server/pom.xml rename to orchestra/fixlatest/using-fixlatest-server/pom.xml index 151ba8b..565f718 100644 --- a/custom-applications/using-fixlatest-server/pom.xml +++ b/orchestra/fixlatest/using-fixlatest-server/pom.xml @@ -3,7 +3,7 @@ org.quickfixj.custom.examples - custom-applications-parent + orchestra-fixlatest-parent 0.0.1-SNAPSHOT @@ -41,7 +41,7 @@ org.quickfixj.custom.examples - application-messages + fixlatest-application-messages 0.0.1-SNAPSHOT diff --git a/custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java similarity index 100% rename from custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java rename to orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java diff --git a/custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java similarity index 100% rename from custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java rename to orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java diff --git a/custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java similarity index 100% rename from custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java rename to orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java diff --git a/custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java similarity index 100% rename from custom-applications/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java rename to orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java diff --git a/custom-applications/using-fixlatest-server/src/main/resources/application.yml b/orchestra/fixlatest/using-fixlatest-server/src/main/resources/application.yml similarity index 100% rename from custom-applications/using-fixlatest-server/src/main/resources/application.yml rename to orchestra/fixlatest/using-fixlatest-server/src/main/resources/application.yml diff --git a/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml b/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml new file mode 100755 index 0000000..a90d545 --- /dev/null +++ b/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/orchestra/pom.xml b/orchestra/pom.xml new file mode 100755 index 0000000..d3d7985 --- /dev/null +++ b/orchestra/pom.xml @@ -0,0 +1,20 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestration-examples-parent + 0.0.1-SNAPSHOT + + + orchestra-parent + pom + + + + + + fixlatest + fix50sp2 + + \ No newline at end of file diff --git a/custom-application-messages/src/main/xsl/extractSessionLayer.xsl b/orchestra/src/main/xsl/extractSessionLayer.xsl similarity index 100% rename from custom-application-messages/src/main/xsl/extractSessionLayer.xsl rename to orchestra/src/main/xsl/extractSessionLayer.xsl diff --git a/pom.xml b/pom.xml index 1a75a64..995e1cf 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,6 @@ - scm:git:git://github.com/quickfix-j/quickfixj-custom-orchestration-examples.git scm:git:git@github.com:quickfix-j/quickfixj-custom-orchestration-examples.git @@ -114,9 +113,8 @@ - custom-application-messages - custom-legacy-codegen-application-messages - custom-applications + legacy-codegen + orchestra diff --git a/custom-applications/readme.md b/readme-custom-applications.md similarity index 100% rename from custom-applications/readme.md rename to readme-custom-applications.md From c21766fc06520dd95a9d2a51a7fb975a18e1c18b Mon Sep 17 00:00:00 2001 From: david-gibbs-ig Date: Sun, 3 Nov 2024 01:01:12 +0100 Subject: [PATCH 2/3] added example of FIX50SP2 message generation from fix orchestra --- .../custom/client/ClientMessageCracker.java | 2 +- .../custom/server/ServerMessageCracker.java | 2 +- .../fix50sp2-application-messages/pom.xml | 12 +-- orchestra/fix50sp2/pom.xml | 6 +- .../fix50sp2/using-fix50sp2-client/pom.xml | 66 +++++++++++++++ .../custom/client/ClientApplication.java | 11 +++ .../client/ClientApplicationAdapter.java | 82 +++++++++++++++++++ .../ClientApplicationConfiguration.java | 31 +++++++ .../custom/client/ClientMessageCracker.java | 39 +++++++++ .../src/main/resources/application.yml | 53 ++++++++++++ .../fix50sp2/using-fix50sp2-server/pom.xml | 66 +++++++++++++++ .../custom/server/ServerApplication.java | 11 +++ .../server/ServerApplicationAdapter.java | 53 ++++++++++++ .../ServerApplicationConfiguration.java | 32 ++++++++ .../custom/server/ServerMessageCracker.java | 72 ++++++++++++++++ .../src/main/resources/application.yml | 70 ++++++++++++++++ .../custom/client/ClientMessageCracker.java | 2 +- .../custom/server/ServerMessageCracker.java | 2 +- 18 files changed, 599 insertions(+), 13 deletions(-) create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/pom.xml create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-client/src/main/resources/application.yml create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/pom.xml create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java create mode 100644 orchestra/fix50sp2/using-fix50sp2-server/src/main/resources/application.yml diff --git a/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java index 62106b1..359ab63 100644 --- a/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java +++ b/legacy-codegen/using-legacy-codegen-client/src/main/java/org/quickfixj/examples/legacy/custom/client/ClientMessageCracker.java @@ -19,8 +19,8 @@ public void onMessage(ExecutionReport executionReport, SessionID sessionID) Instrument instrumentComponent = executionReport.getInstrument(); // invariant log.info("Received ExecutionReport from sender [{}]:: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", executionReport.getHeader().getString(SenderCompID.FIELD), - instrumentComponent.getSymbol().getValue(), executionReport.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), executionReport.getSide().getValue(), executionReport.getTransactTime().getValue(), executionReport.getOrdType().getValue(), diff --git a/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java index 933f4e7..a15e4a0 100644 --- a/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java +++ b/legacy-codegen/using-legacy-codegen-server/src/main/java/org/quickfixj/examples/legacy/custom/server/ServerMessageCracker.java @@ -22,8 +22,8 @@ public void onMessage(NewOrderSingle newOrderSingle, SessionID sessionID) Instrument instrumentComponent = newOrderSingle.getInstrument(); // invariant log.info("Received NewOrderSingle from sender [{}]: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", newOrderSingle.getHeader().getString(SenderCompID.FIELD), - instrumentComponent.getSymbol().getValue(), newOrderSingle.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), newOrderSingle.getSide().getValue(), newOrderSingle.getTransactTime().getValue(), newOrderSingle.getOrdType().getValue(), diff --git a/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml b/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml index 0e54325..10d99b7 100755 --- a/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml +++ b/orchestra/fix50sp2/fix50sp2-application-messages/pom.xml @@ -3,14 +3,14 @@ org.quickfixj.custom.examples - orchestra-fixlatest-parent + orchestra-fix50sp2-parent 0.0.1-SNAPSHOT fix50sp2-application-messages jar - QuickFIX/J custom application messages + QuickFIX/J fix50sp2 custom application messages Example build of custom FIX application messages http://www.quickfixj.org @@ -64,7 +64,7 @@ codeGeneration - fixLatest + fixOrchestraCodeGen @@ -83,7 +83,7 @@ dictionaryGeneration - fixLatest + fixDictionary @@ -133,7 +133,7 @@ maven-resources-plugin - copy-fixlatest-xml + copy-fix-dictionary-xml generate-resources copy-resources @@ -144,7 +144,7 @@ ${project.build.directory}/generated-resources - FIXLatest.xml + FIX50SP2.xml diff --git a/orchestra/fix50sp2/pom.xml b/orchestra/fix50sp2/pom.xml index 881d50d..169df6f 100755 --- a/orchestra/fix50sp2/pom.xml +++ b/orchestra/fix50sp2/pom.xml @@ -7,7 +7,7 @@ 0.0.1-SNAPSHOT - custom-applications-orchestra-fix50sp2-parent + orchestra-fix50sp2-parent pom @@ -15,7 +15,7 @@ fix50sp2-application-messages - - + using-fix50sp2-server + using-fix50sp2-client \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-client/pom.xml b/orchestra/fix50sp2/using-fix50sp2-client/pom.xml new file mode 100644 index 0000000..422c085 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/pom.xml @@ -0,0 +1,66 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestra-fix50sp2-parent + 0.0.1-SNAPSHOT + + + using-fix50sp2-client + jar + + + + io.allune + quickfixj-spring-boot-starter + + + io.allune + quickfixj-spring-boot-actuator + + + org.springframework.boot + spring-boot-starter-web + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-simple + + + org.quickfixj + quickfixj-core + + + org.quickfixj + quickfixj-messages-fixt11 + + + org.quickfixj.custom.examples + fix50sp2-application-messages + 0.0.1-SNAPSHOT + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java new file mode 100644 index 0000000..2fd079f --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplication.java @@ -0,0 +1,11 @@ +package org.quickfixj.examples.fixlatest.custom.client; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ClientApplication { + public static void main(String[] args) throws InterruptedException { + SpringApplication.run(ClientApplication.class, args); + } +} \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java new file mode 100644 index 0000000..a436185 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationAdapter.java @@ -0,0 +1,82 @@ +package org.quickfixj.examples.fixlatest.custom.client; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import quickfix.*; +import quickfix.field.*; +import quickfix.fix50sp2.MessageCracker; +import quickfix.fix50sp2.NewOrderSingle; +import quickfix.fix50sp2.component.Instrument; +import quickfix.fix50sp2.component.OrderQtyData; + +import java.time.LocalDateTime; +import java.util.UUID; + +public class ClientApplicationAdapter implements Application { + + private final MessageCracker messageCracker; + private final Logger log = LoggerFactory.getLogger(ClientApplicationAdapter.class); + + public ClientApplicationAdapter(MessageCracker messageCracker) { + this.messageCracker = messageCracker; + } + + @Override + public void onLogon(SessionID sessionID) { + log.info("logged on [{}] - [{}]", sessionID.getSenderCompID(), sessionID.getTargetCompID()); + try { + Session.sendToTarget(newOrderSingle(),sessionID); + } catch (SessionNotFound e) { + log.error("SessionNot Found", e); + } + } + + @Override + public void onLogout(SessionID sessionID) { + log.info("logged out [{}] - [{}]", sessionID.getSenderCompID(), sessionID.getTargetCompID()); + } + + @Override + public void fromAdmin(Message message, SessionID sessionId) { + log.info("fromAdmin: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void onCreate(SessionID sessionId) { + log.info("onCreate: SessionId={}", sessionId); + } + + @Override + public void toAdmin(Message message, SessionID sessionId) { + log.info("toAdmin: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void toApp(Message message, SessionID sessionId) { + log.info("toApp: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void fromApp(Message message, SessionID sessionID) + throws FieldNotFound, IncorrectTagValue, UnsupportedMessageType { + this.messageCracker.crack(message, sessionID); + } + + private static NewOrderSingle newOrderSingle() { + NewOrderSingle newOrderSingle = new NewOrderSingle(); + newOrderSingle.set(new ClOrdID(UUID.randomUUID().toString())); + newOrderSingle.set(new OrdType(OrdType.LIMIT)); + newOrderSingle.set(new Price(99.09d)); + newOrderSingle.set(new Side(Side.BUY)); + newOrderSingle.set(new TransactTime(LocalDateTime.now())); + Instrument instrument = new Instrument(); + instrument.set(new Symbol("EX.AMPLE")); + instrument.set(new SecurityIDSource(SecurityIDSource.EXAMPLE_CUSTOM_SECURITY_ID_SOURCE)); + instrument.set(new SecurityID("202491685")); + newOrderSingle.set(instrument); + OrderQtyData orderQtyData = new OrderQtyData(); + orderQtyData.set(new OrderQty(1.0d)); + newOrderSingle.set(orderQtyData); + return newOrderSingle; + } +} \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java new file mode 100644 index 0000000..8966b39 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientApplicationConfiguration.java @@ -0,0 +1,31 @@ +package org.quickfixj.examples.fixlatest.custom.client; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import quickfix.*; +import quickfix.fix50sp2.MessageCracker; + +@Configuration +public class ClientApplicationConfiguration { + + @Bean + MessageCracker messageCracker() { + return new ClientMessageCracker(); + } + + @Bean + Application application(MessageCracker messageCracker) { + return new ClientApplicationAdapter(messageCracker); + } + + @Bean + Initiator clientInitiator( + Application clientApplication, + MessageStoreFactory clientMessageStoreFactory, + SessionSettings clientSessionSettings, + LogFactory clientLogFactory, + MessageFactory clientMessageFactory) throws ConfigError { + return new ThreadedSocketInitiator(clientApplication, clientMessageStoreFactory, clientSessionSettings, + clientLogFactory, clientMessageFactory); + } +} diff --git a/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java new file mode 100644 index 0000000..bb5c488 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java @@ -0,0 +1,39 @@ +package org.quickfixj.examples.fixlatest.custom.client; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import quickfix.*; +import quickfix.field.*; +import quickfix.fix50sp2.BusinessMessageReject; +import quickfix.fix50sp2.ExecutionReport; +import quickfix.fix50sp2.MessageCracker; +import quickfix.fix50sp2.component.Instrument; + +public class ClientMessageCracker extends MessageCracker { + private final Logger log = LoggerFactory.getLogger(ClientMessageCracker.class); + + @Override + public void onMessage(ExecutionReport executionReport, SessionID sessionID) + throws FieldNotFound { + Instrument instrumentComponent = executionReport.getInstrumentComponent(); // invariant + log.info("Received ExecutionReport from sender [{}]:: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", + executionReport.getHeader().getString(SenderCompID.FIELD), + executionReport.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), + executionReport.getSide().getValue(), + executionReport.getTransactTime().getValue(), + executionReport.getOrdType().getValue(), + instrumentComponent.isSetSecurityIDSource() ? instrumentComponent.getSecurityIDSource().getValue() : "", + instrumentComponent.isSetSecurityID() ? instrumentComponent.getSecurityID().getValue() : ""); + } + + @Override + public void onMessage(BusinessMessageReject businessMessageReject, SessionID sessionID) + throws FieldNotFound { + log.error("Received Business Message Reject from sender [{}]: refMsgType {}, businessRejectReason{}, Text {}", + sessionID.getSenderCompID(), + businessMessageReject.getRefMsgType().getValue(), + businessMessageReject.getBusinessRejectReason().getValue(), + businessMessageReject.isSetText() ? businessMessageReject.getText().getValue() : ""); + } +} \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-client/src/main/resources/application.yml b/orchestra/fix50sp2/using-fix50sp2-client/src/main/resources/application.yml new file mode 100644 index 0000000..54fe017 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-client/src/main/resources/application.yml @@ -0,0 +1,53 @@ +spring: + main: + allow-bean-definition-overriding: true + +server: + port: 8084 + +management: + endpoint: + health: + show-details: always + quickfixjclient: + enabled: true + endpoints: + web: + exposure: + include: quickfixjclient,health + +app: + session: + sender-comp-id: INITIATOR + +quickfixj: + client: + enabled: true + configString: | + [default] + BeginString=FIXT.1.1 + DefaultApplVerID=FIX.5.0SP2 + UseDataDictionary=Y + TransportDataDictionary=FIXT11.xml + AppDataDictionary.FIX.5.0SP2=FIX50SP2.xml + ConnectionType=initiator + TimeZone=Europe/London + StartTime=00:00:00 + EndTime=00:00:00 + ResetOnLogon=Y + ResetOnLogout=Y + ResetOnDisconnect=Y + ValidateUnorderedFields=Y + ValidateUserDefinedFields=Y + CheckLatency=Y + HeartBtInt=30 + PersistMessages=N + SocketConnectHost=localhost + SenderCompID=${app.session.sender-comp-id} + + #SSL + SocketUseSSL=N + + [session] + TargetCompID=ACCEPTOR + SocketConnectPort=9882 diff --git a/orchestra/fix50sp2/using-fix50sp2-server/pom.xml b/orchestra/fix50sp2/using-fix50sp2-server/pom.xml new file mode 100644 index 0000000..8e2d31f --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/pom.xml @@ -0,0 +1,66 @@ + + 4.0.0 + + + org.quickfixj.custom.examples + orchestra-fix50sp2-parent + 0.0.1-SNAPSHOT + + + using-fix50sp2-server + jar + + + + io.allune + quickfixj-spring-boot-starter + + + io.allune + quickfixj-spring-boot-actuator + + + org.springframework.boot + spring-boot-starter-web + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-simple + + + org.quickfixj + quickfixj-core + + + org.quickfixj + quickfixj-messages-fixt11 + + + org.quickfixj.custom.examples + fix50sp2-application-messages + 0.0.1-SNAPSHOT + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java new file mode 100644 index 0000000..f1439d8 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplication.java @@ -0,0 +1,11 @@ +package org.quickfixj.examples.fixlatest.custom.server; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ServerApplication { + public static void main(String[] args) throws InterruptedException { + SpringApplication.run(ServerApplication.class, args); + } +} diff --git a/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java new file mode 100644 index 0000000..7fc5f07 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationAdapter.java @@ -0,0 +1,53 @@ +package org.quickfixj.examples.fixlatest.custom.server; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import quickfix.*; +import quickfix.fix50sp2.MessageCracker; + + +public class ServerApplicationAdapter extends ApplicationAdapter { + + private final MessageCracker messageCracker; + private final Logger log = LoggerFactory.getLogger(ServerApplicationAdapter.class); + + public ServerApplicationAdapter(MessageCracker messageCracker) { + this.messageCracker = messageCracker; + } + + @Override + public void onLogon(SessionID sessionID) { + log.info("logged on [{}] - [{}]", sessionID.getSenderCompID(), sessionID.getTargetCompID()); + } + + @Override + public void onLogout(SessionID sessionID) { + log.info("logged out [{}] - [{}]", sessionID.getSenderCompID(), sessionID.getTargetCompID()); + } + + @Override + public void fromAdmin(Message message, SessionID sessionId) { + log.info("fromAdmin: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void onCreate(SessionID sessionId) { + log.info("onCreate: SessionId={}", sessionId); + } + + @Override + public void toAdmin(Message message, SessionID sessionId) { + log.info("toAdmin: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void toApp(Message message, SessionID sessionId) { + log.info("toApp: Message={}, SessionId={}", message, sessionId); + } + + @Override + public void fromApp(Message message, SessionID sessionID) + throws FieldNotFound, IncorrectTagValue, UnsupportedMessageType { + this.messageCracker.crack(message, sessionID); + } +} \ No newline at end of file diff --git a/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java new file mode 100644 index 0000000..476ebe7 --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerApplicationConfiguration.java @@ -0,0 +1,32 @@ +package org.quickfixj.examples.fixlatest.custom.server; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import quickfix.*; +import quickfix.fix50sp2.MessageCracker; + +@Configuration +public class ServerApplicationConfiguration { + @Bean + MessageCracker messageCracker() { + return new ServerMessageCracker(); + } + + @Bean + Application application(MessageCracker messageCracker) { + return new ServerApplicationAdapter(messageCracker); + } + + @Bean + Acceptor acceptor(Application application, + MessageStoreFactory messageStoreFactory, + SessionSettings sessionSettings, + LogFactory logFactory, + MessageFactory messageFactory) throws ConfigError { + return new ThreadedSocketAcceptor(application, + messageStoreFactory, + sessionSettings, + logFactory, + messageFactory); + } +} diff --git a/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java new file mode 100644 index 0000000..26a836e --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java @@ -0,0 +1,72 @@ +package org.quickfixj.examples.fixlatest.custom.server; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import quickfix.*; +import quickfix.field.*; +import quickfix.fix50sp2.BusinessMessageReject; +import quickfix.fix50sp2.ExecutionReport; +import quickfix.fix50sp2.MessageCracker; +import quickfix.fix50sp2.NewOrderSingle; +import quickfix.fix50sp2.component.Instrument; + +import java.time.LocalDateTime; +import java.util.UUID; + +public class ServerMessageCracker extends MessageCracker { + private final Logger log = LoggerFactory.getLogger(ServerMessageCracker.class); + + @Override + public void onMessage(NewOrderSingle newOrderSingle, SessionID sessionID) + throws FieldNotFound { + Instrument instrumentComponent = newOrderSingle.getInstrumentComponent(); // invariant + log.info("Received NewOrderSingle from sender [{}]: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", + newOrderSingle.getHeader().getString(SenderCompID.FIELD), + newOrderSingle.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), + newOrderSingle.getSide().getValue(), + newOrderSingle.getTransactTime().getValue(), + newOrderSingle.getOrdType().getValue(), + instrumentComponent.isSetSecurityIDSource() ? instrumentComponent.getSecurityIDSource().getValue() : "", + instrumentComponent.isSetSecurityID() ? instrumentComponent.getSecurityID().getValue() : ""); + try { + Session.sendToTarget(executionReport(newOrderSingle),sessionID); + } catch (SessionNotFound e) { + log.error("SessionNot Found", e); + } + } + + @Override + public void onMessage(BusinessMessageReject businessMessageReject, SessionID sessionID) + throws FieldNotFound { + log.error("Received Business Message Reject from sender [{}]: refMsgType {}, businessRejectReason{}, Text {}", + sessionID.getSenderCompID(), + businessMessageReject.getRefMsgType().getValue(), + businessMessageReject.getBusinessRejectReason().getValue(), + businessMessageReject.isSetText() ? businessMessageReject.getText().getValue() : ""); + } + + private static ExecutionReport executionReport(NewOrderSingle newOrderSingle) throws FieldNotFound { + ExecutionReport executionReport = new ExecutionReport(); + executionReport.set(newOrderSingle.getClOrdID()); + executionReport.set(newOrderSingle.getSide()); + executionReport.set(newOrderSingle.getOrdType()); + executionReport.set(new TransactTime(LocalDateTime.now())); + executionReport.set(new OrderID(UUID.randomUUID().toString())); + executionReport.set(new ExecID(UUID.randomUUID().toString())); + executionReport.set(new ExecType(ExecType.TRADE)); + executionReport.set(new OrdStatus(OrdStatus.FILLED)); + executionReport.set(newOrderSingle.getInstrumentComponent()); + executionReport.set(new LeavesQty(0)); + executionReport.set(new CumQty(newOrderSingle.getOrderQtyDataComponent().getOrderQty().getValue())); + executionReport.set(new LastQty(newOrderSingle.getOrderQtyDataComponent().getOrderQty().getValue())); + if (newOrderSingle.isSetPrice()) { + Price px = newOrderSingle.getPrice(); + executionReport.set(px); + executionReport.set(new LastPx(px.getValue())); + } else { + executionReport.set(new LastPx(1.0d)); + } + return executionReport; + } +} diff --git a/orchestra/fix50sp2/using-fix50sp2-server/src/main/resources/application.yml b/orchestra/fix50sp2/using-fix50sp2-server/src/main/resources/application.yml new file mode 100644 index 0000000..dc6325f --- /dev/null +++ b/orchestra/fix50sp2/using-fix50sp2-server/src/main/resources/application.yml @@ -0,0 +1,70 @@ +spring: + main: + allow-bean-definition-overriding: true + +server: + port: 8085 + +management: + endpoint: + health: + show-details: always + quickfixjserver: + enabled: true + health: + quickfixjserver: + enabled: true + endpoints: + web: + exposure: + include: quickfixjserver,health + +logging: + group: + fix: quickfix.ThreadedSocketAcceptor, quickfixj.msg.incoming, quickfixj.msg,outgoing + examples: org.quickfixj.examples + +app: + session: + sender-comp-id: ACCEPTOR + socket-accept-port: 9882 + +quickfixj: + server: + enabled: true + auto-startup: true + force-disconnect: false + phase: 0 + jmx-enabled: true + concurrent: + enabled: true + useDefaultExecutorFactory: true + message-store-factory: memory + log-factory: slf4j + configString: | + [default] + BeginString=FIXT.1.1 + DefaultApplVerID=FIX.5.0SP2 + UseDataDictionary=Y + TransportDataDictionary=FIXT11.xml + AppDataDictionary.FIX.5.0SP2=FIX50SP2.xml + ConnectionType=acceptor + TimeZone=Europe/London + StartTime=00:00:00 + EndTime=00:00:00 + ResetOnLogon=Y + ResetOnLogout=Y + ResetOnDisconnect=Y + ValidateUnorderedFields=Y + ValidateUserDefinedFields=Y + CheckLatency=Y + HeartBtInt=30 + PersistMessages=N + SenderCompID=${app.session.sender-comp-id} + SocketAcceptPort=${app.session.socket-accept-port} + + #SSL + SocketUseSSL=N + + [session] + TargetCompID=INITIATOR diff --git a/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java index dda6509..faae4c6 100644 --- a/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java +++ b/orchestra/fixlatest/using-fixlatest-client/src/main/java/org/quickfixj/examples/fixlatest/custom/client/ClientMessageCracker.java @@ -18,8 +18,8 @@ public void onMessage(ExecutionReport executionReport, SessionID sessionID) Instrument instrumentComponent = executionReport.getInstrumentComponent(); // invariant log.info("Received ExecutionReport from sender [{}]:: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", executionReport.getHeader().getString(SenderCompID.FIELD), - instrumentComponent.getSymbol().getValue(), executionReport.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), executionReport.getSide().getValue(), executionReport.getTransactTime().getValue(), executionReport.getOrdType().getValue(), diff --git a/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java index 9b6861b..8483748 100644 --- a/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java +++ b/orchestra/fixlatest/using-fixlatest-server/src/main/java/org/quickfixj/examples/fixlatest/custom/server/ServerMessageCracker.java @@ -22,8 +22,8 @@ public void onMessage(NewOrderSingle newOrderSingle, SessionID sessionID) Instrument instrumentComponent = newOrderSingle.getInstrumentComponent(); // invariant log.info("Received NewOrderSingle from sender [{}]: clOrdID {}, symbol {}, side {}, transactTime {}, ordType {}, securityIDSource {}, securityID {}", newOrderSingle.getHeader().getString(SenderCompID.FIELD), - instrumentComponent.getSymbol().getValue(), newOrderSingle.getClOrdID().getValue(), + instrumentComponent.getSymbol().getValue(), newOrderSingle.getSide().getValue(), newOrderSingle.getTransactTime().getValue(), newOrderSingle.getOrdType().getValue(), From 0757aed8604b26f75e33cbf4520064e61460c004 Mon Sep 17 00:00:00 2001 From: david-gibbs-ig Date: Sun, 3 Nov 2024 01:11:12 +0100 Subject: [PATCH 3/3] remove .iml files --- .../using-legacy-codegen-client.iml | 11 ----------- .../using-legacy-codegen-server.iml | 11 ----------- .../using-fixlatest-client/using-fixlatest-client.iml | 11 ----------- .../using-fixlatest-server/using-fixlatest-server.iml | 11 ----------- quickfixj-custom-orchestration-examples-parent.iml | 8 -------- 5 files changed, 52 deletions(-) delete mode 100755 legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml delete mode 100755 legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml delete mode 100755 orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml delete mode 100755 orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml delete mode 100644 quickfixj-custom-orchestration-examples-parent.iml diff --git a/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml b/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml deleted file mode 100755 index a90d545..0000000 --- a/legacy-codegen/using-legacy-codegen-client/using-legacy-codegen-client.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml b/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml deleted file mode 100755 index a90d545..0000000 --- a/legacy-codegen/using-legacy-codegen-server/using-legacy-codegen-server.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml b/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml deleted file mode 100755 index a90d545..0000000 --- a/orchestra/fixlatest/using-fixlatest-client/using-fixlatest-client.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml b/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml deleted file mode 100755 index a90d545..0000000 --- a/orchestra/fixlatest/using-fixlatest-server/using-fixlatest-server.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/quickfixj-custom-orchestration-examples-parent.iml b/quickfixj-custom-orchestration-examples-parent.iml deleted file mode 100644 index e8ce722..0000000 --- a/quickfixj-custom-orchestration-examples-parent.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file