How to automate the tracking of ratios and other values for a set of stocks or ETFs?
Spreadsheets need not be static, they can pull data from the web.  This article describes the method you seek.
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. ;-) "I have to seriously disagree with this. Automated news analysis may have not worked for you for a variety of reasons (most likely all related to infrastructure/software inexperience), but it works and some shops and funds have made fortunes just doing news based automated trading.  I have personal experience working in a Chicago shop which went through a few off the shelf solutions, like [Ravenpack](http://ravenpack.com/services/rpna_dj.htm) before rolling a custom news analytics platform which integrated with quantitative strategies to move a lot of volume.  The whole premise of your post just seems very off to me. ""The problem that arises is that it is nearly impossible to make money off of automating trades."" -- an entire segment of the industry would like to have a word with you." I use and recommend barchart.com. Again you have to register but it's free. Although it's a US system it has a full listing of UK stocks and ETFs under International > London. The big advantage of barchart.com is that you can do advanced technical screening with Stochastics and RS, new highs and lows, moving averages etc. You're not stuck with just fundamentals, which in my opinion belong to a previous era. Even if you don't share that opinion you'd still find barchart.com useful for UK stocks. "the ""how"" all depends on your level of computer savvy. Are you an Excel spreadsheet user or can you write in programming languages such as python? Either approach have math functions that make the calculation of ROI and Volatility trivial. If you're a python coder, then look up ""pandas"" (http://pandas.pydata.org/) - it handles a lot of the book-keeping and downloading of end of day equities data. With a dozen lines of code, you can compute ROI and volatility." you need to use easy programming language to imply onto a scan  where you enter Scan all stocks  display if volume < (less than) 100 "You can have a look at betabrokers. It's an simulated stock trading platform which is entirely email-based. You start with 10 000$ and you make transactions with commands in the subject line of the email (e.g. ""buy 250$ AAPL"" or ""cover 20 shares of AAPL""). It should be straightforward to add an email interface to your python script." "You could use any of various financial APIs (e.g., Yahoo finance) to get prices of some reference stock and bond index funds.  That would be a reasonable approximation to market performance over a given time span. As for inflation data, just googling ""monthly inflation data"" gave me two pages with numbers that seem to agree and go back to 1914.  If you want to double-check their numbers you could go to the source at the BLS. As for whether any existing analysis exists, I'm not sure exactly what you mean.  I don't think you need to do much analysis to show that stock returns are different over different time periods." "This functionality is widely available, not only on brokerage sites, but also financial management and even financial information sites.  For instance, two of the latter are Google Finance and Yahoo Finance.  If you are logged in, they let you create ""portfolios"" listing your stocks and, optionally, the size of your holdings in that stock (which you don't need if you are just ""watching"" a stock).  Then you can visit the site at any time and see the current valuations." 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. Yes, add the stocks/mutual funds that you want and then you would just need to add all the transactions that you theoretically would have made. Performing the look up on the price at each date that you would have sold or bought is quite tedious as well as adding each transaction. You can follow the intra-day NAV of an ETF, for instance SPY, by viewing its .IV (intra-day value) ticker which tracks it's value.   http://finance.yahoo.com/q?s=spy http://finance.yahoo.com/q?s=^SPY-IV Otherwise, each ETF provider will update their NAV after business each day on their own website. https://www.spdrs.com/product/fund.seam?ticker=spy Just got back from the office, so I can better answer it now. The trader uses the Metatrader platform, which is programmed with a language based off C++. I'm working with him to update some algos now. His strategies running on ToS are more or less proof-of-concept that he streams right now as he sources investors. "Finding the ""optimal"" solution (and even defining what optimal is) would probably take a lot of searching of all the possible combinations of stocks you could buy, given that you can't buy fractional shares. But I'd guess that a simple ""greedy"" algorithm should get you close enough. For any given portfolio state, look at which stock is furthest below the target size - e.g. in your example, S3 is 3.5% away whereas S1 is only 3.1% away and S2 is over-sized. Then decided to buy one stock of S3, recalculate the current proportions, and repeat until you can't buy more stocks because you've invested all the money. If you have to pay a transaction fee for each kind of stock you purchase you might want to calculate this in larger lot sizes or just avoid making really small purchases." There are multiple ETFs which inversely track the common indices, though many of these are leveraged.  For example, SDS tracks approximately -200% of the S&P 500.  (Note: due to how these are structured, they are only suitable for very short term investments) You can also consider using Put options for the various indices as well.  For example, you could buy a Put for the SPY out a year or so to give you some fairly cheap insurance (assuming it's a small part of your portfolio). One other option is to invest against the market volatility.  As the market makes sudden swings, the volatility goes up; this tends to be true more when it falls than when it rises.  One way of invesing in market volatility is to trade options against the VIX. "There is probably a better way, but you can do the following: (1) Right click on the right pointing arrow next to the ""1-20 of xx rows"" message at the bottom right of the table, and select ""Copy link location"" (2) Paste that into the location (3) At the end of the pasted text there is a ""&output=json"", delete that and everything after it. (4) hit enter What you get is a page that displays the set of securities returned by and in a very similar display to the ""stock screener"" without the UI elements to change your selections. You can bookmark this page."