[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Code for CUMULATIVE normal distribution



PureBytes Links

Trading Reference Links

Johan, you're the man!

Thanks very much for this. Do you have any references of which 
algorithm/approximation this originates from?

thx,

PS

--- In amibroker@xxxxxxxxxxxxxxx, "johsun" <joh.sun@xxx> wrote:
>
> Hello,
> 
> this one works for me:
> 
> 
> 
> function NORMDIST( x, mean, stddev, Cumulative ) {
> 
>   k = 2 / sqrt( 3.14159265 );
>   z = ( x - mean ) / ( stddev * sqrt( 2 ) ); 
>   q = k * ( z - z ^ 3 / 3 + z ^ 5 / 10 - z ^ 7 / 42 + z ^ 9 / 216
>       - z ^ 11 / 1320 + z ^ 13 / 9360 - z ^ 15 / 75600 );
> 
>   if ( Cumulative ) {
>     result = ( 1 + q ) / 2;
>   }
> 
>   else {
>     result = ( 1 / ( sqrt( 2 * 3.14159265 ) * stddev ) ) 
>          * exp( -( x - mean ) ^ 2 / ( 2 * stddev ^ 2 ) );
>   }
> 
>   return result;
> 
> }
> 
> 
> 
> regards Johan
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "vlanschot" <vlanschot@> wrote:
> >
> > I have various functions for normal distributions, but for some 
> reason 
> > none seem to be able to replicate Excel's NORMDIST
> (x,mean,stdev,TRUE).
> > 
> > I've applied the Abramowitz & Stegun approximation to calculate 
the 
> > cumulative normal function. However, the pdf agrees with Excel's 
> > NORMDIST(x,mean,stdev,FALSE), but the cdf does not match its 
> NORMDIST
> > (x,mean,stdev,TRUE).
> > 
> > I did read there have been criticisms expressed as to the 
accuracy 
> of 
> > XL's approximations, but doubt this is applicable in this case.
> > 
> > Any suggestions appreciated.
> > 
> > PS
> >
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/