monte-carlo-valuation

Runs Monte Carlo simulations on DCF models to produce value distributions and percentile ranges.

Updated Sep 9, 2026
One-click install
npx skills add https://github.com/lyndonkl/hermesworld --skill monte-carlo-valuation-lyndonkl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: monte-carlo-valuation
Source: https://github.com/lyndonkl/hermesworld/tree/main/packages/special-situations-analyst/skills/corporate-finance/monte-carlo-valuation
Command: npx skills add https://github.com/lyndonkl/hermesworld --skill monte-carlo-valuation-lyndonkl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? A single point-estimate DCF hides how much uncertainty sits behind the valuation. This Skill replaces two to four key drivers of a finished DCF with probability distributions, runs the same model thousands of times, and returns a full distribution of value — percentiles, the probability the value exceeds the market price, and the share of infeasible draws. ## Core Features & Use Cases - Probabilistic DCF simulation: Samples driver distributions (uniform, triangular, normal, lognormal, discrete) through inverse CDFs and re-runs the DCF engine per trial, with a mandatory seed for full reproducibility. - Correlated drivers via a common-factor model: Assign factor loadings so drivers like revenue growth and margin move together, with realized correlations reported against targets. - Scenario and percentile analysis: Price named discrete scenarios into a probability-weighted expected value, or locate a market price inside a published percentile table. - Use Case: Valuing an oil company where the oil price dominates — regress revenues on the oil price, simulate the oil price and target margin as correlated distributions, and report a 10th-to-90th percentile value range instead of a single number. ## Quick Start Run a Monte Carlo simulation on my completed DCF by distributing revenue growth and operating margin, then tell me where the current market price sits in the resulting value distribution.

Frequently Asked Questions about monte-carlo-valuation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a Monte Carlo simulation on a DCF valuation?

Finish the base-case DCF first, then pass it as JSON with two to four driver distributions to the simulate subcommand. The script re-runs the same DCF engine per trial and returns percentiles, the probability value exceeds the market price, and refusal counts.

Which probability distribution should I use for valuation drivers?

Triangular is the default workhorse since a minimum, likeliest, and maximum are defensible analyst inputs. Use lognormal for growth rates and prices with a floor and long right tail, normal for symmetric errors like margins, and discrete for a few named outcomes.

How do I model correlated drivers in a Monte Carlo valuation?

Assign each driver a loading between -1 and 1 on a named common factor; two drivers on the same factor end up correlated at the product of their loadings. The output reports the realized correlation next to the target so you can verify it landed.

Why is a seed required for the simulation?

A seed makes the run exactly reproducible, which is what makes the result auditable. Without a recorded seed, a simulated valuation cannot be re-run to the same numbers by anyone else.

What does it mean when many simulation trials are refused?

Refusals mean draws described impossible companies, usually terminal growth above the discount rate or reinvestment above 100% of income. A refusal share above a few percent signals the input distributions reach past hard constraints and should be tightened.

When should I use scenarios instead of continuous distributions?

Use scenarios when the doubt is about which of a few named stories is true, or when a binary event like a licence decision breaks the narrative. A binary risk forced into a continuous distribution produces misleading bimodal output.