

Bootstrapping an Ultra Low Latency Trading Firm, Part 3.1 - veyron
http://veyronb.wordpress.com/2011/08/06/bootstrapping-an-ultra-low-latency-trading-firm-part-3-1/

======
apaprocki
Well, there are market data feeds, and then there are market data feeds. For
example, say you want to write a program to look at all option data in North
America. You can go pay for a full feed from OPRA. This requires over 1Gbps
bandwidth from the exchange and processing power to handle over 5 million
messages a second doing whatever it is you want to do with them.

I asked around back when the other HFT topics popped up and I believe a low-
latency raw feed from Bloomberg would run somewhere in the $5k-$10k /month
range depending on configuration before you tack on any fees the exchanges add
for realtime vs delayed access per unique user. I'm curious whether startups
actually want feeds like this, or say, would want to use a node.js async
front-end on the SDK..

~~~
veyron
In my proposed solution, since I am already getting the feeds, I would only
charge the incremental cost for additionally redistributing the data :)

~~~
apaprocki
I guess I just don't really understand what it is you are talking about
setting up. Let's just limit this to NASDAQ.. NASDAQ requires a $14/seat
exchange fee for non-professional users. If you, as a distributor don't
control the entity receiving the data (you wouldn't in this case), then
everyone receiving data from you would still need to sign with NASDAQ:

"All data feeds — including internally or externally distributed, real-time or
delayed, snapshot or streaming — must be approved by NASDAQ OMX prior to
initiation of service. This prior approval process creates a direct
relationship between the Recipient and NASDAQ OMX. This direct relationship is
essential in ensuring the correct display of the Information, an effective
entitlement process and a timely reporting process of the market data usage."

[http://www.nasdaqtrader.com/content/AdministrationSupport/Ag...](http://www.nasdaqtrader.com/content/AdministrationSupport/AgreementsData/datapolicies.pdf)

If this is not what you are planning on doing, could you be more specific
about what you're talking about distributing? If you had 100 people that want
the realtime feed, how would you handle bandwidth/equipment issues?

------
JoeAltmaier
I'm an ultra low Frequency trader. Bought some index funds 5 years ago. Talk
to my broker once a year. Recently got out of one fund, into another. Whoo
hoo!

I need a product that notifies me if there's something I need to do, like deal
with a bankruptcy or a fund is being discontinued and I need to reinvest. As
it is, the process is a) receive half a dozen mailing each month about funds
and b) throw them all away (too much information).

I know, my broker can deal with all that. So, can he be replaced? Yes, surely.
Anybody got ideas?

~~~
veyron
If that data is available on the website, you could write a perl or python
script to scrape the site.

------
veyron
Kickstarter request for setting up platform to allow me to redistribute the
market data: <http://www.kickstarter.com/profile/proposals/83047>

~~~
Maro
Is it legal to redistribute the feed?

~~~
veyron
You have to become vendor of record and that part is expensive (bleh)

------
snikolic
Veyron, I wish you a fine recovery from the last few days. :-)

First off, I'd pay. Second, I'll donate as soon as the kickstarter page is up.
Last, can you clarify what the granularity of the data would be? Are we just
talking about closing prices, periodic price updates during the day (e.g.
every 5 minutes), real-time, etc.?

~~~
veyron
It will be the realtime data, exactly as how I receive it. I will start with
NASDAQ first, mainly because their contracts are the easiest to digest (and
because their turnaround time is generally awesome). To familiarize yourself
with the format, check out the ITCH 4.1 specification. It quite literally
shows every event as it happens (their internal timestamps have nanosecond
resolution and they send a message every time a person sends an order, cancels
an order, or induces a trade. They also have special messages for trades
against hidden orders, trade breaks -- when the exchange decides a trade was
invalid -- and other miscellaneous information that you may choose not to use
:).

I should note that I also inserted my timestamp (so you can see when we
received the data)

