[PHP] Skąd pobrać i w jaki sposób pokazać aktualne notowania spółek z giełd na całym świecie?

0x01 graphic

Chcesz pobrać aktualne notowania firm na giełdach amerykańskich i światowych (również akcje polskich firm).

0x01 graphic

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.