Om een sector warmtekaart te maken, hebben we eerst nodig realtime Sectorprestatiegegevens. Financiële modelleringsvoorbereiding biedt een API die de dagelijkse percentageverandering voor elke sector bijhoudt. Dit stelt ons in staat om te zien welke sectoren waarde winnen of verliezen.
De API retourneert gegevens voor meerdere sectoren, waaronder technologie, gezondheidszorg, financiële gegevens en energie. De prestaties van elke sector worden uitgedrukt als een procentuele verandering ten opzichte van de vorige handelsdag. Positieve waarden duiden op groei, terwijl negatieve waarden een achteruitgang aangeven.
Om toegang te krijgen tot deze gegevens, sturen we een verzoek naar de FMP Sector Performance API. Het API -eindpunt is:
https://financialmodelingprep.com/api/v4/sector-performance?apikey=YOUR_API_KEY
Het antwoord bevat sectornamen en hun procentuele wijzigingen. Hier is een voorbeelduitgang:
{
"Technology": 2.5,
"Healthcare": -1.2,
"Financials": 0.8,
"Energy": -2.3
}
Laten we nu deze gegevens ophalen met behulp van Python en deze omzetten in een Pandas DataFrame.
import requests
import pandas as pd# Define API Key
API_KEY = "YOUR_API_KEY"
URL = f"https://financialmodelingprep.com/api/v4/sector-performance?apikey={API_KEY}"
# Fetch data
response = requests.get(URL)
data = response.json()
# Convert to DataFrame
df = pd.DataFrame(list(data.items()), columns=["Sector", "Performance"])
df.set_index("Sector", inplace=True)
# Display the data
print(df)
Dit script haalt het nieuwste op Sectorprestatiegegevens en structureert het in een tabelformaat. Het DataFrame maakt het gemakkelijker om de gegevens te verwerken en te visualiseren.
Voordat we de warmtekaart maken, zullen we de gegevens reinigen en opmaken. Dit omvat het verwerken van ontbrekende waarden en sorteersectoren op basis van prestaties.
# Remove any missing values
df.dropna(inplace=True)# Sort sectors by performance
df = df.sort_values(by="Performance", ascending=False)
print(df)
In dit stadium hebben we een Schone en gestructureerde dataset Dat is klaar voor visualisatie.
Nu we de sectorprestatiegegevens hebben verwerkt, zullen we een Sector warmtekaart gebruik Voedselplotlib. Een warmtekaart helpt visualiseren welke sectoren goed presteren en welke achterblijven.
Matplotlib biedt een eenvoudige manier om een warmtekaart te maken met behulp van de imshow () functie, die elke sector kleurt op basis van de procentuele verandering. Positieve waarden (versterkers) worden getoond in groenteTerwijl negatieve waarden (verliezers) worden getoond rood.
1. Installeer matplotlib (indien niet geïnstalleerd)
Als u Matplotlib niet hebt geïnstalleerd, installeert u deze met:
pip install matplotlib
2. Plot de warmtekaart van de sector
We zullen nu een kleurgecodeerde warmtekaart voor sectorprestaties.
import matplotlib.pyplot as plt
import numpy as np# Define colors (Green for gainers, Red for losers)
colors = ["green" if value > 0 else "red" for value in df["Performance"]]
# Create the heat map
plt.figure(figsize=(8, 6))
plt.barh(df.index, df["Performance"], color=colors)
# Add labels and title
plt.xlabel("Performance (%)")
plt.ylabel("Sectors")
plt.title("Stock Market Sector Performance Heat Map")
# Display the grid for reference
plt.grid(axis="x", linestyle="--", alpha=0.5)
# Show the heat map
plt.show()
Deze warmtekaart Ranks sectoren op basis van prestatiesmet de best presterende sectoren bovenaan.
3. Het aanpassen van de warmtekaart voor een betere visualisatie
Als we een Dieper kleurengradiëntWe kunnen gebruiken Zeeboord voor een betere styling.
pip install seaborn
import seaborn as sns# Create a color gradient
plt.figure(figsize=(8, 6))
sns.heatmap(df.T, cmap="RdYlGn", annot=True, linewidths=0.5, fmt=".2f", cbar=True)
# Add title
plt.title("Stock Market Sector Heat Map")
plt.xlabel("")
plt.ylabel("")
# Show the heat map
plt.show()
Deze versie Gebruikt een kleurgradiëntwaardoor het gemakkelijker wordt om de prestaties van de sector te vergelijken.
In dit stadium hebben we met succes een Sector warmtekaart Dat vertegenwoordigt visueel markttrends.
De sector warmtekaart geeft een Snelle visuele weergave van markttrends. Door het te analyseren, kunnen we identificeren welke industrieën goed presteren En die worstelen. Dit helpt handelaren, beleggers en analisten wel geïnformeerde beslissingen te nemen.
1. Identificeer sterke en zwakke sectoren
Sectoren met Groene staven of Positieve waarden leiden de markt, terwijl die met Rode staven of Negatieve waarden zijn achterblijvend.
Om de beste en slechtst presterende sectoren te vinden, kunnen we de bovenste en onderste waarden in onze gegevensset controleren:
# Find the best-performing sector
best_sector = df.idxmax()["Performance"]
best_value = df.max()["Performance"]
print(f"Best Performing Sector: {best_sector} ({best_value:.2f}%)")# Find the worst-performing sector
worst_sector = df.idxmin()["Performance"]
worst_value = df.min()["Performance"]
print(f"Worst Performing Sector: {worst_sector} ({worst_value:.2f}%)")
Interpretatie:
- A Sterke technologiesector kan het vertrouwen van beleggers in innovatie en groeifelten aangeven.
- A Zwakke energiesector Kan de dalende olieprijzen of wettelijke zorgen weerspiegelen.
2. Inzicht in sectorcorrelaties
Sommige sectoren samen bewegenterwijl anderen zich gedragen onafhankelijk. Bijvoorbeeld, wanneer Technologievoorraden stijgenZe kunnen andere groeisectoren zoals consumentendiscretionair ophalen. Als Financiën dalenHet kan duiden op economische zorgen.
We kunnen de prestaties van de sector vergelijken gedurende meerdere dagen om correlaties te identificeren:
# Fetch sector data for multiple days (extend the API request)
historical_data = pd.DataFrame([
{"Sector": "Technology", "Performance": 2.5, "Date": "2024-03-01"},
{"Sector": "Technology", "Performance": 1.8, "Date": "2024-03-02"},
{"Sector": "Financials", "Performance": -1.2, "Date": "2024-03-01"},
{"Sector": "Financials", "Performance": -0.5, "Date": "2024-03-02"}
])# Pivot for better visualization
pivot_df = historical_data.pivot(index="Date", columns="Sector", values="Performance")
# Plot the trend over time
pivot_df.plot(kind="line", figsize=(8, 5), marker="o", title="Sector Performance Over Time")
plt.xlabel("Date")
plt.ylabel("Performance (%)")
plt.grid()
plt.show()
Belangrijke inzichten:
- Als een sector meerdere dagen goed presteert, kan dit aangeven aanhoudende kracht.
- Een sector die in de tegenovergestelde richting van de markt kan signaleren Een verschuiving in beleggerssentiment.
3. Vergelijking van de huidige prestaties met historische trends
We kunnen de sectorprestaties van vandaag vergelijken met Historische gemiddelden om ongebruikelijke activiteit te herkennen.
# Calculate average performance over time (assuming we have multiple days of data)
df["Historical_Average"] = df["Performance"].rolling(5).mean()# Compare current vs. average
df["Above_Average"] = df["Performance"] > df["Historical_Average"]
print(df[["Performance", "Historical_Average", "Above_Average"]])
Waarom is dit belangrijk?
- Als een sector springt plotseling boven het gemiddeldehet kan duiden op een nieuwe trend.
- Als een sector valt onder de gebruikelijke prestatieshet kan te wijten zijn Negatief nieuws of economische verschuivingen.
Belangrijkste afhaalrestaurants van de warmtekaart van de sector
- Best presterende sectoren Geef aan waar geld op de markt stroomt.
- Sectorcorrelaties Help begrijpen marktbrede trends.
- Historische vergelijkingen onthullen of sectorbewegingen zijn tijdelijke of langetermijntrends.
