Kom igång med aktieanalys i Python med BörsAPI

En snabbguide med färdiga kodexempel för att hämta finansiella rapporter via API:et, läsa in dem i Pandas och beräkna nyckeltal som ROIC och EV/EBIT.

12 juni 20267 min läsning

För utvecklare och kvantitativa analytiker är Python det självklara valet. Här går vi igenom hur du hämtar data från BörsAPI.se, laddar in det i Pandas och snabbt beräknar avancerade finansiella nyckeltal.

Steg 1: Installera beroenden

Vi kommer att använda de populära biblioteken requests för HTTP-anrop och pandas för tabellhantering. Installera dem via pip:

pip install requests pandas

Steg 2: Hämta finansiella rapporter

Följande skript anropar BörsAPI för att hämta alla tillgängliga rapporter för ett bolag och läser in dem i en Pandas DataFrame.

import requests
import pandas as pd

API_KEY = "fd_din_api_nyckel_här"
COMPANY_ISIN = "SE0021628898" # Volvo Cars

url = f"https://borsapi.se/api/v1/companies/{COMPANY_ISIN}/reports"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Accept": "application/json"
}

response = requests.get(url, headers=headers)
if response.status_code == 200:
    reports = response.json()
    # Skapa en Pandas DataFrame av rapporterna
    df = pd.DataFrame(reports)
    
    # Sortera efter period
    df = df.sort_values(by="period")
    
    # Visa de senaste 5 raderna med omsättning och resultat
    print(df[["period", "report_type", "revenue", "operating_income", "net_income"]].tail())
else:
    print(f"Fel {response.status_code}: {response.text}")

Steg 3: Beräkna finansiella nyckeltal

BörsAPI normaliserar samtliga kostnadsfält till negativa tal. Det gör det enkelt att göra enkla matematiska summeringar utan att behöva oroa sig för teckenkonventioner.

Här är ett exempel på hur du beräknar rörelsemarginal (EBIT-marginal) och avkastning på eget kapital (ROE) i din DataFrame:

# 1. Beräkna rörelsemarginal (EBIT-marginal)
df["ebit_margin"] = (df["operating_income"] / df["revenue"]) * 100

# 2. Beräkna avkastning på eget kapital (ROE)
# (förutsätter att total_equity finns i databasen)
df["roe"] = (df["net_income"] / df["total_equity"]) * 100

print(df[["period", "ebit_margin", "roe"]])

Kvantitativ analys och portföljoptimering

Med all data strukturerad i Pandas kan du enkelt gå vidare till mer avancerade analyser:

  • Historisk trendanalys: Hitta bolag med stabil omsättningstillväxt under de senaste 3-5 åren.
  • Skuldsättningsanalys: Beräkna Netto skuld / EBITDA för att utvärdera finansiell risk.
  • Automatisk screening: Filtrera hela svenska börsen (990+ bolag) på sekunder för att hitta de mest prisvärda "Value-bolagen" baserat på EV/EBIT-multiplar.

Kom igång med BörsAPI

För att använda dessa mallar och skript behöver du ett personligt konto och en API-nyckel. Det är helt kostnadsfritt under vår beta-period.

1. Skapa konto

Registrera dig på några sekunder via registreringssidan.

2. Generera API-nyckel

Gå till din Dashboard och klicka på "Generera API-nyckel".

3. Anslut i mallen

Ersätt placeholder-nyckeln i källkoden eller kalkylarket med din personliga nyckel.