Maison >développement back-end >Tutoriel Python >Script Python pour l'analyse du sentiment boursier
"La bourse est remplie d'individus qui connaissent le prix de tout, mais la valeur de rien." -Philip Fisher
Python gagne considérablement en popularité et est utilisé dans un large éventail d'applications, depuis les calculs de base jusqu'à l'analyse statistique avancée des données boursières. Dans cet article, nous examinerons un script Python qui illustre la domination croissante de Python dans le monde financier. Sa capacité à s'intégrer de manière transparente aux données, à effectuer des calculs complexes et à automatiser des tâches en fait un outil inestimable pour les professionnels de la finance.
Ce script montre comment Python peut être utilisé pour analyser les gros titres de l'actualité et extraire des informations précieuses sur le sentiment du marché. En tirant parti de la puissance des bibliothèques de traitement du langage naturel (NLP), le script analyse le ton émotionnel des articles d'actualité liés à un titre spécifique. Cette analyse peut fournir des informations cruciales aux investisseurs, les aidant à :
import requests import pandas as pd from nltk.sentiment.vader import SentimentIntensityAnalyzer # THIS NEEDS TO BE INSTALLED # --------------------------- # import nltk # nltk.download('vader_lexicon') # Function to fetch news headlines from a free API def get_news_headlines(ticker): """ Fetches news headlines related to the given stock ticker from a free API. Args: ticker: Stock ticker symbol (e.g., 'AAPL', 'GOOG'). Returns: A list of news headlines as strings. """ # We are using the below free api from this website https://eodhd.com/financial-apis/stock-market-financial-news-api url = f'https://eodhd.com/api/news?s={ticker}.US&offset=0&limit=10&api_token=demo&fmt=json' response = requests.get(url) response.raise_for_status() # Raise an exception for bad status codes try: data = response.json() # Extract the 'title' from each article headlines = [article['title'] for article in data] return headlines except (KeyError, ValueError, TypeError): print(f"Error parsing API response for {ticker}") return [] # Function to perform sentiment analysis on headlines def analyze_sentiment(headlines): """ Performs sentiment analysis on a list of news headlines using VADER. Args: headlines: A list of news headlines as strings. Returns: A pandas DataFrame with columns for headline and sentiment scores (compound, positive, negative, neutral). """ sia = SentimentIntensityAnalyzer() sentiments = [] for headline in headlines: sentiment_scores = sia.polarity_scores(headline) sentiments.append([headline, sentiment_scores['compound'], sentiment_scores['pos'], sentiment_scores['neg'], sentiment_scores['neu']]) df = pd.DataFrame(sentiments, columns=['Headline', 'Compound', 'Positive', 'Negative', 'Neutral']) return df # Main function if __name__ == "__main__": ticker = input("Enter stock ticker symbol: ") headlines = get_news_headlines(ticker) if headlines: sentiment_df = analyze_sentiment(headlines) print(sentiment_df) # Calculate average sentiment average_sentiment = sentiment_df['Compound'].mean() print(f"Average Sentiment for {ticker}: {average_sentiment}") # Further analysis and visualization can be added here # (e.g., plotting sentiment scores, identifying most positive/negative headlines) else: print(f"No news headlines found for {ticker}.")
Sortie :
La polyvalence et les bibliothèques puissantes de Python en font un outil indispensable pour l'analyse de données et les tâches informatiques modernes. Sa capacité à tout gérer, des calculs simples aux analyses boursières complexes, souligne sa valeur dans tous les secteurs. À mesure que Python continue d'évoluer, son rôle dans la stimulation de l'innovation et de l'efficacité dans la prise de décision basée sur les données est appelé à s'étendre encore davantage, consolidant ainsi sa place de pierre angulaire du progrès technologique
remarque : contenu assisté par l'IA
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!