iPad Screenshots


Don't just multiply volatility by root(t), do a monte carlo study and cover the extreme bases. Give the symbol-pushers a run for their money. Can your equation throw in random, out of the ordinary shocks of different magnitude and probability? Well, this app can. MCarloRisk3D: with 3D viewing options for better understanding of the estimated probability surface.

Now with price data feeds for the highest market cap crypto coins: BTC, Ethereum, Ripple, Litecoin, ADA, EOS, BitcoinCash.

Stock price risk analyzer app for the common man. Now with optional Black Swan events and tunable forward volatility.

Estimates future price distribution using random walk theory.

Background discussion: E. Fama article on early random walk studies from the 1960's:


New model calibration tutorial:


Example use case & training guide for studying "AAPL to $320" can be found at:


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. 

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. 

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

The stochastic model may be tuned or calibrated only by adjusting the maximum number of days backwards to sample or adjusting the black swan parameters.

Model Validation 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 estimated probability (risk) levels. 

Validate tab:

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.

A vertical "Cursor Beam" is provided that you can drag across the new plots in the Monte Carlo tab and the Validate tab to show the plotted values from several curves at once, with the values color-coded to the curves.

Show the full price probability plot linked to the days-forward setting of the Monte Carlo graph. This is a slice thru the probability surface generated by the Monte Carlo procedure.

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.

What’s New

Version 6.12

1 (Modeling): Add a "Hurst pre-roll" option to fractional motion path generation, which only takes effect if the Hurst factor is set to something other than 0.5. This button is in the Tune menu (accessed via the Monte Carlo tab screen). This takes the entire daily return time series within the sampling period, in actual order, (specified by the "days backwd to sample" field) to act as a "seed" for each of the fractional motion paths that are generated. E.g. trends or mean reversions in the time series immediately prior to the forecast period are taken into account in the calculation of the random fractional motion paths. Since the generation of fractional motion paths is largely random with only some "memory", this does not suggest that prior trends or osciallation will always be followed in the forecasted random paths.

2 (Analysis): Optionally fit a power function of the form a + b*time^c to the currently selected constant probability curve (2nd tab of app / Monte Carlo / when Plot is shown) in the forecast period, solving for a, b, and c, using a simulated annealing type of solver. The fitted curve is displayed in dotted grey on top of the black empirical curve from the raw monte carlo analysis. You can switch this function off and on using the bottom right switch on the Monte Carlo tab labeled "power func fit @ const prob." Since we build forecasts from actual raw returns data which may not follow normality / Gaussian distribution assumptions, and we allow model tuning such as specifying the Hurst factor (trending versus mean reverting) [among other tuning factors], the power on the time factor is often notably different from 0.5 (the so-called "volatility increases as the square root of time" observation of theoretical forecasts), and this power often varies depending on the probability selected.


differential enterprises
1.6 MB

Requires iOS 11.0 or later. Compatible with iPad.



Age Rating


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.

More By This Developer

You May Also Like