Stock price / probability risk analyzer app for the common man. Now with Portfolio support! Compute forward (price,probability) for your share-weighted portfolio. See What's New In This Version for details on Portfolio support.
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.
Estimates future price distribution using random walk theory, where random samples are chosen from the history of the stock in question.
Background discussion: E. Fama article on early random walk studies from the 1960's:
New Monte Carlo / dynamic Plot tab help (January 2015):
The app uses prior data from the stock in question for volatility estimates.
User can control how far back in time to use historical data to capture only the current "epoch" of a company or of the market as a whole if desired.
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. The MC is not run automatically after each change, because it can be a bit time consuming if you want the computation done for many days forward.
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 only by adjusting the maximum number of days backwards to sample. One may want to tune the model differently for a different number of days forward estimate.
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 in increasing time sequence 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.
Compute (price,probability)=f(future_time) estimates for portfolios of stock-like securities (stocks and ETFs), using resampling from the empirical "joint probability daily return distribution"* of all securities in the portfolio.
*This implies that daily N-dimensional return correlation among portfolio stocks is taken into account.
Expected dividends are not included in the price estimates.
-- Normality assumptions? No.
Since resamples of prior returns are made, there are no assumptions of normality of [returns or log(returns)].
Zero and positive integer share counts are supported for "what-if" studies.
Use equiv short ETF (e.g. SH = short SPY) for some support of shorted securities.
Total portfolio value is computed and projected forward via the monte carlo random walk method used for single stocks in earlier versions of this app.
Internally, random walk prices are kept for each time step forward for each security, then added together, weighted by the number of shares each, to give the total portfolio value per time step, per random path. Then the probability of the 1000's of potential portfolio values is computed and set up so you can quickly move sliders on the graphs to see different (price, probability, days forward) estimates. When random resamples are done of the prior returns, the same random prior day is used for all stocks in the portfolio. This ensures that prior correlation among stock returns is taken into account when computing forward random paths.
Daily price data is day-aligned on a server in case of missing day values for any symbols. In the case of missing data, the "daily return" data will be off for the day after the missing day, resulting in a slight return skew + or - for that particular day. As this is a first order risk analyzer app with coarse data, no correction is made for potentially missing data.
Graphs on the Prices & Rtns tab of raw price and return data are shown only for the first symbol in the portfolio.
-- Forecasting, and Backtesting/validation is supported
Example images on the app store show backtests of 100 trading days (the default). To change to a forward prediction, you would set both "days withheld" and "days fwd" to 0.
-- Default settings changes
Backwards sampling window = 500 (was 2000) trading days
Monte carlo samples = 5000 (was 50000) paths for speed
# of monte carlo traces displayed = 150 when in Traces mode (was 300). No effect on calculations, display only.
-- Single stock handling
Share counts are ignored for portfolios of 1 symbol (assume 1 share).
-- Special cases
In the case of newer listings, the first value of the new listing is replicated backwards in time so all securities in the portfolio have the same number of prior data points. Insure that your "days backwd to sample") is smaller than than the prior data count of the limited data security. Since newer securities do not have much of a statistical track record, this app may not be appropriate for them.
-- Black Swan events
(in the Monte Carlo / Opt panel) These go cross-portfolio if you have them "on" (e.g. every symbol in your portfolio gets hit by a Black Swan on the same monte carlo day).
-- Strike price
You may set a Strike Price for the portfolio if you would like (also in the Opt window), and estimates of crossing the strike price are computed (cumulative or "at" days fwd), depending on your settings in the Opt panel.
-- Splits / bad data
Splits and bad data are filtered out of the resampled data by the "skip large returns" cutoff value in the Monte Carlo tab (default set to 49%) as in prior versions. However, the "actual" known price data plots (blue time history graphs) do not take into account splits unless you had downloaded Adjusted Close data (see finance.yahoo.com help for a description of Adjusted).
Share with Others
- Last changed:
- 17 hours ago
- differential enterprises
- 0.6 MB
- Current Version Average Rating:
- No data
- All Versions Average Rating:
- No data