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 Yahoo 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 may be performed on Yahoo daily Closing or Adjusted 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.
Now accelerated by METAL! Run the extensive 360 degree pairwise moment calculations on the device's GPU, on devices that support METAL (iPhone5S and up).
For other devices, turn on the compiler optimizer for Monte Carlo and 360 pairwise calculations for added speed.
Speed up date alignment on the server using compiled C++ code.
Add teal button on 1st screen to switch back to old Python alignment
algorithm for examples and trials.
Shut off autocorrect when entering symbols in Edit Folio.