I am looking for SMS/email based alerts (or Android/Mac) that is configurable based on volume.

I want to be able to catch sudden spikes in volume so it needs to be monitored real-time. The closest thing I have found is timetotrade.eu and their custom alerts are fantastic - I can use a variety of technical parameters to configure a custom alert and have it sent to my email or SMS. However the issue is that their US market feed is 15 minutes delayed.

I am looking for a feature similar to:

Alert if volume is over 300k (1 minute interval) and do not alert for next 15 minutes.

An example would be to measure a sudden spike in VIX or VXX volume in real-time. I've been searching for days, high and low - but StackExchange seems to be the best bet.


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 :-

enter image description here

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 :-

data = Import[
First[Cases[data, {"Crude Oil", __}, Infinity]]

{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 :-

enter image description here


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. ;-)

datalist = {};

task = CreateScheduledTask[
    {DateList[], v2 = FinancialData["NYM:CLV14", "Volume"]}];
   If[v2 - v1 > 100,
     "To" -> "me@email.com",
     "Subject" -> "Volume alert",
     "Body" -> "Volume has jumped 100+ in the last 30 secs.",
     "From" -> "xxx...@gmail.com",
     "Server" -> "smtp.gmail.com",
     "ReplyTo" -> "xxx...@gmail.com",
     "UserName" -> "xxx...@gmail.com",
     "Password" -> "secret",
     "PortNumber" -> 587,
     "EncryptionProtocol" -> "StartTLS"]];
   v1 = v2, 30];

v1 = FinancialData["NYM:CLV14", "Volume"];
  • Great answer, thank you so much. It definitely seems worth pursuing. – Francis Kim Aug 21 '14 at 14:19
  • +1 Something a bit surrealistic about creating a single function piece of hardware to do what I'd imagine should run in SW only. Some background desktop app. – JTP - Apologise to Monica Aug 21 '14 at 15:34
  • +1 for such a detailed, code-based answer! -1 because it still doesn't solve OP's problem of needing a non time-delayed data source. – dg99 Aug 23 '14 at 14:20
  • 1
    @JoeTaxpayer I guess the reason for that is that for OP's solution using Mathematica, it's only free on the Pi. For every other platform you'd have to pay, and it's expensive. Undoubtedly a similar solution using some free alternative could run on any platform you prefer. – Tom W Aug 24 '14 at 10:24
  • 1
    @JoeTaxpayer - It would not be practical for me to run a long-term background process on my home laptop or work PC. A dedicated £27 Pi seems ideal. I will be trying it out. Also, Mathematica is only free on the Pi. – Chris Degnen Aug 25 '14 at 11:11

TdAmeritrade offers this service for free using 3rd party company markit. From markit's site, below is their guarantee.


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.

  • I don't mind it's a paid feed, I am after real time data because I want to be able to react as quickly as I can. – Francis Kim Aug 23 '14 at 15:11
  • 1
    Then one of those online brokers will be the best you as an individual investor can do. Truly real-time data is only available by colocating a computer in the exchange's data center and purchasing direct feed access. This can cost anywhere from $25K - $100K per year. – dg99 Aug 23 '14 at 16:57
  • You do not have to pay for real-time data or tools/charts/alerts with Interactive Brokers and TD Ameritrade. In addition, their real-time data is not delayed by "tens of seconds", it might be on the order of tens/hundreds of milliseconds. – 7529 Aug 25 '14 at 23:26
  • In addition some public web sites like Investing.com do provide free real-time data. – 7529 Aug 25 '14 at 23:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.