Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

agon

Volume Splitter

Recommended Posts

Anyone has tried to save ask bid data into SQL server using API ??

If it could , can we use this information with multicharts or tradestation ??

I have plan to setup DB server for this..

Share this post


Link to post
Share on other sites
  duhhhh said:
Anyone has tried to save ask bid data into SQL server using API ??

If it could , can we use this information with multicharts or tradestation ??

I have plan to setup DB server for this..

 

One problem with tradestation is it uses minutes for the timestamp. It doesn't even go to second.

 

For bid ask I think Investor RT or Market Delta are really the best.

Share this post


Link to post
Share on other sites
  paolfili said:

I'm working with ZenFire API.

You can have the Bid/Ask and Best_Bid/Best_Ask data,but....

But UDP streams can loose data.

If you cannot afford a very High quality connection (as the usual Rythmic customers can probably afford) you have not guaranteed sync (and no value from any CumulativeDelta analysis... if you believe in any value about CumulativeDelta analysis...).

 

Is there even a feed that guarantees receipt of all data? Do you even want that? X_Trader API doesn't, and there is a good reason for it. They told me that most customers prefer to get the most up-to-date data than all data which might be delayed when there is a lot of data at one point in time. It makes sense if you think about it. You don't want to stale information (e.g. old inside market) even if it is complete. I guess one problem to solve this would be to have 2 feeds, one feed that guarantees the most recent data that you can use for quick decisions and execution (e.g. for MD Trader) and another feed that guarantees that you get all data for processing (e.g. for data analysis). TT also has a FIX API and the FIX server can be configured to your needs so that might be possible there, but I haven't had time to closely look at it.

 

Can you enumerate Zen-Fire's advantages/disadvantages. I thought about using them but there aren't any brokers with decent commissions that offer Zen-Fire.

 

  paolfili said:

DTN seems TCP.

 

Yes, DTN is TCP/IP. I still have access to their developer documenation which is not free.

 

  paolfili said:
Someone can add something on this matter about TT' s API?

 

See above.

 

  paolfili said:

Can you explain the latency issue between Ninja/IQFeed?

 

I was comparing Eurex Futures with Zen-Fire in Ninja Trader, IQFeed and TT's feed. Zen-Fire and TT were basically identical in terms of speed while IQFeed lagged by about 1-2 seconds. Unacceptable for any kind of trading really. I generally had the feeling that IQFeed was the discount airline of data feeds. A trader friend of mine who used to use them told me that it even went down for half a trading day while you would never have this problem with TT. There is a reason half of Futures' volume goes through TT and that you see MD Trader (part of X_Trader) on every trading screen on every trading floor.

 

  BlowFish said:
Historical data. They generally pick markets where there is a historical database available where trade direction is recorded.

 

Then why did you bring them up? You can't use their papers to prove that there are "mid-point" trades that don't trade at the bid or ask if they look at trades (spread trades, OTC trades) we don't even see when live trading. So far you have only confirmed what I have said so I don't get why we are still arguing.

Share this post


Link to post
Share on other sites

Is there even a feed that guarantees receipt of all data? Do you even want that? X_Trader API doesn't, and there is a good reason for it. They told me that most customers prefer to get the most up-to-date data than all data which might be delayed when there is a lot of data at one point in time. It makes sense if you think about it. You don't want to stale information (e.g. old inside market) even if it is complete. I guess one problem to solve this would be to have 2 feeds, one feed that guarantees the most recent data that you can use for quick decisions and execution (e.g. for MD Trader) and another feed that guarantees that you get all data for processing (e.g. for data analysis). TT also has a FIX API and the FIX server can be configured to your needs so that might be possible there, but I haven't had time to closely look at it.

 

As always, It depends.

If your signals/oscillators/edges are based on 1/2 seconds timeframe (and you cannot afford to loose 5 seconds to send the order) you are right.

Anyway having ALL the data you can explore(in the ExploratoryDataAnalisys meaning)/backtest/observe what you cannot see in partial data.

(The Best Bid/Ask - Trade sync problem of Zenfire is an example).

You talk about Book Visualization,but if your Book data are partial the Visualization

is based on partial data....probably the data you get is enough for your needs, but always partial.

 

Can you enumerate Zen-Fire's advantages/disadvantages. I thought about using them but there aren't any brokers with decent commissions that offer Zen-Fire.

:confused:

The main disadvantage is (for me) the impossibility to have correct Cumulative Delta.

But you have the (partial) data about all levels on the Book if you are interested in book' s tricks.(don' t' know about X_Trader API book).

I think it' s fast enough,doesn' t coalesce data,and offer (from API) a microsecond timestamp.The backoffice "chain" (for me) is short enough(double login account etc).

On the other side is probably used from a very little group of customers (from the small number of forum' s posts) and the "developer" support is close to 0.

On the next weeks probably I 'll can have a deep look to X_Trader API (via TTNET),so any comparision will be more meaningfull.

 

 

 

  AgeKay said:

 

 

Yes, DTN is TCP/IP. I still have access to their developer documenation which is not free.

 

 

 

See above.

 

 

 

I was comparing Eurex Futures with Zen-Fire in Ninja Trader, IQFeed and TT's feed. Zen-Fire and TT were basically identical in terms of speed while IQFeed lagged by about 1-2 seconds. Unacceptable for any kind of trading really. I generally had the feeling that IQFeed was the discount airline of data feeds. A trader friend of mine who used to use them told me that it even went down for half a trading day while you would never have this problem with TT. There is a reason half of Futures' volume goes through TT and that you see MD Trader (part of X_Trader) on every trading screen on every trading floor.

 

 

 

Then why did you bring them up? You can't use their papers to prove that there are "mid-point" trades that don't trade at the bid or ask if they look at trades (spread trades, OTC trades) we don't even see when live trading. So far you have only confirmed what I have said so I don't get why we are still arguing.

Share this post


Link to post
Share on other sites
  paolfili said:

The main disadvantage is (for me) the impossibility to have correct Cumulative Delta.

 

Can you explain why the cumulative delta is incorrect with zen-fire? I've been comparing CD with Transact, Zen-fire, & DTN. Transact was not very accurate. Zen-fire seems to be pretty close to DTN. I cannot say for sure that DTN is more accurate but I do trust fulcrum trader who has examined the DTN feeds and claims they are most accurate.

 

What I'm interested in is knowing how zen-fire falls short. I'm not sure it's worth it for me to subscribe to IQFeed.

 

AgeKay & Blowfish - your discussions are respectful and very informative. I'm learning a lot. Thank you both for sharing. In fact thanks to everyone for a great thread.

Share this post


Link to post
Share on other sites
  AgeKay said:

Then why did you bring them up? You can't use their papers to prove that there are "mid-point" trades that don't trade at the bid or ask if they look at trades (spread trades, OTC trades) we don't even see when live trading. So far you have only confirmed what I have said so I don't get why we are still arguing.

 

Not arguing discussing ;), I am quite happy to respectfully disagree:D.

 

The reason I bought them up as a) it was Lee & Readys work 20 years ago that gave rise to this whole line of bid/ask analysis. (Arguably Wyckoff sowed the seeds back in 1910 when he penned 'Studies in Tape Reading' under the pseudonym Rollo Tape). Secondly a couple of the reports conclude that the greatest source of inaccuracies in classification occur when a trade is reported between bid and ask.

 

Anyway it's probably better to let that drop at this stage.

 

Getting back on track re splitting volume. There is one paper particularly relevant to this thread as it specifically deals with order size as well as trade direction. Caught On Tape: Predicting Institutional Ownership With Order Flow. To cut to the chase for those that don't read papers they conclude that institutions use both large orders and high frequency small orders to increase or diminish holdings (within the dataset they used of course). The interwebz becomes more and more remarkable almost daily it seems. Some pretty interesting stuff is there if you sniff around a bit.

 

  AgeKay said:

Is there even a feed that guarantees receipt of all data?

 

Is there even an exchange that guarantees the transmission of all data. I was told that CME reserve the right to aggregate data. Haven't verified that for myself but it seems only prudent for exchanges to protect themselves against certain eventualities.

 

As some one else mentioned would you rather have timely data or complete data? Is it unreasonable to expect both with top grade retail infrastructure?

Share this post


Link to post
Share on other sites

Just one more thing as Columbo might say.

 

Seems to me a great working solution would be R|thmic / Zenfire or TT for live data and IQFeed for historical. I have not got round to testing the completeness of IQFeeds historical data but there are couple of people here that swear by it.

Share this post


Link to post
Share on other sites

http://www.traderslaboratory.com/forums/208/zenfire-dtn-feed-different-7301-4.html#post84940

 

  cunparis said:
Can you explain why the cumulative delta is incorrect with zen-fire? I've been comparing CD with Transact, Zen-fire, & DTN. Transact was not very accurate. Zen-fire seems to be pretty close to DTN. I cannot say for sure that DTN is more accurate but I do trust fulcrum trader who has examined the DTN feeds and claims they are most accurate.

 

What I'm interested in is knowing how zen-fire falls short. I'm not sure it's worth it for me to subscribe to IQFeed.

 

AgeKay & Blowfish - your discussions are respectful and very informative. I'm learning a lot. Thank you both for sharing. In fact thanks to everyone for a great thread.

Share this post


Link to post
Share on other sites

@cunparis: That just means that the TradeStation feed didn't get the new best bid or ask before it got the trade. My application would crash if I got a trade that did not trade at the best bid or ask. So far it hasn't.

Share this post


Link to post
Share on other sites
  BlowFish said:
Just one more thing as Columbo might say.

 

Seems to me a great working solution would be R|thmic / Zenfire or TT for live data and IQFeed for historical. I have not got round to testing the completeness of IQFeeds historical data but there are couple of people here that swear by it.

 

That's what I'm doing now. When I reload the data which loads it from DTN, the delta bars change. Sometimes divergences will appear and sometimes divergences that were there will disappear. It's quite frustrating. I'd rather pay for DTN data and not have to do that.

Share this post


Link to post
Share on other sites
  AgeKay said:
My application would crash if I got a trade that did not trade at the best bid or ask. So far it hasn't.

 

Leaving aside whether you can legitimately get a trade that does not exactly match BB/BA this strikes me as rather unnecessary. Robust exception handling is pretty important imho. An unfiltered Zenfire feed has the first trade of the day on the FDAX as 0 for example. Why tempt providence.

 

Actually I am struggling to think how you might organise your logic to achieve this? Presumably you test for @BB and if it is not you assume it is @BA, even if you where making assumptions and using these as pointers somehow I still can't see how you could cause a crash as long as 'last' is an actual price the instrument can trade at. (Again why even assume that?)

 

Actually, I am rather fascinated by this, I have seen remarkable code in the past where people have done very clever stuff with bitwise instructions, rotates, etc. to construct pointers, usually the side effect off this 'tight code' is you actually rotate out or mask off bits that would cause addressing issues.

Share this post


Link to post
Share on other sites
  BlowFish said:
Just one more thing as Columbo might say.

 

Seems to me a great working solution would be R|thmic / Zenfire or TT for live data and IQFeed for historical. I have not got round to testing the completeness of IQFeeds historical data but there are couple of people here that swear by it.

 

If you're going to pay for IQFeed, why use a different feed for real-time? Why not use it for both real-time and historical?

Share this post


Link to post
Share on other sites
  taotree said:
If you're going to pay for IQFeed, why use a different feed for real-time? Why not use it for both real-time and historical?

 

Realtime $100+

Historical with Investor RT $15 (or $25 with Market Delta)

 

that's the only reason I see.

 

the new exchange fee waivers from IQFeed do make it much more affordable than it used to be.

Share this post


Link to post
Share on other sites
  BlowFish said:

Actually I am struggling to think how you might organise your logic to achieve this? Presumably you test for @BB and if it is not you assume it is @BA, even if you where making assumptions and using these as pointers somehow I still can't see how you could cause a crash as long as 'last' is an actual price the instrument can trade at. (Again why even assume that?)

 

The X_Trader API tells you which side the trade was on, so there are no trades without BB or BA. In several places, my code would look like this which would cause an exception (error in .NET) if there was no side (i.e. no bid or ask):

 

switch(trade.Side){

case eSide.Bid: ...

case eSide.Ask: ...

case eSide.None: throw new Exception("trade has no side");

default: throw new ArgumentOutOfRangeException("trade.Side");

}

 

Fact is, there are no trades without a side if you have a decent feed, so no assumptions need to be made. And I want my application to wouldn't really crash since my application handles and logs all unhandled exceptions, but it wouldn't if it didn't handle unhandled exception. The point is that an exception will launch the debugger if debugging and you want this when you're developing because if you get a trade with no side then something must have gone wrong in your code.

Share this post


Link to post
Share on other sites
  AgeKay said:
The X_Trader API tells you which side the trade was on, so there are no trades without BB or BA.

 

This statement suffers from a non-sequitur falacy. The first (the API tells you) does not imply the second (no trades without BB/BA). All it means is that X_Trader or the exchange or wherever that data is coming from is using some type of algorithm for you. It would be rather interesting to dig into that and track down exactly what algorithm they're using.

Share this post


Link to post
Share on other sites

I think this is getting silly. I think the exchange knows damn well whether a trade was on the bid or ask. And this is the "algorithm" they are using: if trade on best ask, then report trade on ask, if trade on best bid, then report trade on bid.

 

If there really were trades without a bid or ask, then that would mean that you could enter limit orders without specifying whether you want to buy or sell, which is obviously absurd. Whichever limit order your marketable order is matched with determines whether it traded on the bid or ask. If you don't get that, then there is no point discussing this any further as this is how FIFO works, and that is a simple fact.

Share this post


Link to post
Share on other sites

FIFO is indeed simple (first in first out). It should probably be pointed out that there are a lot of separate queues, At each price there will be two queues. A 'limit' queue, the sum of which shown, there is also a a stop queue on the other side of the market that is not shown. If you have used a 'DOM' or price ladder this is quite easy to visualise.

 

Matching will precedent price first followed by arrival time of the order.

Share this post


Link to post
Share on other sites

If you have used a 'DOM' or price ladder this is quite easy to visualise.

 

IYO the trades are from 2 bid/ask queues.Limit (visible from DOM) and stop (unvisible from DOM.)

Can you explain how visualize from bid/ask/trade flow some limit/stop order execution? (or make some examples)

 

 

  BlowFish said:
FIFO is indeed simple (first in first out). It should probably be pointed out that there are a lot of separate queues, At each price there will be two queues. A 'limit' queue, the sum of which shown, there is also a a stop queue on the other side of the market that is not shown. If you have used a 'DOM' or price ladder this is quite easy to visualise.

 

Matching will precedent price first followed by arrival time of the order.

Edited by paolfili

Share this post


Link to post
Share on other sites

Look at the dom the numbers you see are the cumulative values of limit queues at each level. Each number you see is the cumulative value of orders on the book at that level (that particular queue). On the other side of the order book is another queue at each level where stop orders reside. These are not shown (though in some markets a market maker or specialist can see these).

Share this post


Link to post
Share on other sites

I see.

But there' s no difference between stop orders and market orders.

How can you select?

 

  BlowFish said:
Look at the dom the numbers you see are the cumulative values of limit queues at each level. Each number you see is the cumulative value of orders on the book at that level (that particular queue). On the other side of the order book is another queue at each level where stop orders reside. These are not shown (though in some markets a market maker or specialist can see these).

Share this post


Link to post
Share on other sites

A stop order will become a market order when price trades at the stops price.All the stops at that price (in that queue at that price if you like) will be matched against orders in the queue on the other side of the book (limit). This will be matched in order that the stops where placed against the limit orders in the order they where placed.

 

If there are more resting stop orders than on the limit side they will be matched against the limit queue at the next level (as they are now market orders). That is slippage. This might trigger more stops however they will not be filled until all the stops from the previous level are filled in FiFO order. If the limit side of the book is thin you might get several ticks slippage before your stop is filled.

 

Edit in early days of electronic markets many exchanges did not implement market orders. When you placed a market order your broker would actually convert it to a stop well inside the market so it would trigger immediately. So for example if the market was trading 6523.5 and you wanted to sell market the broker would sell on stop @ 6023.5

Edited by BlowFish

Share this post


Link to post
Share on other sites

Thanks to BlowFish for the explanations. I am still surprised how people start to trade without even understanding the basics of how orders are matched, which ultimately determines how price changes.

 

This is how I visualize it in my head or how I would even teach it to a beginner (or even child): Imagine a stack of cards for each price. Each card represents a contract. Cards with a red cover represent offers and cards with a blue cover represent bids. Align them on a table so that they look like a DOM / price ladder. If you enter a limit order, then you would place a card on top of the card stack. When a certain amount of contracts trade at that price, then you remove that number of cards from the bottom of the stack (imagine another stack of cards that represent the trade slide across the table to push the cards away from the bottom of the limit order stack). Let's say this price is the best offer (ask) and all cards are gone. Now someone could enter more sell limit orders on that price to keep that price being offered, but if someone instead entered a buy limit order on that price where there are no more cards, then this will become the best bid. In this case, the inside market has moved up 1 tick because the bids are 1 tick higher and the offers are 1 tick higher than they were before.

 

Marketable orders (market orders, stop orders or limit orders placed at the market) always initiate a trade and are matched with the best limit orders (best bid for sell orders or best ask for buy orders). Even if the market was bid 8, offered 10 and two traders entered market orders to buy and sell at the "same" time (technically impossible, but same lets say the same millisecond), then the buy market order would be matched with 10 and the sell order with 8. Notice that both market orders would not be matched at price 9 even though it would be "more fair", but each market order does not know of the other market order because the exchange matches them as they arrive and one of them will arrive a microsecond earlier than the other.

Share this post


Link to post
Share on other sites

These are not shown (though in some markets a market maker or specialist can see these)

 

Please,can you say which Market(s) are you talking about?

 

 

  BlowFish said:
Look at the dom the numbers you see are the cumulative values of limit queues at each level. Each number you see is the cumulative value of orders on the book at that level (that particular queue). On the other side of the order book is another queue at each level where stop orders reside. These are not shown (though in some markets a market maker or specialist can see these).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • AMZN Amazon stock, nice buying at the 187.26 triple+ support area at https://stockconsultant.com/?AMZN
    • DELL Dell Technologies stock, good day moving higher off the 90.99 double support area, from Stocks to Watch at https://stockconsultant.com/?DELL
    • MCK Mckesson stock, nice trend and continuation breakout at https://stockconsultant.com/?MCK
    • lmfx just officially launched their own LMGX token, Im planning to grab a couple of hundred and maybe have the option to stake them. 
    • Date: 2nd April 2025.   Market on Edge: Tariff Announcement and Volatility Ahead!   The US economic and employment data continues to deteriorate with the job vacancies figures dropping to a 5-month low. In addition to this, the IMS Manufacturing PMI also fell below expectations. However, both the US Dollar and Gold declined simultaneously following the release of the two figures, an uncommon occurrence in the market. Traders expect a key factor to be today’s ‘liberation day’ where the US will impose tariffs on imports. USDJPY - Traders Await Tariff Confirmation! Traders looking to determine how the USDJPY will look today will find it difficult to determine until the US confirms its tariff plan. Today is the day when Trump previously stated he would finalize and announce his tariff plan. The administration has not yet released the policy, but investors expect it to be the most expansionary in a century. President Trump is due to speak at 20:00 GMT. On HFM's Calendar the speech is stated as "US Liberation Day Tariff Announcement". Currently, analysts are expecting Trump’s Tariff Plan to impose tariffs on the EU, chips and pharmaceuticals later today as well as reciprocal tariffs. Economists have a good idea of how these tariffs may take effect, but reciprocal tariffs are still unspecified. In addition to this, 25% tariffs on the car industry will start tomorrow. The tariffs on the foreign cars industry are a factor which will particularly impact Japan. Although, traders should note that this is what is expected and is not yet finalised. Last week, President Trump stated that he would implement retaliatory tariffs but allow exemptions for certain US trade partners. Treasury Secretary Mr Bessent and National Economic Council Director Mr Hassett suggested that the restrictions would primarily target 15 countries responsible for the bulk of the US trade deficit. However, yesterday, Trump contradicted these statements, asserting that additional duties would be imposed on any country that has implemented similar measures against US products. The day’s volatility will depend on which route the US administration takes. The harshness of the policy will influence both the Japanese Yen as well as the US Dollar.   USDJPY 5-Minute Chart   US Economic and Employment Data The JOLT Job Vacancies figure fell below expectations and is lower than the previous month’s figure. The JOLT Job Vacancies read 7.57 million whereas the average of the past 6 months is 7.78 million. The ISM Manufacturing Index also fell below the key level of 50.00 and was 5 points lower than what analysts were expecting. The data is negative for the US Dollar, particularly as the latest release applies more pressure on the Federal Reserve to cut interest rates. However, this is unlikely to happen if the trade policy ignites higher and stickier inflation. In the Bank of Japan’s Governor's latest speech, Mr Ueda said that the tariffs are likely to trigger higher inflation. USDJPY Technical Analysis Currently, the Japanese Yen Index is the worst performing of the day while the US Dollar Index is more or less unchanged. However, this is something traders will continue to monitor as the EU session starts. In the 2-hour timeframe, the USDJPY is trading at the neutral level below the 75-bar EMA and 100-bar SMA. The RSI and MACD is also at the neutral level meaning traders should be open to price movements in either direction. On the smaller timeframes, such as the 5-minute timeframe, there is a slight bias towards a bullish outcome. However, this is only likely if the latest bearish swing does not drop below the 200-Bar SMA.     The key resistant level can be seen at 150.262 and the support level at 149.115. Breakout levels are at 149.988 and 149.674. Key Takeaway Points: Job vacancies hit a five-month low, and the ISM Manufacturing PMI missed expectations, adding pressure on the Federal Reserve regarding interest rate decisions. Traders await confirmation on Trump’s tariff policy, which is expected to impact the EU, chips, pharmaceuticals, and foreign car industries. The severity of the tariffs will influence both the JPY and the USD, with traders waiting for final policy details. The Japanese Yen Index is the worst index of the day while the US Dollar Index is unchanged. Always trade with strict risk management. Your capital is the single most important aspect of your trading business.   Please note that times displayed based on local time zone and are from time of writing this report.   Click HERE to access the full HFM Economic calendar.   Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding of how markets work. Click HERE to register for FREE!   Click HERE to READ more Market news.   Michalis Efthymiou HFMarkets   Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in Leveraged Products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.