FIXML Extentions

Imported from previous forum

[ original email was from James Downs - jdowns@xcaliber.com ]
I am looking to extend the FIXML DTD to include the ability to create a report of positions by account by Instrument. I could create a Custom ApplicationMessage by defining the <Custom> element. What I keep running up against is that I can’t see a way to extend the Instrument DTD. This is where I would like to include an element to indicate the size of the position in an instrument.
I have had success in extending various ApplicationMessages and created valid XML documents from the extended DTD.
Has anyone tried to extend the DTD? If so, any direction would be appreciated.
Thanks,
Jim

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> I am looking to extend the FIXML DTD to include the ability to create a report of positions by account by Instrument. I could create a Custom ApplicationMessage by defining the <Custom> element. What I keep running up against is that I can’t see a way to extend the Instrument DTD. This is where I would like to include an element to indicate the size of the position in an instrument.

Are you talking about extending the Instrument element itself to include a position?

If so, why should an Instrument have a position associated with it? That same Instrument is used in numerous other FIX messages (orders, quotes IOIs, etc.) where position is irrelevant.

I’d like to suggest a different approach. Create a data type called, say, PositionEntry, which contains one Instrument and one position quantity. Then a Position can contain an Account and PositionEntries.

Let me illustrate this using [] instead of angle brackets so the web site doesn’t think I’m trying to input HTML:

[Position]
[Account]FOO[/Account]
[PositionEntry]
[Instrument]
[Security]
[Symbol]IBM[/Symbol]
[/Security]
[/Instrument]
[PositionQty]-2000[/PositionQty]
[/PositionEntry]
[PositionEntry]
[Instrument]
[Security]
[Symbol]CSCO[/Symbol]
[/Security]
[/Instrument]
[PositionQty]5000[/PositionQty]
[/PositionEntry]
[/Position]

You might also want to investigate other protocols such as OFX which might serve this need better. FIX historically has been a Business to Business protocol. FIX has never really addressed retail concepts such as positions, account balances, and buying power. OFX was built for retail banking and investment and includes these functions, however it seems pretty locked into an HTTP request/response architecture.