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.

Kapcsolódó cikkek