NAME

Math::Business::EMA - Technical Analysis: Exponential Moving Average

SYNOPSIS

use Math::Business::EMA;

my $avg = new Math::Business::EMA;
   $avg->set_days(7);

my @closing_values = qw(
    3 4 4 5 6 5 6 5 5 5 5 
    6 6 6 6 7 7 7 8 8 8 8 
);

# choose one:
$avg->insert( @closing_values );
$avg->insert( $_ ) for @closing_values;

if( defined(my $q = $avg->query) ) {
    print "value: $q.\n";  

} else {
    print "value: n/a.\n";
}

For short, you can skip the set_days() by suppling the setting to new():

my $longer_ema = new Math::Business::EMA(10);

AUTHOR

Paul Miller <jettero@cpan.org>

I am using this software in my own projects... If you find bugs, please please please let me know.

I normally hang out on #perl on freenode, so you can try to get immediate gratification there if you like. irc://irc.freenode.net/perl

There is also a mailing list with very light traffic that you might want to join: http://groups.google.com/group/stockmonkey/.

COPYRIGHT

Copyright (c) 2008 Paul Miller -- LGPL [Software::License::LGPL_2_1]

perl -MSoftware::License::LGPL_2_1 \
     -e '$l = Software::License::LGPL_2_1->new({
         holder=>"Paul Miller"});
         print $l->fulltext' | less

SEE ALSO

perl(1), Math::Business::EMA, Math::Business::StockMonkey, Math::Business::StockMonkey::FAQ, Math::Business::StockMonkey::CookBook

http://en.wikipedia.org/wiki/Exponential_moving_average