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

[amibroker] Re: Code for CUMULATIVE normal distribution



PureBytes Links

Trading Reference Links

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@xxx> 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/