Hogyan nyerhet ki alapvető adatokat az S&P 500-ból Python segítségével
Az S&P 500 index az Egyesült Államok 500 legnagyobb nyilvános vállalatának benchmark teljesítményét mutatja. Nagyon fontos ezekből a cégekből az alapvető adatok kinyerése a befektetők, elemzők és kutatók számára.
A Python egy nagyszerű nyelv, amelyen keresztül az ilyen információk kinyerhetők, majd elemezhetők kiterjedt könyvtárai segítségével. A következő bejegyzés bemutatja, hogyan nyerhetjük ki az S&P 500 index alapvető adatait a Python segítségével.
Miért érdemes kivonni az alapvető adatokat?
Az alapvető adatok magukban foglalják az alapvető pénzügyi információkat, például a bevételeket, a bevételeket, az osztalékokat és más, általában a vállalat pénzügyi erejének meghatározására használt mérőszámokat.
Ezzel a fajta adatkinyeréssel a befektetők kétségtelenül bölcsebb döntéseket hozhatnak a tőkéjük befektetését illetően. A fundamentális elemzés az értékbefektetés szerves része, és lényegében megállapítja, hol rejlik egy részvény belső értéke.
Előfeltételek
Mielőtt továbblépne, erősítse meg, hogy rendelkezik az alábbi előfeltételekkel −
- Python 3.x telepítve: Győződjön meg arról, hogy a Python 3.x telepítve van a rendszerében.
- A Python alapismeretei: Alapvető ismeretekkel kell rendelkeznie az olyan könyvtárakról, mint a pandák, kérések és yfinance. Ezenkívül bármilyen IDE/szövegszerkesztővel kell rendelkeznie, mint például a Jupyter Notebook vagy a VS Code.
-
Szükséges könyvtárak telepítése: A szükséges könyvtárakat a pip használatával telepítheti az alábbi paranccsal -
pip install pandas requests yfinance
Az adatok kibontásának lépései
Az alábbiakban bemutatjuk az alapvető adatok kinyerését az S&P 500-ból Python segítségével
1. lépés: Importálja a szükséges könyvtárakat
Először importálja a szükséges könyvtárakat az alábbiak szerint −
import pandas as pd
import yfinance as yf
import requests
from bs4 import BeautifulSoup
- pandák: adatok manipulálásához és elemzéséhez.
- yfinance: Python-csomag tőzsdei adatok letöltéséhez a Yahoo-ról. Pénzügy.
- kérések: HTTP-kérés küldése a weboldalakon.
- Gyönyörű leves: A HTML-t elemzi, hogy könnyen hozzáférhető módon kinyerhessen információkat a weboldalakról.
Emellett, ha inkább online szeretné futtatni a Python-kódot anélkül, hogy bármit is kellene helyileg telepítenie, használja a Python Online Compiler-t. Üdvözöljük azok számára, akik a Python-szkripteket közvetlenül a böngészőjükben szeretnék végrehajtani gyors tesztek és tanulás céljából.
2. lépés: Szerezze meg az S&P 500-as cégek listáját
Meg kell szereznünk az S&P 500-at alkotó cégek listáját −
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', {'id': 'constituents'})
df = pd.read_html(str(table))[0]
df.to_csv('sp500_companies.csv', index=False)Show the first few rows of the dataframe
df.head()
3. lépés: Alapadatok lekaparása az yfinance segítségével
A következő kód az S&P 500-as cégek táblázatához kaparja a Wikipédiát, és az adatokat egy panda DataFrame-be helyezi. Tartalmaz egy listát a cég ticker-szimbólumával, a nevével, a szektorával és egyéb releváns részletekkel.
Az S&P 500-as cégek listájának összeállítása után megkezdhetjük az alapvető adatok gyűjtését az yfinance segítségével. Az alábbiakban bemutatjuk, hogyan lehet adatokat levonni a piaci kapitalizációról, a PE és az osztalékhozamról −
def get_fundamental_data(ticker):
stock = yf.Ticker(ticker)
info = stock.info
data = {
'Ticker': ticker,
'Market Cap': info.get('marketCap', 'N/A'),
'PE Ratio': info.get('trailingPE', 'N/A'),
'Dividend Yield': info.get('dividendYield', 'N/A'),
'EPS': info.get('trailingEps', 'N/A')
}
return data
Extract data for a few companies
tickers = df['Symbol'].head(5) # Get tickers for the first 5 companies
fundamental_data = [get_fundamental_data(ticker) for ticker in tickers]
fundamental_df = pd.DataFrame(fundamental_data)
Print the extracted data
fundamental_df
Fent található a - kódja
- A get_fundamental_data függvény, amely tőzsdei indexet vesz bemenetként, és visszaadja az alapvető adatok szótárát.
- Alkalmazza az S&P 500-as vállalatok egy részhalmazára, és tárolja a kimenetet egy DataFrame-ben.
4. lépés: Vizualizálja vagy elemezze az adatokat
Az adatok kinyerése után nagy valószínűséggel szeretné vizualizálni vagy valamilyen módon elemezni az adatokat. Íme egy példa arra, hogyan ábrázolhatja a határidős PE-mutatók eloszlását az S&P 500 között –
import matplotlib.pyplot as plt
Extract PE Ratios for all companies
df['PE Ratio'] = df['Symbol'].apply(lambda x: get_fundamental_data(x)['PE Ratio'])
df['PE Ratio'] = pd.to_numeric(df['PE Ratio'], errors='coerce')
Plot the distribution of PE Ratios
plt.figure(figsize=(10, 6))
df['PE Ratio'].dropna().hist(bins=50)
plt.title('Distribution of PE Ratios in the S&P 500')
plt.xlabel('PE Ratio')
plt.ylabel('Number of Companies')
plt.show()
Ez a diagram értékes betekintést nyújt az S&P 500-ban szereplő cégek értékelésébe. A hisztogram megérzi, hogy hány vállalat esik meghatározott PE-mutató-tartományba.
5. lépés: Mentse el és ossza meg adatait
Végül érdemes lehet menteni a kinyert adatokat további elemzés céljából, vagy megosztani másokkal. A DataFrame-et meglehetősen egyszerű módon exportálhatja a CSV-fájlba:
fundamental_df.to_csv('sp500_fundamental_data.csv', index=False)
A fenti parancs a DataFrame-et egy sp500_fundamental_data.csv nevű CSV formátumú fájlba írja, amely megnyitható Excelben vagy bármely más adatelemző eszközben.