Creating custom order modifiers and custom FIX data dictionary

5 messages Options
Embed this post
Permalink
toli

Creating custom order modifiers and custom FIX data dictionary

Reply Threaded More More options
Print post
Permalink
Hello,

We have recently received 2 very interesting questions that I wanted
to share with everybody else.

One was on how to extend Marketcetera to automatically add copies of
certain fields to all outgoing messages. Marketcetera OMS handles this
by allowing you to specify a list of order modifiers that are applied
to the outgoing messages before they are sent out. I've written up a
short tutorial on how to create a custom order modifier and add it to
the system: http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/CustomOrderModifiers

I have also filed a feature request to bundle an order modifier that
copies a value of one field to another.

The second question had to do with how to handle brokers that send
messages that have slight variation from the FIX spec. Again, this is
very simple in Marketcetera since the underlying Quickfix/J
communication layer allows you to specify a custom FIX dictionary for
message validation.
You can see the the writeup at
http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/SpecifyCustomDataDictionary.

They have both been added to the FAQ at
http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/UserFAQ

Just thought these could be useful. If you have any other questions or
use cases, let me know and i'd be happy to write these up as well.

--
Toli Kuznets
http://www.marketcetera.com: Open-Source Trading Platform
download.run.trade.
_______________________________________________
m-etc-users mailing list
[hidden email]
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users
omsmaster

Re: Creating custom order modifiers and custom FIX data dictionary

Reply Threaded More More options
Print post
Permalink
An a similar note about automatically add copies of certain fields to all outgoing messages....

If it is possible through the OMS to connec to multiple brokers, and through Photon send orders out to the different brokers, is it possible to specifcy custom fields based on the:
1) broker
2) trader

For example, I am trading with Broker A and Broker B. Broker A wants tag1 = ACCOUNTA , and Broker B wants tag1 = ACCOUNTB

And to go even further, I am Hedge Fund X, I have trader1 and trader2 who both send orders to Broker A and Broker B.

Broker A wants for trader1, 1=ACCOUNT1A.  For trader2, 1=ACCOUNT2A.  
Broker B wants for trader2, 1=ACCOUNT1B.  For trader2, 1=ACCOUNT2B

Don't want to have traders pick off values for fields like that, unless of course they want to.

I think I am assuming some functionality in the Photon/Marketcetera platform that may not exist yet? At least from the other posts I see. Such as the ability to have multiple users/traders running Photon on their PC and connect to the same OMS running? And the ability to connect to more then one broker from one instance of the OMS and be able to route to them somehow?







toli wrote:
Hello,

We have recently received 2 very interesting questions that I wanted
to share with everybody else.

One was on how to extend Marketcetera to automatically add copies of
certain fields to all outgoing messages. Marketcetera OMS handles this
by allowing you to specify a list of order modifiers that are applied
to the outgoing messages before they are sent out. I've written up a
short tutorial on how to create a custom order modifier and add it to
the system: http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/CustomOrderModifiers

I have also filed a feature request to bundle an order modifier that
copies a value of one field to another.

The second question had to do with how to handle brokers that send
messages that have slight variation from the FIX spec. Again, this is
very simple in Marketcetera since the underlying Quickfix/J
communication layer allows you to specify a custom FIX dictionary for
message validation.
You can see the the writeup at
http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/SpecifyCustomDataDictionary.

They have both been added to the FAQ at
http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/UserFAQ

Just thought these could be useful. If you have any other questions or
use cases, let me know and i'd be happy to write these up as well.

--
Toli Kuznets
http://www.marketcetera.com: Open-Source Trading Platform
download.run.trade.
_______________________________________________
m-etc-users mailing list
m-etc-users@lists.marketcetera.org
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users
toli

Re: Creating custom order modifiers and custom FIX data dictionary

Reply Threaded More More options
Print post
Permalink
Let me answer each one of these separately:


> If it is possible through the OMS to connec to multiple brokers, and through
> Photon send orders out to the different brokers, is it possible to specifcy

currently not - see http://trac.marketcetera.org/trac.fcgi/ticket/369.

> Photon send orders out to the different brokers, is it possible to specifcy
> custom fields based on the:
> 1) broker
> 2) trader

If you write a custom order modifier, you can definitely insert custom
fields based on both.
from your example, you can have 1 OMS for each trader, and then you
can have a custom modifier for each one (or same modifier, but
different values going to it in config file).


> I think I am assuming some functionality in the Photon/Marketcetera platform
> that may not exist yet? At least from the other posts I see. Such as the
> ability to have multiple users/traders running Photon on their PC and
> connect to the same OMS running? And the ability to connect to more then one
> broker from one instance of the OMS and be able to route to them somehow?

you can definitely have multiple instances of Photon connecting to
same OMS right now.
As i mentioned above, the OMS can only connect to a single FIX
destination right now, so you'll need to run separate OMSs to connect
to different brokers.

let me know if you have a specific architecture/configuration
question, and i can see if there's something we can do to make it work
before the RFE is implemented.

toli
_______________________________________________
m-etc-users mailing list
[hidden email]
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users
omsmaster

Re: Creating custom order modifiers and custom FIX data dictionary

Reply Threaded More More options
Print post
Permalink
 
Your responsiveness is awesome! Getting back to me on a Sunday!


Right so yourTicket #369, is actually what am I looking for but is also a
little "smarter" then what I am looking to do. I just want to give the
trader text field or a drop down menu or radio buttons, some kind of form
item to select from a list of brokers, and have it get routed out over the
proper fix connection.

So if I am running multiple OMS instances ( one for each broker), then
Photon ( or my custom front-end, since it does not seem like Photon can
connect to multiple OMS instances? )  would need to be connected to multiple
OMS's. Which does not seem like an awful way to go, but not probably not
ideal.  But then if I need to also customize certain tags for individual
traders to those same brokers I would end up with a lot of OMS instances
running.

I guess I am looking for a few things:

1) ways to send certain FIX tag values based upon:

a) Institution ( i.e. Hedge Fund or other Institutional trading)
b) Trader/User at that Institution

Without having the traders actually setting them on every order

2) Easily support multiple traders from one institution going to multiple
brokers

3) Multi-Broker support.

For example SENDERCOMPID has to be the same for everybody at Hedge Fund X
when sending to Broker A, but that is set on the actual FIX connection
level, but then I need to set TARGETSUBID=CCC for everybody at hedge fund x,
but trader a needs ACCOUNT=A, and trader B needs ACCOUNT=B.  Maybe Broker B
wants SENDERSUBID=BILL, for trader Bill, but for trader Steve they want
ACCOUNT=STEVE.   Now add in 4 more brokers with similar types of conditions.
Basically any trader at any institution needs to be able to set certain FIX
tags.  I am running a lot of OMS instances and lots of Photons for each
trader. And more importantly, don't wan

Not trying to beat a dead horse about this...  From what I have been reading
it seems like this is the direction Photon/OMS are heading, I am just not
patient! :-)

Not sure if I am explaining it well enough here, maybe I need to make a
diagram?



 

-----Original Message-----
From: Toli Kuznets [mailto:[hidden email]]
Sent: Sunday, August 19, 2007 8:02 PM
To: omsmaster
Cc: [hidden email]
Subject: Re: [m-etc-users] Creating custom order modifiers and custom FIX
data dictionary

Let me answer each one of these separately:


> If it is possible through the OMS to connec to multiple brokers, and
> through Photon send orders out to the different brokers, is it
> possible to specifcy

currently not - see http://trac.marketcetera.org/trac.fcgi/ticket/369.

> Photon send orders out to the different brokers, is it possible to
> specifcy custom fields based on the:
> 1) broker
> 2) trader

If you write a custom order modifier, you can definitely insert custom
fields based on both.
from your example, you can have 1 OMS for each trader, and then you can have
a custom modifier for each one (or same modifier, but different values going
to it in config file).


> I think I am assuming some functionality in the Photon/Marketcetera
> platform that may not exist yet? At least from the other posts I see.
> Such as the ability to have multiple users/traders running Photon on
> their PC and connect to the same OMS running? And the ability to
> connect to more then one broker from one instance of the OMS and be able
to route to them somehow?

you can definitely have multiple instances of Photon connecting to same OMS
right now.
As i mentioned above, the OMS can only connect to a single FIX destination
right now, so you'll need to run separate OMSs to connect to different
brokers.

let me know if you have a specific architecture/configuration question, and
i can see if there's something we can do to make it work before the RFE is
implemented.

toli

_______________________________________________
m-etc-users mailing list
[hidden email]
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users
toli

Re: Creating custom order modifiers and custom FIX data dictionary

Reply Threaded More More options
Print post
Permalink
Hello,


> Right so yourTicket #369, is actually what am I looking for but is also a
> little "smarter" then what I am looking to do. I just want to give the
> trader text field or a drop down menu or radio buttons, some kind of form
> item to select from a list of brokers, and have it get routed out over the
> proper fix connection.

Good point. We'll obviously provide both. We'll need to spend some
time prototyping the UI to make sure the broker connection is very
well visible, to avoid accidentally sending orders to the wrong
broker, for example.

I've filed additional RFEs
(http://trac.marketcetera.org/trac.fcgi/ticket/373 and
http://trac.marketcetera.org/trac.fcgi/ticket/374) to specifically
track the OMS and Photon parts of connecting to multiple brokers.

> So if I am running multiple OMS instances ( one for each broker), then
> Photon ( or my custom front-end, since it does not seem like Photon can
> connect to multiple OMS instances? )  would need to be connected to multiple
> OMS's. Which does not seem like an awful way to go, but not probably not
> ideal.  But then if I need to also customize certain tags for individual
> traders to those same brokers I would end up with a lot of OMS instances
> running.

You are right - the workaround of running multiple OMSs quickly
becomes unmanageable once you have to maintain custom FIX dictionary
files, order modifiers, multiple Photon instances, etc.

Making multiple broker connections easy and straightforward to use is
definitely on our roadmap. We just wanted to make sure we had the
basic functionality covered before we started implemented more complex
scenarios.

toli
_______________________________________________
m-etc-users mailing list
[hidden email]
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users