You are on page 1of 13

Standard Normal Probability Density Function

N(0,1) pdf 0.4500


z Formula Excel N(0,1) pdf
-4.0 0.0001 0.0001 0.4000
-3.8 0.0003 0.0003
-3.6 0.0006 0.0006 0.3500
-3.4 0.0012 0.0012
0.3000
-3.2 0.0024 0.0024
-3.0 0.0044 0.0044 0.2500
-2.8 0.0079 0.0079
-2.6 0.0136 0.0136 0.2000
-2.4 0.0224 0.0224
-2.2 0.0355 0.0355 0.1500
-2.0 0.0540 0.0540 0.1000
-1.8 0.0790 0.0790
-1.6 0.1109 0.1109 0.0500
-1.4 0.1497 0.1497
-1.2 0.1942 0.1942 0.0000
-1.0 0.2420 0.2420 .0 .6 .2 .8 .4 .0 .6 .2 .8 .4 .0 .4 .8 .2 .6
-4 -3 -3 -2 -2 -2 -1 -1 -0 -0 0 0 0 1 1
-0.8 0.2897 0.2897
-0.6 0.3332 0.3332
-0.4 0.3683 0.3683
-0.2 0.3910 0.3910
0.0 0.3989 0.3989
0.2 0.3910 0.3910
0.4 0.3683 0.3683
0.6 0.3332 0.3332
0.8 0.2897 0.2897
1.0 0.2420 0.2420
1.2 0.1942 0.1942
1.4 0.1497 0.1497
1.6 0.1109 0.1109
1.8 0.0790 0.0790
2.0 0.0540 0.0540
2.2 0.0355 0.0355
2.4 0.0224 0.0224
2.6 0.0136 0.0136
2.8 0.0079 0.0079
3.0 0.0044 0.0044
3.2 0.0024 0.0024
3.4 0.0012 0.0012
3.6 0.0006 0.0006
3.8 0.0003 0.0003
4.0 0.0001 0.0001
This sheet shows how to calculate the standard normal
Formula probability density function using either formulas from the book
or Excel's built-in functions.
Excel

.2 0.8 0.4 0.0 0.4 0.8 1.2 1.6 2.0 2.4 2.8 3.2 3.6 4.0
- -
normal
as from the book
Standard Normal Cumulative Distribution Function
Abromowitz and Stegun approximation

Constants N(0,1) cdf


b1 0.3193815 z Formula Excel
b2 -0.356564 -4.0 0.5191 0.0000 0.0000 0.0000
b3 1.7814779 -3.8 0.5318 0.0001 0.0001 0.0001
b4 -1.821256 -3.6 0.5453 0.0002 0.0002 0.0002
b5 1.3302744 -3.4 0.5594 0.0003 0.0003 0.0003
p 0.2316419 -3.2 0.5743 0.0007 0.0007 0.0007
c 0.3989423 -3.0 0.5900 0.0013 0.0013 0.0013
-2.8 0.6066 0.0026 0.0026 0.0026
-2.6 0.6241 0.0047 0.0047 0.0047
-2.4 0.6427 0.0082 0.0082 0.0082
-2.2 0.6624 0.0139 0.0139 0.0139
-2.0 0.6834 0.0228 0.0228 0.0228
-1.8 0.7057 0.0359 0.0359 0.0359
-1.6 0.7296 0.0548 0.0548 0.0548
-1.4 0.7551 0.0808 0.0808 0.0808
-1.2 0.7825 0.1151 0.1151 0.1151
-1.0 0.8119 0.1587 0.1587 0.1587
-0.8 0.8437 0.2119 0.2119 0.2119
-0.6 0.8780 0.2743 0.2743 0.2743
-0.4 0.9152 0.3446 0.3446 0.3446
-0.2 0.9557 0.4207 0.4207 0.4207
0.0 1.0000 0.5000 0.5000 0.5000
0.2 0.9557 0.4207 0.5793 0.5793
0.4 0.9152 0.3446 0.6554 0.6554
0.6 0.8780 0.2743 0.7257 0.7257
0.8 0.8437 0.2119 0.7881 0.7881
1.0 0.8119 0.1587 0.8413 0.8413
1.2 0.7825 0.1151 0.8849 0.8849
1.4 0.7551 0.0808 0.9192 0.9192
1.6 0.7296 0.0548 0.9452 0.9452
1.8 0.7057 0.0359 0.9641 0.9641
2.0 0.6834 0.0228 0.9772 0.9772
2.2 0.6624 0.0139 0.9861 0.9861
2.4 0.6427 0.0082 0.9918 0.9918
2.6 0.6241 0.0047 0.9953 0.9953
2.8 0.6066 0.0026 0.9974 0.9974
3.0 0.5900 0.0013 0.9987 0.9987
3.2 0.5743 0.0007 0.9993 0.9993
3.4 0.5594 0.0003 0.9997 0.9997
3.6 0.5453 0.0002 0.9998 0.9998
3.8 0.5318 0.0001 0.9999 0.9999
4.0 0.5191 0.0000 1.0000 1.0000
1.2000 This sheet show
N(0,1) cdf Formula cumulative dis
Excel
There is no exp
1.0000
distribution; ho
approximation
approximation
0.8000 "code" tab.

We also show h
0.6000 built-in functio

0.4000

0.2000

0.0000
.0 .6 .2 .8 .4 .0 .6 .2 .8 .4 .0 .4 .8 .2 .6 .0 .4 .8 .2 .6 .0
-4 -3 -3 -2 -2 -2 -1 -1 -0 -0 0 0 0 1 1 2 2 2 3 3 4
This sheet shows how to calculate the standard normal
cumulative distribution function two different ways.

There is no explicit formula for the normal cumulative


distribution; however, there are some well known
approximations. Here we use the Abromowitz and Stegun
approximation. C# code for this algorithm is provided on the
"code" tab.

We also show how to calculate the normal cdf using Excel's


built-in function.
Standard Normal Cumulative Distribution Function Inverse

Constants p<pLow p<=pHigh


a1 -39.69683 cdf q cdi q r cdi
a2 220.9461 0.001 3.717 -3.090 -0.499 0.249 -2.996
a3 -275.9285 0.010 3.035 -2.326 -0.490 0.240 -2.326
a4 138.35775 0.025 2.716 -1.960 -0.475 0.226 -1.960
a5 -30.6648 0.050 2.448 -1.645 -0.450 0.203 -1.645
a6 2.5066283 0.075 2.276 -1.440 -0.425 0.181 -1.440
b1 -54.4761 0.100 2.146 -1.282 -0.400 0.160 -1.282
b2 161.58584 0.125 2.039 -1.150 -0.375 0.141 -1.150
b3 -155.699 0.150 1.948 -1.036 -0.350 0.123 -1.036
b4 66.801312 0.175 1.867 -0.935 -0.325 0.106 -0.935
b5 -13.28068 0.200 1.794 -0.842 -0.300 0.090 -0.842
c1 -7.78E-03 0.225 1.727 -0.755 -0.275 0.076 -0.755
c2 -0.322396 0.250 1.665 -0.675 -0.250 0.063 -0.674
c3 -2.400758 0.275 1.607 -0.598 -0.225 0.051 -0.598
c4 -2.549733 0.300 1.552 -0.524 -0.200 0.040 -0.524
c5 4.3746641 0.325 1.499 -0.454 -0.175 0.031 -0.454
c6 2.938164 0.350 1.449 -0.385 -0.150 0.023 -0.385
d1 7.78E-03 0.375 1.401 -0.319 -0.125 0.016 -0.319
d2 0.3224671 0.400 1.354 -0.253 -0.100 0.010 -0.253
d3 2.4451341 0.425 1.308 -0.189 -0.075 0.006 -0.189
d4 3.7544087 0.450 1.264 -0.126 -0.050 0.002 -0.126
pLow 0.02425 0.475 1.220 -0.063 -0.025 0.001 -0.063
pHigh 0.97575 0.500 1.177 0.000 0.000 0.000 0.000
0.525 1.135 0.063 0.025 0.001 0.063
0.550 1.093 0.125 0.050 0.003 0.126
0.575 1.052 0.189 0.075 0.006 0.189
0.600 1.011 0.253 0.100 0.010 0.253
0.625 0.970 0.318 0.125 0.016 0.319
0.650 0.928 0.385 0.150 0.023 0.385
0.675 0.887 0.453 0.175 0.031 0.454
0.700 0.845 0.523 0.200 0.040 0.524
0.725 0.802 0.597 0.225 0.051 0.598
0.750 0.759 0.673 0.250 0.063 0.674
0.775 0.714 0.754 0.275 0.076 0.755
0.800 0.668 0.839 0.300 0.090 0.842
0.825 0.620 0.931 0.325 0.106 0.935
0.850 0.570 1.032 0.350 0.123 1.036
0.875 0.517 1.144 0.375 0.141 1.150
0.900 0.459 1.273 0.400 0.160 1.282
0.925 0.395 1.426 0.425 0.181 1.440
0.950 0.320 1.622 0.450 0.203 1.645
0.975 0.225 1.909 0.475 0.226 1.960
0.990 0.142 2.212 0.490 0.240 2.326
0.999 0.045 2.667 0.499 0.249 2.996
else N(0,1) cdf-1 4.0000
q cdi Formula Excel N(0,1) cdf-1
0.045 -2.667 -3.0902 -3.0902 3.0000
0.142 -2.212 -2.3263 -2.3263
0.225 -1.909 -1.9600 -1.9600 2.0000
0.320 -1.622 -1.6449 -1.6449
0.395 -1.426 -1.4395 -1.4395 1.0000
0.459 -1.273 -1.2816 -1.2816
0.517 -1.144 -1.1503 -1.1503 0.0000
0.570 -1.032 -1.0364 -1.0364 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
0 0 02 07 12 17 22 27 32 3 7 42 47 52 57 62 67 72
0.620 -0.931 -0.9346 -0.9346 -1.00000. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0
0.668 -0.839 -0.8416 -0.8416
0.714 -0.754 -0.7554 -0.7554 -2.0000
0.759 -0.673 -0.6745 -0.6745
0.802 -0.597 -0.5978 -0.5978 -3.0000
0.845 -0.523 -0.5244 -0.5244
0.887 -0.453 -0.4538 -0.4538 -4.0000
0.928 -0.385 -0.3853 -0.3853
0.970 -0.318 -0.3186 -0.3186
1.011 -0.253 -0.2533 -0.2533
1.052 -0.189 -0.1891 -0.1891
1.093 -0.125 -0.1257 -0.1257
1.135 -0.063 -0.0627 -0.0627
1.177 0.000 0.0000 0.0000
1.220 0.063 0.0627 0.0627
1.264 0.126 0.1257 0.1257
1.308 0.189 0.1891 0.1891
1.354 0.253 0.2533 0.2533
1.401 0.319 0.3186 0.3186
1.449 0.385 0.3853 0.3853
1.499 0.454 0.4538 0.4538
1.552 0.524 0.5244 0.5244
1.607 0.598 0.5978 0.5978
1.665 0.675 0.6745 0.6745
1.727 0.755 0.7554 0.7554
1.794 0.842 0.8416 0.8416
1.867 0.935 0.9346 0.9346
1.948 1.036 1.0364 1.0364
2.039 1.150 1.1503 1.1503
2.146 1.282 1.2816 1.2816
2.276 1.440 1.4395 1.4395
2.448 1.645 1.6449 1.6449
2.716 1.960 1.9600 1.9600
3.035 2.326 2.3263 2.3263
3.717 3.090 3.0902 3.0902
This sheet shows how to calculate the inverse of the standard
Formula normal cumulative distribution function two different ways.
Excel
There is no explicit formula for the inverse of the normal
cumulative distribution; however, there are some well known
approximations. We use one of these approximations here. C#
code for this algorithm is provided on the "code" tab.

We also show how to calculate the normal cdf using Excel's


built-in function.

5 5 5 5 5 5 5 5 5 5 5 5 9
42 .47 .52 .57 .62 .67 .72 .77 .82 .87 .92 .97 .99
0 0 0 0 0 0 0 0 0 0 0 0
erse of the standard
wo different ways.

of the normal
e some well known
roximations here. C#
"code" tab.

l cdf using Excel's


/// <summary>
/// Cumulative Standard Normal Dist
/// </summary>
public static double CSND(double z)
{
//uses Abromowitz and Stegun approximation

const double b1 = 0.319381530;


const double b2 = -0.356563782;
const double b3 = 1.781477937;
const double b4 = -1.821255978;
const double b5 = 1.330274429;
const double p = 0.2316419;
const double c = 0.39894228;

if (z < 0.0)
{
double t = 1.0/(1.0 - p*z);
return (c*Math.Exp(-z*z/2.0)*t*(t*(t*(t*(t*b5 + b4) + b3) + b2) + b1));
}
else
{
double t = 1.0/(1.0 + p*z);
return (1.0 - c*Math.Exp(-z*z/2.0)*t*(t*(t*(t*(t*b5 + b4) + b3) + b2) + b1));
}
}
/// <summary>
/// Inverse Cumulative Standard Normal Dist
/// </summary>
public static double InvCSND(double p)
{
const double a1 = -39.6968302866538;
const double a2 = 220.946098424521;
const double a3 = -275.928510446969;
const double a4 = 138.357751867269;
const double a5 = -30.6647980661472;
const double a6 = 2.50662827745924;
const double b1 = -54.4760987982241;
const double b2 = 161.585836858041;
const double b3 = -155.698979859887;
const double b4 = 66.8013118877197;
const double b5 = -13.2806815528857;
const double c1 = -7.78489400243029E-03;
const double c2 = -0.322396458041136;
const double c3 = -2.40075827716184;
const double c4 = -2.54973253934373;
const double c5 = 4.37466414146497;
const double c6 = 2.93816398269878;
const double d1 = 7.78469570904146E-03;
const double d2 = 0.32246712907004;
const double d3 = 2.445134137143;
const double d4 = 3.75440866190742;
const double pLow = 0.02425;
const double pHigh = 1 - pLow;

double q;
if (p < 0 || p > 1)
{
return double.NaN;
}
if (p < pLow)
{
q = Math.Sqrt(-2 * Math.Log(p));
return (((((c1 * q + c2) * q + c3) * q + c4) * q + c5) * q + c6) / ((((d1 * q + d2) * q + d3) * q + d4) * q
}
if (p <= pHigh)
{
q = p - 0.5;
double r = q * q;
return (((((a1 * r + a2) * r + a3) * r + a4) * r + a5) * r + a6) * q / (((((b1 * r + b2) * r + b3) * r + b4) *
}
q = Math.Sqrt(-2 * Math.Log(1 - p));
return -(((((c1 * q + c2) * q + c3) * q + c4) * q + c5) * q + c6) / ((((d1 * q + d2) * q + d3) * q + d4) * q +
}
+ d2) * q + d3) * q + d4) * q + 1);

* r + b2) * r + b3) * r + b4) * r + b5) * r + 1);

+ d2) * q + d3) * q + d4) * q + 1);

You might also like