[PHP] Skąd pobrać i w jaki sposób pokazać aktualne notowania spółek z giełd na całym świecie?
Chcesz pobrać aktualne notowania firm na giełdach amerykańskich i światowych (również akcje polskich firm).
Jeżeli prowadzisz serwis branżowy, warto pokusić się o prezentację aktualnych notowań giełdowych dla firm z Twojej branży. W serwisach finansowych prezentacja aktualnych notowań dowolnych firm to wręcz obowiązek. Dla przykładu możesz zobaczyć aktualne notowania firmy Microsoft:
symbol: |
MSFT |
aktualny kurs: |
25.86 |
dzień: |
5/14/2004 |
godzina: |
4:00pm |
zmiana: |
-0.24 |
kurs otwarcia: |
25.98 |
maksimum: |
26.17 |
minimum: |
25.64 |
wolumen: |
43775224 |
Zobacz jak na własnej stronie zaprezentować kurs dowolnej firmy. Nie jest to trudne.
Notowania najważniejszych spółek na całym świecie udostępnia serwis Yahoo! i można je przeglądać wsprost na stronie finance.yahoo.com lub też pobrać w formacie CSV (zwykła linijka sformatowanego tekstu, wygodna do przetwarzania przez skrypty).
Wystarczy więc kilka linijek kodu w PHP aby pobrać notowania firmy i przedstawić je w czytelnym dla człowieka formacie. Zanim pobierzesz notowania musisz tylko poznać symbol firmy (zwykle składa się z kilku liter, np. MSFT dla Microsoftu, YHOO dla Yahoo! itd.)
Napiszmy sobie prostą funkcję, która połączy się z serwerem Yahoo!, pobierze dane CSV dla podanego symbolu i wyświetli zawartość pobranej tablicy w postaci czytelnej tabelki:
<?
function notowanie($symbol) {
$f=fopen(
"http://finance.yahoo.com/d/quotes.csv?s=$symbol&f=sl1d1t1c1ohgv&e=.csv","r");
$dane=fgetcsv($f,1000,",");
fclose($f);
echo "
<table cellspacing=0 cellpadding=2 border=1>
<tr><td>symbol:</td><td>$dane[0]</td></tr>
<tr><td>aktualny kurs:</td><td>$dane[1]</td></tr>
<tr><td>dzień:</td><td>$dane[2]</td></tr>
<tr><td>godzina:</td><td>$dane[3]</td></tr>
<tr><td>zmiana:</td><td>$dane[4]</td></tr>
<tr><td>kurs otwarcia:</td><td>$dane[5]</td></tr>
<tr><td>najwyższy kurs:</td><td>$dane[6]</td></tr>
<tr><td>najniższy kurs:</td><td>$dane[7]</td></tr>
<tr><td>wolumen:</td><td>$dane[8]</td></tr>
</table>
";
}
notowanie("YHOO");
echo "<p>";
notowanie("MSFT");
?>
Gotowe. Wynik działania skryptu prezentuje się następująco:
symbol: |
YHOO |
aktualny kurs: |
26.97 |
dzień: |
5/14/2004 |
godzina: |
4:00pm |
zmiana: |
-0.13 |
kurs otwarcia: |
27.54 |
najwyższy kurs: |
27.67 |
najniższy kurs: |
26.75 |
wolumen: |
19204858 |
symbol: |
MSFT |
aktualny kurs: |
25.86 |
dzień: |
5/14/2004 |
godzina: |
4:00pm |
zmiana: |
-0.24 |
kurs otwarcia: |
25.98 |
najwyższy kurs: |
26.17 |
najniższy kurs: |
25.64 |
wolumen: |
43775224 |
Mamy więc notowania dwóch firm. Dodając kolejne wywołania funkcji lub zmieniając symbole można pobierać aktualne ceny akcji różnych firm (nawet polskich) - tylko ceny podane są oczywiście w dolarach amerykańskich.