Close Menu
    Wat is hot

    Kwantumdreiging? Blackrock vlakt toekomstig risico op bitcoin ETF -indiening

    May 14, 2025

    Bitcoin om USD te vervangen in ’10 jaar ‘: legendarische belegger

    May 14, 2025

    Solaxy -voorverkoop explodeert met bijna $ 1 miljoen in twee dagen, wordt de beste voorverkoop om voor Altcoin Rally te kopen

    May 14, 2025
    Facebook X (Twitter) Instagram
    • Over Ons
    • Privacybeleid
    Facebook X (Twitter) Instagram
    Crypto Dagelijks
    • Thuis
    • Nieuws
    • Cryptogeld
    • Altcoin
    • Bitcoin
    • Definitie
    • Dogecoin
    • Ethereum
    Crypto Dagelijks
    Home»Nieuws»Bouw een LLM-aangedreven portfolio-assistent met behulp van FMP’s ETF Holdings API | Door Pranjal Saxena | Coinmonks | April, 2025
    Nieuws

    Bouw een LLM-aangedreven portfolio-assistent met behulp van FMP’s ETF Holdings API | Door Pranjal Saxena | Coinmonks | April, 2025

    cryptodagelijksBy cryptodagelijksApril 29, 2025No Comments6 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Bij het bouwen van een portfolio -assistent maakt de kwaliteit van uw gegevensbron het verschil. U hebt een feed nodig die betrouwbaar, realtime en gemakkelijk om mee te werken is.

    Dit is precies waar Financial Modellering Prep’s (FMP) ETF Holdings API komt binnen.

    De API biedt gedetailleerde informatie over de afzonderlijke bedrijven in een ETF – inclusief de naam van elke voorraad, tickers symbool en gewichtspercentage.

    Dit maakt het ongelooflijk eenvoudig om assistenten te bouwen die echte gebruikersvragen kunnen beantwoorden zonder complexe financiële databases.

    Hier is een voorbeeld van hoe eenvoudig het is om ETF Holdings -gegevens op te halen:

    https://financialmodelingprep.com/api/v3/etf-holdings/SPY?apikey=YOUR_API_KEY

    Een oproep als deze zal gestructureerde informatie retourneren zoals:

    {
    "holdings": [
    {
    "asset": "Apple Inc.",
    "assetSymbol": "AAPL",
    "weightPercentage": 7.2
    },
    {
    "asset": "Microsoft Corporation",
    "assetSymbol": "MSFT",
    "weightPercentage": 6.1
    },
    ...
    ]
    }

    Met deze schone gegevensset in de hand, kunt u eenvoudig vragen beantwoorden zoals:

    • “Welke voorraad heeft het hoogste gewicht in spion?”
    • “Maak een lijst van alle bedrijven in QQQ boven 2% gewicht.”
    • “Laat me alle technologische aandelen zien in VTI.” (met enkele verbeteringen)

    Door de ETF Holdings API van FMP te gebruiken, elimineert u het zware werk van handmatige gegevensextractie en laat uw AI -systeem gefocust blijven op het leveren van snelle, nauwkeurige portfolio -inzichten.

    Voordat we duiken in het ophalen van ETF -bedrijven en het bouwen van een portfolio -assistent, laten we de omgeving snel instellen.

    Het idee is om dingen licht en modulair te houden, zodat u het later gemakkelijk kunt uitbreiden als u wilt.

    1. Installeer de vereiste bibliotheken

    Je hebt slechts een paar Python -bibliotheken nodig om te beginnen:

    • verzoeken – Om de FMP API te bellen en ETF -bedrijven op te halen.
    • openai of een andere lichtgewicht LLM API – Om gebruikersvragen op natuurlijke wijze te interpreteren.
    • (Optioneel) Panda’s – Als u Holdings -gegevens schoneer wilt organiseren.

    U kunt ze installeren met:

    pip install requests openai pandas

    (Als u een andere LLM -provider gebruikt, pas dan de bibliotheek dienovereenkomstig aan.)

    2. Krijg uw FMP API -sleutel

    U hebt een API -sleutel nodig van Financial Modellering Prep.

    Als u er geen hebt, kunt u zich eenvoudig registreren bij de voorbereiding van de financiële modellen en uw sleutel krijgen.

    Zodra je het hebt, bewaar het veilig:

    FMP_API_KEY = "your_actual_api_key_here"

    3. (Optioneel) Krijg uw LLM API -sleutel

    Als u van plan bent om de GPT -modellen van Openai of iets dergelijks te gebruiken, hebt u ook een API -sleutel van de respectieve provider nodig.

    Voorbeeld voor openai:

    OPENAI_API_KEY = "your_openai_api_key_here"

    We zullen het later gebruiken om gebruikersvragen te verzenden en intelligenter te interpreteren.

    4. Overzicht van de projectstructuur

    Hier is een eenvoudige structuur die u kunt volgen:

    portfolio_assistant/
    │
    ├── app.py # Main logic for fetching data and answering questions
    ├── helpers.py # (Optional) Utility functions for API calls and formatting
    ├── requirements.txt # List of required libraries
    └── README.md # Basic project overview

    Door dingen modulair te houden, wordt het gemakkelijker om later verbeteringen toe te voegen, zoals sectorafbraak, multi-ETF-behandeling of een webinterface.

    Met de projectopstelling klaar, is de eerste stap om Live ETF Holdings op te halen met behulp van de API van FMP.

    We zullen een eenvoudige Python -functie maken die alle aandelen in een bepaalde ETF trekt, samen met hun gewichtspercentages.

    Hier is hoe u het kunt doen:

    import requests

    FMP_API_KEY = "your_actual_api_key_here"
    def fetch_etf_holdings(etf_symbol):
    url = f"https://financialmodelingprep.com/api/v3/etf-holdings/{etf_symbol}?apikey={FMP_API_KEY}"
    response = requests.get(url)
    if response.status_code == 200:
    data = response.json()
    return data.get("holdings", [])
    else:
    print(f"Error fetching data: {response.status_code}")
    return []

    Voorbeeldgebruik:

    holdings = fetch_etf_holdings("SPY")

    for holding in holdings:
    print(f"{holding['assetSymbol']} - {holding['asset']} - {holding['weightPercentage']}%")

    Voorbeelduitvoer:

    AAPL - Apple Inc. - 7.2%
    MSFT - Microsoft Corporation - 6.1%
    AMZN - Amazon.com Inc. - 3.5%
    ...

    Wat deze functie u geeft

    • bezit – Volledige bedrijfsnaam (bijv. Apple Inc.)
    • Assetsymbol – Stock Ticker (bijv. AAPL)
    • gewicht – Hoeveel gewicht die voorraad heeft in de ETF

    Deze schone structuur maakt het ongelooflijk eenvoudig om aandelen te ondervragen, rangschikken en filteren op basis van gebruikersvragen.

    Zodra u de ETF Holdings -gegevens hebt, is de volgende stap het ontwerpen van de logica die de vragen van de gebruiker interpreteert en slimme antwoorden retourneert.

    We houden het simpel:

    – Gebruik een lichtgewicht LLM (zoals GPT-3.5 of een klein open-source model) tot Detecteer de bedoeling van de gebruiker.

    – Dan, Pas filterlogica toe over de Holdings -gegevens op basis van die intentie.

    1. Definieer mogelijke gebruikersintenties

    Uw portfolio -assistent kan worden ontworpen om vragen te verwerken als:

    • Top Holdings
    Example: "Show me the top 5 holdings in SPY."

    • Holdings Above a Threshold
    Example: "List all stocks in QQQ with more than 3% weight."

    • Specific Stock Query
    Example: "What is Apple's weight in SPY?"

    Later kun je dit uitbreiden naar nog meer intenties zoals Sector breakdowns of ETF -vergelijkingen.

    2. Proef lichtgewicht intentiedetectie

    Hier is een eenvoudige functie die trefwoorddetectie gebruikt (of u kunt dit verbeteren met behulp van LLM -prompt voltooiing):

    def detect_intent(question):
    question = question.lower()

    if "top" in question:
    return "top_holdings"
    elif "more than" in question or "above" in question:
    return "holdings_above_threshold"
    elif "weight" in question:
    return "specific_stock_weight"
    else:
    return "unknown"

    U kunt dit verbeteren door de vraag naar een LLM te sturen met een prompt zoals:

    Classificeer de volgende gebruikersvraag in een van deze categorieën: [top_holdings, holdings_above_threshold, specific_stock_weight]. Vraag: {user_question}

    Parseer vervolgens het antwoord van de LLM.

    3. Doe de intenties op Holdings -gegevens

    Bijvoorbeeld:

    • Bovenste belangen:

    def get_top_holdings(holdings, top_n=5):
    sorted_holdings = sorted(holdings, key=lambda x: x['weightPercentage'], reverse=True)
    return sorted_holdings[:top_n]

    • Holdings boven een drempel:

    def get_holdings_above_threshold(holdings, threshold=3.0):
    return [h for h in holdings if h['weightPercentage'] > threshold]

    • Specifiek voorraadgewicht:

    def get_stock_weight(holdings, stock_symbol):
    for h in holdings:
    if h['assetSymbol'].lower() == stock_symbol.lower():
    return h['weightPercentage']
    return None

    4. Voorbeeldstroom

    user_question = "Show me the top 5 holdings in SPY"
    intent = detect_intent(user_question)

    holdings = fetch_etf_holdings("SPY")
    if intent == "top_holdings":
    top_stocks = get_top_holdings(holdings)
    for stock in top_stocks:
    print(f"{stock['assetSymbol']} - {stock['asset']} - {stock['weightPercentage']}%")

    Laten we een paar voorbeelden doorlopen om te zien hoe de portfolio -assistent omgaan met vragen van echte gebruikers met behulp van FMP’s ETF Holdings API en lichtgewicht logica.

    Voorbeeld 1:

    Gebruikersvraag: “Laat me de Top 5 Holdings in Spy zien.”

    Stroom:

    1. Detecteer intentie → top_holdings.
    2. Holdings -gegevens ophalen voor spion.
    3. Sorteer op gewichtpercentage en kies de top 5.

    Code Voorbeeld:

    user_question = "Show me the top 5 holdings in SPY"
    intent = detect_intent(user_question)

    holdings = fetch_etf_holdings("SPY")

    if intent == "top_holdings":
    top_stocks = get_top_holdings(holdings)
    for stock in top_stocks:
    print(f"{stock['assetSymbol']} - {stock['asset']} - {stock['weightPercentage']}%")

    Monsteruitgang:

    AAPL - Apple Inc. - 7.2%
    MSFT - Microsoft Corporation - 6.1%
    AMZN - Amazon.com Inc. - 3.5%
    NVDA - NVIDIA Corporation - 3.2%
    GOOGL - Alphabet Inc. - 2.8%

    Voorbeeld 2:

    Gebruikersvraag: “Maak een lijst van alle aandelen in QQQ met een gewicht van meer dan 3%.”

    Stroom:

    1. Detecteer intentie → Holdings_above_threshold.
    2. Holdings -gegevens ophalen voor QQQ.
    3. Filtervoorraden waar gewichtpercentage> 3.0.

    Code Voorbeeld:

    user_question = "List all stocks in QQQ with more than 3% weight"
    intent = detect_intent(user_question)

    holdings = fetch_etf_holdings("QQQ")

    if intent == "holdings_above_threshold":
    filtered_stocks = get_holdings_above_threshold(holdings, threshold=3.0)
    for stock in filtered_stocks:
    print(f"{stock['assetSymbol']} - {stock['asset']} - {stock['weightPercentage']}%")

    Belangrijke afhaalrestaurants

    • De assistent haalt op Live ETF Holdings.
    • Het detecteert de bedoeling van gebruikersvragen, zelfs als ze iets anders formuleren.
    • Antwoorden zijn nauwkeurig, realtime en direct afgeleid van de FMP-gegevens.

    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    cryptodagelijks
    • Website

    Related Posts

    Kwantumdreiging? Blackrock vlakt toekomstig risico op bitcoin ETF -indiening

    May 14, 2025

    Bitcoin om USD te vervangen in ’10 jaar ‘: legendarische belegger

    May 14, 2025

    Solaxy -voorverkoop explodeert met bijna $ 1 miljoen in twee dagen, wordt de beste voorverkoop om voor Altcoin Rally te kopen

    May 14, 2025

    Hoe investeringsmaatschappij Jeffries een nieuwe crypto -kans heeft aangegrepen

    May 14, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Topberichten
    Topinzichten

    Kwantumdreiging? Blackrock vlakt toekomstig risico op bitcoin ETF -indiening

    May 14, 2025

    Bitcoin om USD te vervangen in ’10 jaar ‘: legendarische belegger

    May 14, 2025

    Solaxy -voorverkoop explodeert met bijna $ 1 miljoen in twee dagen, wordt de beste voorverkoop om voor Altcoin Rally te kopen

    May 14, 2025
    Juridische pagina’s
    • Disclaimer
    • DMCA
    • Over Ons
    • Privacybeleid

    Type above and press Enter to search. Press Esc to cancel.