Monte Carlo Simulation and Business Analysis tools for Julia
Author etorkia
6 Stars
Updated Last
1 Year Ago
Started In
April 2019

MC HAMMER Monte Carlo Simulation and Business Analysis tools for Julia

Documentation Build Status


The MC in MCHammer stands for Monte-Carlo. This tool is inspired by seminal tools such as Oracle Crystal Ball and Palisade @RISK for their ability to quickly build and analyze Monte-Carlo simulation models using excel functions and automations.

Though you can build a Monte-Carlo simulation in Julia using a few simple packages, it can be tedious setting up all the charts and analysis every time you build a new model. In order to save time and improve clarity, we have taken the standard charts and analysis used in every Monte-Carlo simulation and packaged them into functions that allow the user to focus on modeling instead of coding the same things over and over again.

MCHammer replicates Excel's familiar logic, functions and elemental tools in Julia, thus significantly reducing the time, complexity and effort to perform advanced modeling and simulation.

Why use MCHammer to build your Monte-Carlo simulation model?

  • Ability to correlate variables using Iman-Connover's numeric method using a simple function.
  • Analyse and visualize input data and simulation results using simple Excel like formulas
  • Simplify and eliminate 100s of lines of code for your charts and results analysis using MCHammers wrapper functions.
  • Elegant pre-built chart functions for rendering your simulation results : Histograms, Trend Charts, Sensitivity analysis.
  • Time Series functions to stress test your model over multiple time periods.
  • Easy for an Excel analyst to pick up quickly.

Example models and applications

Even though you can make the argument that anything can be modelled using uncertainty, here are some classic areas where MCHammer can streamline your analysis process.

  • CashFlow Modeling
  • Portfolio Modeling
  • Valuation models
  • Options Value using stock price forecasts
  • Total ShareHolder Returns
  • Contagion models
  • Geological / Oil & Gas Modeling
  • Quantitative Risk Modeling

Current Features

Modeling Features

  • Correlation of Simulated Inputs (Iman-Conover[1982])
    • Covariance Matrix
    • Rank Order Correlation Matrix
    • Pearson Product Moment Correlation Matrix
  • Density & Histogram Charts with Descriptive Stats
  • Sensitivity Analysis Chart
    • Rank Correlation
    • PPMC
    • Contribution to Variance %

Time Series Features

  • Time Series using Simulated Random Walk
  • Time Series using Historical Data to calculate parameters for Simulated Random Walk
  • Trend Charts with Customizable Confidence Bands

Import / Exporting

  • Import SIPmath 2.0 Libraries
  • Export simulation results to the SIPmath 2.0 standard.

Stochastic Processes (New)

  • Introduced a simulated martingale process with adjustable win probability
  • Markov Chain discrete time-series solution
  • Markov Chain analytical solve method to calculate equilibrium state

Current Functions

  • cormat()
  • covmat()
  • corvar()
  • GetCertainty()
  • fractiles()
  • cmd()
  • truncate_digit()
  • density_chrt()
  • histogram_chrt()
  • sensitivity_chrt()
  • trend_chrt()
  • GBMMult_Fit()
  • GBMM()
  • genmeta()
  • sip2csv()
  • importsip()
  • importxlsip()
  • RiskEvent()
  • marty()
  • markov_a()
  • markov_ts()


Project Mission

We want to give access to models to those who need it because for too long insight has inadvertently been hidden away on some analysts computers. This project has the objective to give business analysts tools to either develop or migrate advanced models quickly into Julia so they can be used embedded into systems and workflows that support entire teams and organizations. More people who have access to insights generated by a model, the better the decision making will be over time.

Development Roadmap

  • Functions : MetaLog Distributions
  • Chart: Changes to output means Sensitivity Chart
  • Function: Combined Expert Opinion
  • Time Series: Learning Curve Forecasts
  • Function: Ogive through empirical resampling
  • Chart: ADD S-Curve (in Markowitz example)
  • Chart: Error Bar Example (base code in mch_charts)
  • Chart: Add Overlay


If you have any bugs to report or issues with the package, please visit our project page.

Become an MCHammer contributor

MCHammer is an open source project sponsored by Technology Partnerz Ltd. We are happy to share our tools and approaches with the wider Julia community. Rolling out features is not an easy process to take on alone so if you are interested in joining our open source team to build and automate simulation using Julia, then please drop us a line.

For more information, send us a note at

Used By Packages

No packages found.