NAME
HiSQuotes::MICEX - Site-specific class for retrieving historical stock quotes via Moscow Interbank Currency Exchange (MICEX) - Russia.
SYNOPSIS
use HiSQuotes::MICEX;
$micex = HiSQuotes::MICEX->new
(
'proxy-host' => "172.31.102.243",
'proxy-port => "1433",
'username' => "name",
'password' => "password",
'cookie-file' => "cookies",
'timeout' => 50;
);
$micex->table("full");
...
$micex->board("all");
my ($date_from, $date_to) = $micex->quotes("SYM", "PINFO");
...
my $hash_ref = $micex->quotes("SYM", "LAST");
...
my $hash_ref = $micex->quotes("SYM", "21.07.2008", "05.09.2008");
CONSTRUCTOR
- $micex = HiSQuotes::MICEX->new([%options])
-
Possible options are:
KEY DEFAULT ----------- -------------------- proxy-host *_proxy environment proxy-port 8080, username undef password undef cookie-file micex_cookies timeout 60
ATTRIBUTES
- $micex->table
- $micex->table($field)
-
Get/Set format. Possible fields are: FULL, SHORT (default). $current_value = $micex->table; $old_value = $micex->table("FULL")
- $micex->board
- $micex->board($board)
-
Get/Set board id. Possible id are: ALL, MAIN (default), NDM, REPO, RPMA, SMALL. $current_value = $micex->board; $old_value = $micex->board("ALL")
REQUEST METHODS
- $micex->quotes("SYM", "PINFO")
-
Return a DateTime trade period for stock symbol.
my ($date_from, $date_to) = $micex->quotes("SYM", "PINFO");
- $micex->quotes("SYM", "LAST")
-
Return a hash ref, for last trade date.
my $hash_ref = $micex->quotes("SYM", "LAST");
- $micex->quotes("SYM", dd.mm.yyyy, dd.mm.yyyy)
-
Return a hash ref, for trade period.
my $hash_ref = $micex->quotes("SYM", "21.07.2008", "05.09.2008");
Hash fields
# $hash_ref->{$trade_date}{$board}{$field}
Field SHORT FULL
----- ------- -------
TRADEDATE X X
BOARDID X X
STOCKSYMBOL X X
TABLE X X
VOLUME X X
VALUE X X
NUMTRADES X X
OPEN X X
LOW X X
HIGH X X
WAPRICE X X
TRENDWAP X X
MARKETPRC1 X X
MARKETPRC2 X X
ADMQUOTE X X
MONTHLYCAP X X
ISIN X
FACEVALUE X
PREV X
PRLEGCLPRC X
OPENPERIOD X
LEGOPPRICE X
LEGCLPRICE X
CLOSE X
CLOSEPER X
TRENDCLOSE X
TRENDCLSPR X
TRENDWAPPR X
OPENVAL X
CLOSEVAL X
HIGHBID X
LOWOFFER X
BID X
OFFER X
MPVALTRD X
MP2VALTRD X
ADMVALUE X
ISSUESIZE X
DAILYCAP X
EXAMPLES
use HiSQuotes::MICEX;
my $proxy_host = "172.31.102.243";
my $proxy_port = "1433";
#my $username = "name";
#my $password = "password";
#my $cookie_file = "cookies";
#my $timeout = 50;
my $micex = HiSQuotes::MICEX->new('proxy-host' => $proxy_host,
'proxy-port' => $proxy_port);
my $stock_symbol = "GMKN";
my ($date_from, $date_to) = $micex->quotes($stock_symbol, "pinfo");
print_period($stock_symbol, $date_from, $date_to);
my $hash_ref = $micex->quotes($stock_symbol, "last");
print_quotes($hash_ref);
$date_from = "21.07.2008";
$date_to = "05.09.2008";
$micex->table("full");
$micex->board("all");
$hash_ref = $micex->quotes($stock_symbol, $date_from, $date_to);
print_quotes($hash_ref);
sub print_period {
my ($stock_symbol, $date_from, $date_to) = @_;
$~ = "PERIODFT";
write();
}
sub print_quotes {
my $hash_ref = shift;
$~ = "QUOTEFT";
foreach $tradeDate (keys %$hash_ref) {
foreach $boardID (keys %{$hash_ref->{$tradeDate}}) {
$hashPtr = \%{$hash_ref->{$tradeDate}{$boardID}};
write();
}
}
}
format PERIODFT =
---------------------------------------
| STOCKSYMBOL: @>>>>>>>>>>>>>>> |
$stock_symbol,
| DATEFROM: @>>>>>>>>> |
$date_from->dmy,
| DATETO: @>>>>>>>>> |
$date_to->dmy
---------------------------------------
.
format QUOTEFT =
---------------------------------------
| TRADEDATE: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'TRADEDATE'},
| STOCKSYMBOL: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'STOCKSYMBOL'},
| TABLE: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'TABLE'},
| ISIN: ~@>>>>>>>>>>>>>>>>>> |
$hashPtr->{'ISIN'},
| BOARDID: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'BOARDID'},
| |
| FACEVALUE: @#############.#### |
$hashPtr->{'FACEVALUE'},
| VOLUME: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'VOLUME'},
| VALUE: @###############.## |
$hashPtr->{'VALUE'},
| NUMTRADES: @>>>>>>>>>>>>>>>>>> |
$hashPtr->{'NUMTRADES'},
| |
| PREV: @#############.#### |
$hashPtr->{'PREV'},
| PRLEGCLPRC: @#############.#### |
$hashPtr->{'PRLEGCLPRC'},
| OPENPERIOD: @#############.#### |
$hashPtr->{'OPENPERIOD'},
| OPEN: @#############.#### |
$hashPtr->{'OPEN'},
| LEGOPPRICE: @#############.#### |
$hashPtr->{'LEGOPPRICE'},
| LOW: @#############.#### |
$hashPtr->{'LOW'},
| HIGH: @#############.#### |
$hashPtr->{'HIGH'},
| LEGCLPRICE: @#############.#### |
$hashPtr->{'LEGCLPRICE'},
| CLOSE: @#############.#### |
$hashPtr->{'CLOSE'},
| CLOSEPER: @#############.#### |
$hashPtr->{'CLOSEPER'},
| WAPRICE: @#############.#### |
$hashPtr->{'WAPRICE'},
| |
| TRENDCLOSE: @#############.#### |
$hashPtr->{'TRENDCLOSE'},
| TRENDCLSPR: @###############.## |
$hashPtr->{'TRENDCLSPR'},
| TRENDWAP: @#############.#### |
$hashPtr->{'TRENDWAP'},
| TRENDWAPPR: @###############.## |
$hashPtr->{'TRENDWAPPR'},
| |
| OPENVAL: @#############.#### |
$hashPtr->{'OPENVAL'},
| CLOSEVAL: @#############.#### |
$hashPtr->{'CLOSEVAL'},
| |
| HIGHBID: @#############.#### |
$hashPtr->{'HIGHBID'},
| LOWOFFER: @#############.#### |
$hashPtr->{'LOWOFFER'},
| |
| BID: @#############.#### |
$hashPtr->{'BID'},
| OFFER: @#############.#### |
$hashPtr->{'OFFER'},
| |
| MARKETPRC1: @#############.#### |
$hashPtr->{'MARKETPRC1'},
| MARKETPRC2: @#############.#### |
$hashPtr->{'MARKETPRC2'},
| ADMQUOTE: @#############.#### |
$hashPtr->{'ADMQUOTE'},
| |
| MPVALTRD: @###############.## |
$hashPtr->{'MPVALTRD'},
| MP2VALTRD: @###############.## |
$hashPtr->{'MP2VALTRD'},
| ADMVALUE: @###############.## |
$hashPtr->{'ADMVALUE'},
| |
| ISSUESIZE: @################## |
$hashPtr->{'ISSUESIZE'},
| DAILYCAP: @###############.## |
$hashPtr->{'DAILYCAP'},
| MONTHLYCAP: @###############.## |
$hashPtr->{'MONTHLYCAP'}
---------------------------------------
.
COPYRIGHT
Copyright (c) 2008, Novikov Artem Gennadievich (novikovag@gmail.com). All Rights Reserved. This program is free software. You may copy and/or redistribute it under the same terms as Perl itself.