Imported from previous forum
Hi All,
I am supposed to develop an OMS which supports Buy Side. I am new to the domain and don’t know where to start from.
I am looking for as many references(Free/Paid) possible which can help me answer some of the basic questions to start with. The questions are as follows.
- How are Buy Side and Sell Side trades different?
- What are the messages meant for Buy Side?
- What are the basic elements in a Buy Side Trade?
- What is the flow of a Buy Side Trade?
- What are the various paths of execution of each buy side trade?
I am sure there must be many in this forum who have already developed similar applications, I would be grateful if they can spare whatever information possible to help me with this task.
Best Regards,
Shardul Bhatt.
Shardul,
OMS systems can be quite complicated or simple depending on the requirements of the party using them. I’ll try to give you a respectable answer to your questions but they’ll probably sound awfully generic; most of these are specific to the particular system you’d be designing/building.
- How are Buy Side and Sell Side trades different?
A buy side is typically a person/party that actually has interest in the assets (asset managers) themselves. Typical buysides are retail investors (ie. a single person possibly trading 100 shares of stock), or institutional investors (ie. pension fund managers). Sell sides are typically “trade executors” and are not necessarily concerned with what you’re trading but how it gets traded. A sell side will try and get their buy-side counterparts the best prices at a market, perform other functions (clearing trades), etc.
In order to sell a security a buy-side sends a trade to the sell-side whom sends it to the market (the exchange). At least this in a traditional trading world.
- What are the messages meant for Buy Side?
Depends on what your buy-side is trading (equities/options/futures/fixed-income). Typically buy-sides issues orders, cancels and cancel-replace messages. They receive execution reports which give various pieces of information (ack, partially filled order, filled).
- What are the basic elements in a Buy Side Trade?
Assuming we’re talking equities/options trading:
A) the buy-side issues an order to “buy” 100 shares of a stock
B) the sell-side receives the order and sends it to an exchange
C) the exchange responds with a “filled” execution report indicating that 100 shares of stock are bought at X price.
- What is the flow of a Buy Side Trade?
I think I’ve covered the basics of this in 3.
- What are the various paths of execution of each buy side trade?
I am not quite sure what you mean here. A buy-side could potentially have multiple sell-sides to send trades to. Or a buy-side could be aggregating trades for multiple parties.
Hope this helps.
Best,
Adam Kravetz
Transacttools - NYC
http://transacttools.net
A quick followup. You can see a list of buy-sides, sell-sides and exchanges that use FIX here:
http://fixprotocol.org/adopters/
If you investigate the firms a little bit you can see the difference(s) more clearly between a traditional buy-side and sell-side bank.
Best,
Adam Kravetz
Transacttools - NYC
http://transacttools.net
Shardul,
OMS systems can be quite complicated or simple depending on the
requirements of the party using them. I’ll try to give you a respectable
answer to your questions but they’ll probably sound awfully generic;
most of these are specific to the particular system you’d be
designing/building.
- How are Buy Side and Sell Side trades different?
A buy side is typically a person/party that actually has interest in the
assets (asset managers) themselves. Typical buysides are retail
investors (ie. a single person possibly trading 100 shares of stock), or
institutional investors (ie. pension fund managers). Sell sides are
typically “trade executors” and are not necessarily concerned with what
you’re trading but how it gets traded. A sell side will try and get
their buy-side counterparts the best prices at a market, perform other
functions (clearing trades), etc.In order to sell a security a buy-side sends a trade to the sell-side
whom sends it to the market (the exchange). At least this in a
traditional trading world.
- What are the messages meant for Buy Side?
Depends on what your buy-side is trading (equities/options/futures/fixed-
income). Typically buy-sides issues orders, cancels and cancel-replace
messages. They receive execution reports which give various pieces of
information (ack, partially filled order, filled).
- What are the basic elements in a Buy Side Trade?
Assuming we’re talking equities/options trading:
A) the buy-side issues an order to “buy” 100 shares of a stock
B) the sell-side receives the order and sends it to an exchange
C) the exchange responds with a “filled” execution report indicating
that 100 shares of stock are bought at X price.
- What is the flow of a Buy Side Trade?
I think I’ve covered the basics of this in 3.
- What are the various paths of execution of each buy side trade?
I am not quite sure what you mean here. A buy-side could potentially
have multiple sell-sides to send trades to. Or a buy-side could be
aggregating trades for multiple parties.Hope this helps.
Best,
Adam Kravetz Transacttools - NYC http://transacttools.net
A quick followup. You can see a list of buy-sides, sell-sides and
exchanges that use FIX here:http://fixprotocol.org/adopters/
If you investigate the firms a little bit you can see the difference(s)
more clearly between a traditional buy-side and sell-side bank.Best,
Adam Kravetz Transacttools - NYC http://transacttools.net
Shardul,
OMS systems can be quite complicated or simple depending on the
requirements of the party using them. I’ll try to give you a
respectable answer to your questions but they’ll probably sound
awfully generic; most of these are specific to the particular system
you’d be designing/building.
- How are Buy Side and Sell Side trades different?
A buy side is typically a person/party that actually has interest in
the assets (asset managers) themselves. Typical buysides are retail
investors (ie. a single person possibly trading 100 shares of stock),
or institutional investors (ie. pension fund managers). Sell sides are
typically “trade executors” and are not necessarily concerned with
what you’re trading but how it gets traded. A sell side will try and
get their buy-side counterparts the best prices at a market, perform
other functions (clearing trades), etc.In order to sell a security a buy-side sends a trade to the sell-side
whom sends it to the market (the exchange). At least this in a
traditional trading world.
- What are the messages meant for Buy Side?
Depends on what your buy-side is trading (equities/options/futures/fixed-
income). Typically buy-sides issues orders, cancels and cancel-replace
messages. They receive execution reports which give various pieces of
information (ack, partially filled order, filled).
- What are the basic elements in a Buy Side Trade?
Assuming we’re talking equities/options trading:
A) the buy-side issues an order to “buy” 100 shares of a stock
B) the sell-side receives the order and sends it to an exchange
C) the exchange responds with a “filled” execution report indicating
that 100 shares of stock are bought at X price.
- What is the flow of a Buy Side Trade?
I think I’ve covered the basics of this in 3.
- What are the various paths of execution of each buy side trade?
I am not quite sure what you mean here. A buy-side could potentially
have multiple sell-sides to send trades to. Or a buy-side could be
aggregating trades for multiple parties.Hope this helps.
Best,
Adam Kravetz Transacttools - NYC http://transacttools.net
Adam, Thanks a lot for replying.
About the last question, I wanted to know various scenarios involved in a Trade.
The simplest being
–Send Order, Order Executed, receive Execution Report.
I think there must be execution flows like
–Send Order, Change certain parameters(Price, Qty) of the Order, Order Executed, receive Execution Report
I think there can be many.
Now, with some of the basics clear, I don’t know from where exactly to start developing the application. I mean, I don’t have Requirement Specifications.
I know the following (We assume Equity Orders for the time being).
- I am using QuickFix and know how various application level Fix Messages are generated. NewOrder-Single etc.
- QuickFix uses Mina for sending messages over the network. I think I can also use it to send generated messages to Tibco, JMS etc.
The demo application with QuickFix explains a lot.
Now, I am unable to visualise what more could a QMS have beyond this small application and I believe that is because I dont have enough domain knowledge. I know it is far more complex than it seems. I have not yet considered services like Persistence and Security.
Can you please provide me with any links over the Internet or names of books available on amazon.com which might be of help?
Do you think it is going to take tremendous effort to build the application without any domain knowledge?
Best Regards,
Shardul Bhatt.
Hi Shardul,
About the last question, I wanted to know various scenarios involved
in a Trade.The simplest being --Send Order, Order Executed, receive
Execution Report.I think there must be execution flows like --Send Order, Change
certain parameters(Price, Qty) of the Order, Order Executed, receive
Execution ReportI think there can be many.
Have a look at the FIX specification, the newest one is 5.0. In Volume 4, section “Order State Change Matrices” you will find many different scenarios. The older specifications have similiar sections.
Now, with some of the basics clear, I don’t know from where exactly to
start developing the application. I mean, I don’t have Requirement
Specifications.I know the following (We assume Equity Orders for the time being).
- I am using QuickFix and know how various application level Fix
Messages are generated. NewOrder-Single etc.- QuickFix uses Mina for sending messages over the network. I think I
can also use it to send generated messages to Tibco, JMS etc.The demo application with QuickFix explains a lot.
Now, I am unable to visualise what more could a QMS have beyond this
small application and I believe that is because I dont have enough
domain knowledge. I know it is far more complex than it seems. I have
not yet considered services like Persistence and Security.Can you please provide me with any links over the Internet or names of
books available on amazon.com which might be of help?
There is little information to be found about the business level of FIX.
IMHO, this requires experience in the trading area. It took me a long time to learn the different business aspects of FIX without any outside help.
How about taking a FIX course with business aspects? Or getting a FIX consultant to help you?
Do you think it is going to take tremendous effort to build the
application without any domain knowledge?
Yes, I guess so. What are your motivations to build such an application? Do you have specific customers which will define your requirements?
Cheers, Jörg