Giter Site home page Giter Site logo

Comments (10)

donmendelson avatar donmendelson commented on July 26, 2024 1

An alternative would be to have two concepts in FIX 4.4 named PartialFill and Fill that happen to have the same encoding 150=F (Trade). The downside of this approach is that it requires planning across FIX versions to arrive at the concepts.

I am currently going through that exercise guided by FIX 4.4 Appendix 6-F "Replaced Features and Supported Approach". I will add the concepts to fix-vocabulary.

from fix-orchestra.

donmendelson avatar donmendelson commented on July 26, 2024 1

It is inevitable that a concept name will have multiple meanings in different contexts. For example, in the current FIX vocabulary, "Investor ID" has two definitions, one for CIV and another for equities. @philipwhiuk, I agree that lookup should not be ambiguous, but either names have to altered to make them unique, or they need to be qualified by context. That would be analogous to using "scenario" as a qualifier for multiple definitions of the same MsgType.

from fix-orchestra.

philipwhiuk avatar philipwhiuk commented on July 26, 2024

How would the tool then decide which value to use when sending to a FIX.4.2 session in this scenario? You're adding the ambiguity back in which has to be resolved somewhere.

from fix-orchestra.

philipwhiuk avatar philipwhiuk commented on July 26, 2024

It's worth trying to avoid non-unique concept names as much as possible - qualifying is probably better - but yeah if it's either unavoidable or trivially obvious which is right it's probably okay :)

from fix-orchestra.

kleihan avatar kleihan commented on July 26, 2024

The concept(s) do(es) not need to change with the FIX version. They may be represented differently by legacy FIX version compared to FIX legacy. The top concept here is that of an execution or trade (FIX does not really make a clear distinction, i.e. it was called executions until FIX 4.3 came along with the TradeCaptureReport. Then it became blurry). There are two sub-concepts of an execution if you will, i.e. a partial fill and a fill. FIX 4.2 represented these sub-concepts in different ways, i.e. two values of ExecType whereas FIX 4.4 decided to use only only value of ExecType for both, requiring OrdStatus to be included to distinguish the two concepts.

from fix-orchestra.

kleihan avatar kleihan commented on July 26, 2024

Sorry, "...by legacy FIX version compared to FIX Latest."

from fix-orchestra.

kleihan avatar kleihan commented on July 26, 2024

What is the difference between a CIV investor and an equities investor from a conceptual point of view? I only see one entry for "Investor ID" in the vocabulary which is too limiting by the way (only allows numeric entries, i.e. clashes with data type of PartyID(448) and PartyRole(452)=5 (Investor ID)).

from fix-orchestra.

donmendelson avatar donmendelson commented on July 26, 2024

Let me illustrate with an example from another financial industry vocabulary: "Principal" can mean either a party role for proprietary trading, the amount of a loan, or the face value of a bond, depending on context. "Option" is another word that has multiple meanings.

FIBO vocabulary has more than one definition of some terms. They distinguish them by domain/subdomain and other properties.

from fix-orchestra.

kleihan avatar kleihan commented on July 26, 2024

@donmendelson agree about different meaning of terms. I would prefer if "concept" is not identical to a "term", allowing us to say that names of terms may be non-unique but names of concepts are unique. A concept would then be larger than a term. But I am not familiar enough with vocabularies such as FIBO to know whether such a distinction is a good idea.

from fix-orchestra.

donmendelson avatar donmendelson commented on July 26, 2024

Withdrawing this request. I am now persuaded that we should keep the current unique key constraint. If necessary, we can append a suffix to a name for uniqueness if it applies within a certain context such as asset class.

from fix-orchestra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.