App-Chart
view release on metacpan or search on metacpan
devel/brown72-import.pl view on Meta::CPAN
{
my $symbol = 'BROWN72-DIFFS.DATA';
my @data = ();
my $h = { source => $progname,
prefer_decimals => 2,
data => \@data };
my $tdate = App::Chart::ymd_to_tdate_floor (1980,1,1);
open my $in, '<', $filename or die;
while (defined (my $line = <$in>)) {
$line =~ s/,//;
Scalar::Util::looks_like_number($line) or next;
push @data, { symbol => $symbol,
date => App::Chart::tdate_to_iso($tdate),
close => $line,
};
$tdate++;
}
close $in or die;
print "$symbol @{[scalar @data]} values imported\n";
App::Chart::Database->add_symbol ($symbol);
App::Chart::Download::write_daily_group ($h);
$mean = List::Util::sum (map {$_->{'close'}} @data) / scalar @data;
print "mean $mean\n";
}
{
my $symbol = 'BROWN72-CUMUL.DATA';
my @data = ();
my $h = { source => $progname,
prefer_decimals => 2,
data => \@data };
my $tdate = App::Chart::ymd_to_tdate_floor (1980,1,1);
my $total = 0;
push @data, { symbol => $symbol,
date => App::Chart::tdate_to_iso($tdate),
close => $total,
};
$tdate++;
open my $in, '<', $filename or die;
while (defined (my $line = <$in>)) {
$line =~ s/,//;
Scalar::Util::looks_like_number($line) or next;
$line -= $mean;
$total += $line;
push @data, { symbol => $symbol,
date => App::Chart::tdate_to_iso($tdate),
close => $total,
};
$tdate++;
}
close $in or die;
print "$symbol @{[scalar @data]} values imported\n";
App::Chart::Database->add_symbol ($symbol);
# require Data::Dumper;
# print Data::Dumper->Dump([$h],['h']);
App::Chart::Download::write_daily_group ($h);
}
exit 0;
( run in 0.494 second using v1.01-cache-2.11-cpan-4ef0a570458 )