Lognormal Distribution and Positive Quantities
Install and import#
npm install fintech-algorithmsimport { lognormalDistributionAndPositiveQuantities } from "fintech-algorithms/foundations/probability-distributions-and-simulation-basics/lognormal-distribution-and-positive-quantities";Signature#
lognormalDistributionAndPositiveQuantities(input)Evaluates the lognormal density and cumulative probability at input.x for a variable whose logarithm is normal with mean mu and standard deviation sigma, and returns the distribution's median.
Parameters#
| Name | Type | Notes |
|---|---|---|
input | D00Input | One record carrying x (the point to evaluate, on the original positive scale), mu and sigma (the mean and standard deviation of the underlying log scale), plus p, which the family entry point validates before dispatching.sigma: strictly positive · p: between 0 and 1 inclusive |
Returns#
D00Output
An object with pdf, cdf and median. The median is always exp(mu). For x at or below zero the function returns pdf and cdf of zero rather than throwing, since the lognormal puts no mass there.
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
Complexity: time O(1),
space O(1).
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#
{
"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#
lognormalDistributionAndPositiveQuantities(input)Returns#
object with 2 fields: pdf, cdf
{
"pdf": 0.3989422804014327,
"cdf": 0.5
}Diagrams#
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.
References#
- Probability Distributions — NIST/SEMATECH e-Handbook
- Probability Distributions — SciPy User Guide
- Random Sampling — NumPy Documentation
- Historical-example decision