fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Random Sampling and Monte Carlo Intuition

Install and import#

bash
npm install fintech-algorithms
ts
import { randomSamplingAndMonteCarloIntuition } from "fintech-algorithms/foundations/probability-distributions-and-simulation-basics/random-sampling-and-monte-carlo-intuition";

Signature#

randomSamplingAndMonteCarloIntuition(input)

Estimates the probability p by counting how many of sampleCount seeded uniform draws land at or below it, and reports how far that Monte Carlo estimate lands from the known answer.

Parameters#

NameTypeNotes
inputD00InputOne record carrying seed and sampleCount for the draw, and p, which is both the probability being estimated and the target the estimate is scored against. sigma is validated by the family entry point before dispatching.
sampleCount: 1 or greater · sigma: strictly positive · p: between 0 and 1 inclusive

Returns#

D00Output

An object with estimate (share of draws at or below p), target (echoes p), absoluteError (the gap between the two) and sampleCount (the number of draws actually used).

Errors#

  • When p is missing or outside 0 to 1 — this check runs for every topic in the family — throws RangeError
  • When sigma is zero or negative — this check runs for every topic from A05 onward — throws RangeError
  • When sampleCount is below 1 — throws RangeError

Complexity: time O(n), space O(n).

Worked example#

verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.

Input#

input
{
  "values": [0.2, 0.5, 0.7, 1, 1.4],
  "x": 1,
  "p": 0.3,
  "n": 5,
  "k": 2,
  "lambda": 2,
  "seed": 42,
  "sampleCount": 8,
  "mu": 0,
  "sigma": 1,
  "df": 5,
  "shape": 2,
  "scale": 1.5,
  "components": [
    {
      "weight": 0.7,
      "mean": 0,
      "sd": 1
    },
    {
      "weight": 0.3,
      "mean": 3,
      "sd": 0.8
    }
  ]
}

Call#

randomSamplingAndMonteCarloIntuition(input)

Returns#

object with 2 fields: estimate, target

{
  "estimate": 0.625,
  "target": 0.3
}

Diagrams#

Random Sampling and Monte Carlo Intuition — article hero
Random Sampling and Monte Carlo Intuition — calculation ledger
Random Sampling and Monte Carlo Intuition — concept anatomy
Random Sampling and Monte Carlo Intuition — failure boundary
Random Sampling and Monte Carlo Intuition — method map
Random Sampling and Monte Carlo Intuition — scenario contrast

How it works#

This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.

Read the article →

References#

The rest of the Probability Distributions and Simulation Basics family#