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."
"My broker offers the following types of sell orders: I have a strategy to sell-half of my position once the accrued value has doubled.  I take into account market price, dividends, and taxes (Both LTgain and taxes on dividends).  Once the market price exceeds the magic trigger price by 10%, I enter a ""trailing stop %"" order at 10%.  Ideally what happens is that the stock keeps going up, and the trailing stop % keeps following it, and that goes on long enough that accrued dividends end up paying for the stock.  What happens in reality is that the stock goes up some, goes down some, then the order gets cancelled because the company announces dividends or something dumb like that. THEN I get into trouble trying to figure out how to re-enter the order, maintaining the unrealized gain in the history of the trailing stop order.  I screwed up and entered the wrong type of order once and sold stock I didn't want to. Lets look at an example. a number of years ago, I bought some JNJ -- a hundred shares at 62.18.  - Accumulated dividends are 2127.75  - My spreadsheet tells me the ""double price"" is 104.54, and double + 10% is 116.16.  - So a while ago, JNJ exceeded 118.23, and I entered a Trailing Stop 10% order to sell 50 shares of JNJ.  The activation price was 106.41.  - since then, the price has gone up and down...  it reached a high of 126.07, setting the activation price at 113.45.  - Then, JNJ announced a dividend, and my broker cancelled the trailing stop order.  I've re-entered a ""Stop market"" order at 113.45.  I've also entered an alert for $126.07 -- if the alert gets triggered, I'll cancel the Market Stop and enter a new trailing stop." "It depends on how the program is run. If the company runs the program out of treasury stock (shares that are authorized, but not issued), then there aren't any shares being purchased on the open market.   Because of that, the share price wouldn't be affected.    If you look in your employer's annual report, you will probably find how the program is run and how many shares are issued annually under that program. By comparing that to the daily trading volume of the company's stock you can gauge whether there's any likelihood of the share price being affected by the employee purchases. That is, of course, if shares are being purchased on the open market.  For example, here is Books-A-Million's program, as described in their 2011 annual report: Employee Stock Purchase Plan   The Company maintains an employee stock purchase plan under which shares of the Company’s common stock are reserved   for purchase by employees at 85% of the fair market value of the common stock at the lower of the market value for the   Company’s stock as of the beginning of the fiscal year or the end of the fiscal year. On May 20, 2010, the stockholders of the   Company approved an additional 200,000 shares available for issuance under the plan, bringing the aggregate number of   shares that may be awarded to 600,000. Of the total reserved shares, 391,987, 373,432 and 289,031 shares have been   purchased as of January 29, 2011, January 30, 2010 and January 31, 2009, respectively. This describes an instance of the employee purchase program being run from unissued stock, not open market purchases. From it, we can tell 18,555 shares were issued during the past fiscal year.  As their average daily volume is ~40,000 shares, if the program were run from a single open market purchase, it would have potential to ""move the market"".  One would think, though, that a company running it from open market purchases would spread the purchases over a period of time to avoid running up the price on themselves." How I understand it is: supply/demand affect price of stock   negatively/positively, respectively. Correct. Volume is the amount of buying/selling activity in these stocks (more   volume = more fluctuation, right?). Sort of.  Higher volume means higher liquidity.  That is, a stock that is traded more is easier to trade.  It doesn't necessarily mean more fluctuation and in the real world, it often means that these are well-understood stocks with a high amount of analyst coverage.  This tends towards these stocks not being as volatile as smaller stocks with less liquidity. Company revenue (and profit) will help an investor predict company   growth. That is one factor in a stock price.  There are certain stocks that you would buy without them making a profit because their future revenue looks potentially explosive.  However, these stocks are very risky and are bubble-prone. If you're starting out in the share market, it's generally a good idea to invest in index funds (I am not a broker, my advice should not be taken as financial advice).  These funds aggregate risk by holding a lot of different companies.  Also, statistics have shown that over time, buying and holding index funds long term tends to dramatically outperform other investment strategies, particularly for people with low amounts of capital. It is unlikely that buying 100 shares will have any effect on a stock's price, unless the stock's average trading volume is incredibly low.  That being said, no matter how many share you buy, there's no way to know what the impact on the price will be, because that's only one factor in how shares are priced.  If anyone could figure out the answer to your question then they'd be extremely rich, because they'd simply watch for big share trades and then buy those stocks on the way up. The market makers who actually execute the trades are the ones who set the prices, and most stocks have multiple market makers trading the stock, so the bid/ask you see is the highest bid and lowest ask.  The market makers set the price based on what the trend of the stock is.  If, for instance, there's a large number of sell orders against a stock, the market makers will start dropping the bid prices as they fill execution orders, and as they see buy orders increase, they'll raise ask prices as they fill execution orders.  The market makers earn the difference between what they paid to buy someone's stock who was selling and what they get from someone else who buys it. This is a simplified explanation, so pro traders, don't beat me up! (grin) So, basically, it takes quite a bit of share volume in one direction or another to affect a stock's price.  I can guarantee a 100-share trade wouldn't even be noticed by market makers. I hope this helps. Good luck! I'm not disputing whether IB is good to start. I'm disputing that anything going through them is 'low latency.' 50-100ms is a lifetime against high frequency traders. Also, if you're co-locating w/ them and using a direct feed and still getting that latency you're getting ripped off. It should take 100ms *for a message to travel between Chicago and NY*, let alone between your computer and the exchange one at the same colo. If you're a customer, TD Ameritrade has a really robust alerting system. Yahoo Finance's Historical Prices section allows you to look up  daily historical quotes for any given stock symbol, you don't have to hit a library for this information. Your can choose a desired time frame for your query, and the dataset will include High/Low/Close/Volume numbers. You can then download a CSV version of this report and perform additional analysis in a spreadsheet of your choice. Below is Twitter report from IPO through yesterday: http://finance.yahoo.com/q/hp?s=TWTR&a=10&b=7&c=2013&d=08&e=23&f=2014&g=d I think if you are only trading stocks with average volume greater than 1M you should not have any trouble entering a 10,000 size trade. If you are you can try a couple of things: Change your order from a market order to a limit order, however this may potentially reduce the number of shares that are actually traded on that day, and you may miss out on some or all of your order. Limit your trading to more liquid stocks, say average daily volumes above 10M or 100M. Apart from that you might have to just put up with some extra slippage and incorporate it into your trading plan. That is you can reduce your R multiple to allow some slippage.