iOS iPhone Finance
Stock price / probability risk analyzer optimizer app for the common man. Now with portfolio support, pairwise correlation/regression analysis of daily returns, and portfolio optimization. Computes forward (price,probability) for your share-weighted portfolio.
Unlike other folio optimizers, this code does not assume normality of returns, nor does it require to you enter volatility estimates...these are computed from public historical return data, and you can tell it how far back to look to compute the volatility. Try some optimizations and compare to results from other codes!
See Whats New In This version notes (all versions) for many more details.
Why rely on the tea leaves of chart reading when you can apply real statistics and historical resampled data to your analysis? While charting tools such as Bollinger bands, moving averages, and candlesticks are generated only on historical data, this app takes past data and remixes it via Monte Carlo methods to generate thousands of possible future price walks, then computes the probabilities of those price outcomes. Also works for stock-like ETFs and short ETFs (e.g. SH = short SPY).
Estimates future price distribution using random walk theory, where random samples are chosen from the history of the stock in question.
User can control how far back in time to use historical data to capture only the current "epoch" or to take into account long term historical behavior.
Built-in backtesting, verification, and model tuning tools.
-- Details --
This app models daily stock returns as a stable stochastic process and estimates a future price distribution by Monte Carlo re-sampling from an "empirical distribution" of a user-specified subset of prior (known) daily returns.
Be sure to press the Run Monte button on the Monte Carlo tab after changing settings or downloading a new data set.
This app downloads historical data from Google Finance as base data to resample. Prices are converted to daily returns [P(t)/P(t-1)] before resampling. The user can choose how far back to resample. By estimating a probability distribution of future prices at the user-specified investment horizon in this manner, we can give risk-of-loss estimates in thumb-rule fashion, to a first approximation.
Reports out estimated price and %loss estimates at the commonly used levels of 1st percentile and 5th percentile (1% and 5% risk). Also reports out median (50th percentile) price estimates at the given number of days forward. Calculations are performed on daily Closing price data. An artificial shock filter is provided, which can be used to reject the resampling of prior returns that are artificially large (due to splits or other artificial re-valuations that do not affect the underlying value of the asset). Theory of operation is described in detail under the Theory tab.
The stochastic model may be tuned or calibrated by adjusting the maximum number of days backwards to sample and/or a back in time linear weighting.
Stochastic Model Validation (backtest) features:
On the Monte Carlo tab, you can withhold any number of recent days from the model and then plot the results of the stochastic risk forecast as lower-bound envelopes at 1% and %5 and all other estimated probability (risk) levels dynamically after the model run is completed.
This allows you to perform an exhaustive validation on your model by withholding several points, computing the model, comparing the forward prediction of the model versus the actual reserved data, and repeating this over time for all withheld points.
The app provider makes no claims as to the suitability of this app for any purpose whatsoever, and the user should consult an investment advisor before making investment decisions.
Don't allow user to go to Correlation or Optimization controls unless he has at least 2 stocks or ETFs specified in his portfolio, because it doesnt make sense to do so and would crash the app. Update wording in the Validation feature to indicate hints regarding rolling windows and heteroskedasticity. Fix color background of sampling adjustment bar which appears when you tap the 'days backwd to sample' number on the Monte Carlo tab... background color was not contrasty enoughm and buttons were hard to read.