US Stock Market - volume based real-time alert
This would be a nice Raspberry Pi project for Mathematica, which comes bundled free on the Raspbian OS. You can program it up and leave it running.  It's not expensive and doesn't use much power. A program to monitor stock prices or volume could be written as simply as :-  This checks the volume of trades of Oct 2014 US crude oil futures every 30 seconds and sends an email if the volume jumps by more than 100. The financial data in this example is curated from Yahoo.  If specific data is not available or not updated frequently enough, if you can find an alternative online data source it's usually possible read the data in.  For example, this is apparently real-time data :- {Crude Oil, 92.79, -0.67, -0.71%} After leaving the above program running while writing this the volume of trades has risen like so :-  Edit I just set this running on a Raspberry Pi.  I had to use gmail for the email setup as described in this post: Configuring Mathematica to send email from a notebook.  Anyway, it's working.  Hope I don't get inundated with emails. ;-) TdAmeritrade offers this service for free using 3rd party company markit. From markit's site, below is their guarantee.  http://www.markit.com/product/markit-on-demand Markit On Demand delivers an average of two million alerts per day   through various technology platforms and via multiple channels,   including email, instant messages, wireless, RSS and Facebook.   Investors can subscribe to their alerts of choice, and Markit On   Demand guarantees that they will receive an alert within five minutes   of the event trigger for all price and volume alerts "Real-time equity (or any other market) data is not available for free anywhere in the US.  It is always delayed by 10-15 minutes. On the other hand, online brokers who target the ""day trader"" (Interactive Brokers, TD Ameritrade, etc.) offer much closer to real-time data AND feature all the tools/alerts/charts/etc. you could ever possibly dream of.  I bet the type of alert you're asking for is available with just a couple of clicks on one of these brokers' platforms. Of course, accounts with these online brokers are not free; you must pay for these sophisticated tools and fast market access.  Another down side is that the data feeds sent to you by even the most sophisticated online broker are still delayed by tens of seconds compared to the data feeds used by big banks and professional investors.  Not to mention that the investment arm of the broker you use will be making its own trades based on the data feeds before relaying them on to you. So this begs the question: why do you need real-time information?  Are you trying to ""day trade"" -- i.e. profit from minute-to-minute fluctuations in the stock market?  (I can't in good conscience recommend that, but best of luck to you.)  If on the other hand you don't truly need ""real-time"" data for your application, then I support @ChrisDegnen's approach -- use public data feeds and write your own software.  You probably will not find any free tools for the sort of alerting you're looking for because most folks who want these types of alerts also need faster feeds and are therefore already using an online broker's tools."
"There tends to be high volume around big changes in stock price. The volume of a stock does not remain constant and the term ""fat fingers"" can influence price.--> http://www.bloomberg.com/news/2014-10-01/that-japanese-fat-finger-can-absolutely-happen-in-u-s-.html That being said keshlam is 99% right when it comes to a stock moving when their is no news or earnings announcements. Check out these papers. http://onlinelibrary.wiley.com/doi/10.1111/j.1475-6803.2010.01285.x/full They do a time series analysis to try and predict future prices off of past demand during news events. They forecast using auto-regressive models.  google ""forecasting autoregressive model"" and the upenn lecture will be helpful. I would post another link but I cannot because I do not have enough rep/ This is more of a quant question. Hope this helps. JL" They could have different quotes as there are more than a few pieces here.  Are you talking a Real Time Level II quote or just a delayed quote?  Delayed quotes could vary as different companies would be using different time points in their data.  You aren't specifying exactly what kind of quote from which system are you using here. The key to this question is how much of a pinpoint answer do you want and how prepared are you to pay for that kind of access to the automated trades happening?  Remember that there could well be more than a few trades happening each millisecond and thus latency is something to be very careful here, regardless of the exchange as long as we are talking about first-world stock exchanges where there are various automated systems being used for trading. Different market makers is just a possible piece of the equation here.  One could have the same market maker but if the timings are different,e.g. if one quote is at 2:30:30 and the other is at 2:30:29 there could be a difference given all the trades processed within that second, thus the question is how well can you get that split second total view of bids and asks for a stock.  You want to get all the outstanding orders which could be a non-trivial task. People are trying ideas like this, actually.  Though they generally aren't very public about it.  While keshlam ventures into hyperbole when mentioning Watson, he is certainly correct human language parsing is a extremely hard problem. While it is not always true that the big players will know before the news (sometimes that would qualify as insider trading).  The volume spike that you mention generally comes as the news arrives to the major (and minor) players.  So, if you have an algorithm run after the volume spike the price will likely have adjusted significantly already. You can try to avoid this by constantly scanning for news on a set of stocks however this becomes an even harder problem.  Or maybe by becoming more specific and parsing known important and specific news sources (farm report for instance) and trying to do so faster than anyone else.  These are some methods people use to not be too late. "In the US, stocks are listed on one exchange but can be traded on multiple venues.  You need to confirm exactly what your data is showing: a) trades on the primary-listed exchange; or b) trades made at any venue. Also, the trade condition codes are important.  Only certain trade condition codes contribute towards the day's open/high/low/close and some others only contribute towards the volume data.  The Consolidated Tape Association is very clear on which trades should contribute towards each value - but some vendors have their own interpretation (or just simply an erroneous interpretation of the specifications). It may surprise you to find that the majority of trading volume for many stocks is not on their primary-listed exchange.  For example, on 2 Mar 2015, NASDAQ:AAPL traded a total volume across all venues was 48096663 shares but trading on NASDAQ itself was 12050277 shares. Trades can be cancelled.  Some data vendors do not modify their data to reflect these busted trades.   Some data vendors also ""snapshot"" their feed at a particular point in time of the data.  Some exchanges can provide data (mainly corrections) 4-5 hours after the closing bell.  By snapshotting the data too early and throwing away any subsequent data is a typical cause of data discrepancies.   Some data vendors also round prices/volumes - but stocks don't just trade to two decimal places. So you may well be comparing two different sets of trades (with their own specific inclusion rules) against the same stock.  You need to confirm with your data sources exactly how they do things. Disclosure: Premium Data is an end-of-day daily data vendor." That is called a 'volume chart'. There are many interactive charts available for the purpose. Here is clear example.  (just for demonstration but this is for India only) 1) Yahoo Finance 2) Google Finance 3) And many more Usually, the stock volume density is presented together (below it) with normal price vs time chart. Note: There is a friendly site about topics like this. Quant.stackexchange.com. Think of checking it out. As another answer started, this information comes straight from an exchange and generally costs a fortune . . . However things change: IEX, a new exchange, recently opened and they are offering real time bid/ask data for free. Here's the API description: https://www.iextrading.com/developer/ This data should be good for active securities, but for securities less actively traded the numbers might be stale. "What you are saying is a very valid concern.  After the flash crash many institutions in the US replaced ""true market orders"" (where tag 40=1 and has no price) with deep in the money limit orders under the hood, after the CFTC-SEC joint advisory commission raised concerns about the use of market orders in the case of large HFT traders, and concerns on the lack of liquidity that caused market orders that found no limit orders to execute on the other side of the trade, driving the prices of blue chip stocks into the pennies.  We also applaud the CFTC requesting comment regarding whether it is   appropriate to restrict large order execution design that results in   disruptive trading. In particular, we believe there are questions   whether it is ever appropriate to permit large order algorithms that   employ unlimited use of market orders or that permit executions at   prices which are a dramatic percentage below the present market price   without a pause for human review So although you still see a market order on the front end, it is transformed to a very aggressive limit in the back end. However, doing this change manually, by selling at price 0 or buying at 9999 may backfire since it may trigger fat finger checks and prevent your order from reaching the market.  For example BATS Exchange  rejects orders that are priced too aggressively and don't comply with the range of valid prices.  If you want your trade to execute right now and you are willing to take slippage in order to get fast execution, sending a market order is still the best alternative." The only recommendation I have is to try the stock screener from Google Finance : https://www.google.com/finance?ei=oJz9VenXD8OxmAHR263YBg#stockscreener The closest I can think of from the back of my head is http://finviz.com/map.ashx, which display a nice map and allows for different intervals. It has different scopes (S&P500, ETFs, World), but does not allow for specific date ranges, though. thanks.  I have real time quotes, but in the contest, if you put in a market order the trade might happen at the delayed quote price and not the real time price.  Does anyone know at which price it will trade, delayed or real time? Opening - is the price at which the first trade gets executed at the start of the trading day (or trading period). High - is the highest price the stock is traded at during the day (or trading period). Low - is the lowest price the stock is traded at during the day (or trading period). Closing - is the price at which the last trade gets executed at the end of the trading day (or trading period). Volume - is the amount of shares that get traded during the trading day (or trading period). For example, if you bought 1000 shares during the day and another 9 people also bought 1000 shares each, then the trading volume for the day would be 10 x 1000 = 10,000. **Volume-weighted average price**  In finance, volume-weighted average price (VWAP) is the ratio of the value traded to total volume traded over a particular time horizon (usually one day). It is a measure of the average price at which a stock is traded over the trading horizon.  VWAP is often used as a trading benchmark by investors who aim to be as passive as possible in their execution. Many pension funds, and some mutual funds, fall into this category.  ***  ^[ [^PM](https://www.reddit.com/message/compose?to=kittens_from_space) ^| [^Exclude ^me](https://reddit.com/message/compose?to=WikiTextBot&amp;message=Excludeme&amp;subject=Excludeme) ^| [^Exclude ^from ^subreddit](https://np.reddit.com/r/finance/about/banned) ^| [^FAQ ^/ ^Information](https://np.reddit.com/r/WikiTextBot/wiki/index) ^| [^Source](https://github.com/kittenswolf/WikiTextBot)   ^] ^Downvote ^to ^remove ^| ^v0.24 This is interesting.  The application I'm putting together is more along the lines of automating the research process for a financial professional using a personal algorithm of his.  The end goal is to provide him an alert to email when a new report is filed and if his criteria are met based on that report and past reports.  Thanks anyway. "Volume is really only valuable when compared to some other volume, either from a historical value, or from some other stock.  The article you linked to doesn't provide specific numbers for you to evaluate whether volume is high or low. Many people simply look at the charts and use a gut feel for whether a day's volume is ""high"" or ""low"" in their estimation. Typically, if a day's volume is not significantly taller than the usual volume, you wouldn't call it high. The same goes for low volume. If you want a more quantitative approach, a simple approach would be to use the normal distribution statistics: Calculate the mean volume and the standard deviation. Anything outside of 1.5 to 2.0 standard deviations (either high or low) could be significant in your analysis. You'll need to pick your own numbers (1.5 or 2.0 are just numbers I pulled out of thin air.) It's hard to read anything specific into volume, since for every seller, there's a buyer, and each has their reasons for doing so. The article you link to has some good examples of using volume as a basis for strengthening conclusions drawn using other factors." You only have to pay taxes when you convert to dollars. Most exchanges I think have to track their users and provide them with reports for tax purposes. Just holding bitcoin and watching it go up in value does not trigger a taxable event.