From 91dc68d829e5c622969799418241858c6e5972dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine?= Date: Wed, 2 Oct 2024 10:37:30 +0200 Subject: [PATCH 1/6] init --- _blog.yml | 13 +- leaderboard-finbench.md | 282 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 294 insertions(+), 1 deletion(-) create mode 100644 leaderboard-finbench.md diff --git a/_blog.yml b/_blog.yml index a5d9943f20..c249e4c9c2 100644 --- a/_blog.yml +++ b/_blog.yml @@ -4721,4 +4721,15 @@ - research - leaderboard - LLM - \ No newline at end of file + + +- local: leaderboard-finbench + title: "Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance" + author: QianqianXie1994 + guest: true + thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail.png + date: Oct 4, 2024 + tags: + - leaderboard + - collaboration + - community \ No newline at end of file diff --git a/leaderboard-finbench.md b/leaderboard-finbench.md new file mode 100644 index 0000000000..6769703e6e --- /dev/null +++ b/leaderboard-finbench.md @@ -0,0 +1,282 @@ +--- +title: "Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance" +thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail.png +authors: +- user: QianqianXie1994 + org: TheFinAI + guest: true +- user: jiminHuang + org: TheFinAI + guest: true +- user: Effoula + org: TheFinAI + guest: true +- user: yanglet + guest: true +- user: alejandroll10 + guest: true +- user: Benyou + guest: true +- user: ldruth + org: TheFinAI + guest: true +- user: xiangr + org: TheFinAI + guest: true +- user: Me1oy + org: TheFinAI + guest: true +- user: ShirleyY + guest: true +- user: mirageco + guest: true +- user: blitzionic + guest: true +- user: clefourrier +--- + +# Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance + +The growing complexity of financial language models (LLMs) necessitates evaluations that go beyond general NLP benchmarks. While traditional leaderboards focus on broader NLP tasks like translation or summarization, they often fall short in addressing the specific needs of the finance industry. Financial tasks, such as predicting stock movements, assessing credit risks, and extracting information from financial reports, present unique challenges that require models with specialized skills. This is why we decided to create the **Open FinLLM Leaderboard** + +The leaderboard provides a **specialized evaluation framework** tailored specifically to the financial sector. We hope it fills this critical gap, by providing a transparent framework that assesses model readiness for real-world use with a one-stop solution. The leaderboard is designed to highlight a model's **financial skill** by focusing on tasks that matter most to finance professionals—such as information extraction from financial documents, market sentiment analysis, and forecasting financial trends. + +* **Comprehensive Financial Task Coverage:** The leaderboard evaluates models only on tasks that are directly relevant to finance. These tasks include **information extraction**, **sentiment analysis**, **credit risk scoring**, and **stock movement forecasting**, which are crucial for real-world financial decision-making. +* **Real-World Financial Relevance:** The datasets used for the benchmarks represent real-world challenges faced by the finance industry. This ensures that models are actually assessed on their ability to handle complex financial data, making them suitable for industry applications. +* **Focused Zero-Shot Evaluation:** The leaderboard employs a **zero-shot evaluation** method, testing models on unseen financial tasks without any prior fine-tuning. This approach reveals a model’s ability to generalize and perform well in financial contexts, such as predicting stock price movements or extracting entities from regulatory filings, without being explicitly trained on those tasks. + + +## **Key Features of the Open Financial LLM Leaderboard** + +* **Diverse Task Categories:** The leaderboard covers tasks across seven categories: Information Extraction (IE), Textual Analysis (TA), Question Answering (QA), Text Generation (TG), Risk Management (RM), Forecasting (FO), and Decision-Making (DM). +* **Evaluation Metrics:** Models are assessed using a variety of metrics, including Accuracy, F1 Score, ROUGE Score, and Matthews Correlation Coefficient (MCC). These metrics provide a multidimensional view of model performance, helping users identify the strengths and weaknesses of each model. + + +## Supported Tasks and Metric + +The **Open Financial LLM Leaderboard (OFLL)** evaluates financial language models across a diverse set of categories that reflect the complex needs of the finance industry. Each category targets specific capabilities, ensuring a comprehensive assessment of model performance in tasks directly relevant to finance. + +### Categories + +The selection of task categories in OFLL is intentionally designed to capture the full range of capabilities required by financial models. This approach is influenced by both the diverse nature of financial applications and the complexity of the tasks involved in financial language processing. + +* **Information Extraction (IE):** The financial sector often requires structured insights from unstructured documents such as regulatory filings, contracts, and earnings reports. Information extraction tasks include **Named Entity Recognition (NER)**, **Relation Extraction**, and **Causal Classification**. These tasks evaluate a model’s ability to identify key financial entities, relationships, and events, which are crucial for downstream applications such as fraud detection or investment strategy. +* **Textual Analysis (TA):** Financial markets are driven by sentiment, opinions, and the interpretation of financial news and reports. Textual analysis tasks such as **Sentiment Analysis**, **News Classification**, and **Hawkish-Dovish Classification** help assess how well a model can interpret market sentiment and textual data, aiding in tasks like investor sentiment analysis and policy interpretation. +* **Question Answering (QA):** This category addresses the ability of models to interpret complex financial queries, particularly those that involve numerical reasoning or domain-specific knowledge. The QA tasks, such as those derived from datasets like **FinQA** and **TATQA**, evaluate a model’s capability to respond to detailed financial questions, which is critical in areas like risk analysis or financial advisory services. +* **Text Generation (TG):** Summarization of complex financial reports and documents is essential for decision-making. Tasks like **ECTSum** and **EDTSum** test models on their ability to generate concise and coherent summaries from lengthy financial texts, which is valuable in generating reports or analyst briefings. +* **Forecasting (FO):** One of the most critical applications in finance is the ability to forecast market movements. Tasks under this category evaluate a model’s ability to predict stock price movements or market trends based on historical data, news, and sentiment. These tasks are central to tasks like portfolio management and trading strategies. +* **Risk Management (RM):** This category focuses on tasks that evaluate a model’s ability to predict and assess financial risks, such as **Credit Scoring**, **Fraud Detection**, and **Financial Distress Identification**. These tasks are fundamental for credit evaluation, risk management, and compliance purposes. +* **Decision-Making (DM):** In finance, making informed decisions based on multiple inputs (e.g., market data, sentiment, and historical trends) is crucial. Decision-making tasks simulate complex financial decisions, such as **Mergers & Acquisitions** and **Stock Trading**, testing the model’s ability to handle multimodal inputs and offer actionable insights. + +#### Metrics + +* **F1-score**, the harmonic mean of precision and recall, offers a balanced evaluation, especially important in cases of class imbalance within the dataset. Both metrics are standard in classification tasks and together give a comprehensive view of the model's capability to discern sentiments in financial language. +* **Accuracy** measures the proportion of correctly classified instances out of all instances, providing a straightforward assessment of overall performance. +* **RMSE** provides a measure of the average deviation between predicted and actual sentiment scores, offering a quantitative insight into the accuracy of the model's predictions. +* **Entity F1 Score (EntityF1)**. This metric assesses the balance between precision and recall specifically for the recognized entities, providing a clear view of the model's effectiveness in identifying relevant financial entities. A high EntityF1 indicates that the model is proficient at both detecting entities and minimizing false positives, making it an essential measure for applications in financial data analysis and automation. +* **Exact Match Accuracy (EmAcc)** measures the proportion of questions for which the model’s answer exactly matches the ground truth, providing a clear indication of the model's effectiveness in understanding and processing numerical information in financial contexts. A high EmAcc reflects a model's capability to deliver precise and reliable answers, crucial for applications that depend on accurate financial data interpretation. +* **ROUGE** (Recall-Oriented Understudy for Gisting Evaluation) is a set of metrics used to assess the quality of summaries by comparing them to reference summaries. It focuses on the overlap of n-grams between the generated summaries and the reference summaries, providing a measure of content coverage and fidelity. +* **BERTScore** utilizes contextual embeddings from the BERT model to evaluate the similarity between generated and reference summaries. By comparing the cosine similarity of the embeddings for each token, BERTScore captures semantic similarity, allowing for a more nuanced evaluation of summary quality. +* **BARTScore** is based on the BART (Bidirectional and Auto-Regressive Transformers) model, which combines the benefits of both autoregressive and autoencoding approaches for text generation. It assesses how well the generated summary aligns with the reference summary in terms of coherence and fluency, providing insights into the overall quality of the extraction process. +* **Matthews Correlation Coefficient (MCC)** takes into account true and false positives and negatives, thereby offering insights into the model's effectiveness in a binary classification context. Together, these metrics ensure a comprehensive assessment of a model's predictive capabilities in the challenging landscape of stock movement forecasting. +* **Sharpe Ratio (SR).** The Sharpe Ratio measures the model's risk-adjusted return, providing insight into how well the model's trading strategies perform relative to the level of risk taken. A higher Sharpe Ratio indicates a more favorable return per unit of risk, making it a critical indicator of the effectiveness and efficiency of the trading strategies generated by the model. This metric enables users to gauge the model’s overall profitability and robustness in various market conditions. + +### Individual Tasks + +We use 40 tasks on this leaderboard, across these categories: +- **Information Extraction(IE)**: NER, FiNER-ORD, FinRED, SC, CD, FNXL, FSRL +- **Textual Analysis(TA)**: FPB, FiQA-SA, TSA, Headlines, FOMC, FinArg-ACC, FinArg-ARC, MultiFin, MA, MLESG +- **Question Answering(QA)**: FinQA, TATQA, Regulations, ConvFinQA +- **Text Generation(TG)**: ECTSum, EDTSum +- **Risk Management(RM)**: German, Australian, LendingClub, ccf, ccfraud, polish, taiwan, ProtoSeguro, travelinsurance +- **Forecasting(FO)**: BigData22, ACL18, CIKM18 +- **Decision-Making(DM)**: FinTrade +- **Spanish**: MultiFin-ES, EFP ,EFPA ,FinanceES, TSA-Spanish + +For a detailed explanation or each task, please read the next section + +#### Explaination of Tasks + +1. **FPB (Financial PhraseBank Sentiment Classification)** + **Description:** Sentiment analysis of phrases in financial news and reports, classifying into positive, negative, or neutral categories. + **Metrics:** Accuracy, F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/en-fpb](https://huggingface.co/datasets/ChanceFocus/en-fpb) +2. **FiQA-SA (Sentiment Analysis in Financial Domain)** + **Description:** Sentiment analysis in financial media (news, social media). Classifies sentiments into positive, negative, and neutral, aiding in market sentiment interpretation. + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-fiqasa](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa) +3. **TSA (Sentiment Analysis on Social Media)** + **Description:** Sentiment classification for financial tweets, reflecting public opinion on market trends. Challenges include informal language and brevity. **Metrics:** F1-Score, RMSE Source: [https://huggingface.co/datasets/ChanceFocus/flare-fiqasa](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa) +4. **Headlines (News Headline Classification)** + **Description:** Classification of financial news headlines into sentiment or event categories. Critical for understanding market-moving information. + **Metrics:** AvgF1 Source: [https://huggingface.co/datasets/ChanceFocus/flare-headlines](https://huggingface.co/datasets/ChanceFocus/flare-headlines) + +5. **FOMC (Hawkish-Dovish Classification)** + **Description:** Classification of FOMC statements as hawkish (favoring higher interest rates) or dovish (favoring lower rates), key for monetary policy predictions. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-fomc](https://huggingface.co/datasets/ChanceFocus/flare-fomc) +6. **FinArg-ACC (Argument Unit Classification)** + **Description:** Identifies key argument units (claims, evidence) in financial texts, crucial for automated document analysis and transparency. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-auc](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-auc) +7. **FinArg-ARC (Argument Relation Classification)** + **Description:** Classification of relationships between argument units (support, opposition) in financial documents, helping analysts construct coherent narratives. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-arc](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-arc) +8. **MultiFin (Multi-Class Sentiment Analysis)** + **Description:** Classification of diverse financial texts into sentiment categories (bullish, bearish, neutral), valuable for sentiment-driven trading. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-multifin](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin) +9. **MA (Deal Completeness Classification)** + **Description:** Classifies mergers and acquisitions reports as completed, pending, or terminated. Critical for investment and strategy decisions. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-ma](https://huggingface.co/datasets/ChanceFocus/flare-ma) +10. **MLESG (ESG Issue Identification)** + **Description:** Identifies Environmental, Social, and Governance (ESG) issues in financial documents, important for responsible investing. + **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-mlesg](https://huggingface.co/datasets/ChanceFocus/flare-mlesg) +11. **NER (Named Entity Recognition in Financial Texts)** + **Description:** Identifies and categorizes entities (companies, instruments) in financial documents, essential for information extraction. + **Metrics:** Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-ner](https://huggingface.co/datasets/ChanceFocus/flare-ner) +12. **FINER-ORD (Ordinal Classification in Financial NER)** + **Description:** Extends NER by classifying entity relevance within financial documents, helping prioritize key information. + **Metrics:** Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-finer-ord](https://huggingface.co/datasets/ChanceFocus/flare-finer-ord) +13. **FinRED (Financial Relation Extraction)** + **Description:** Extracts relationships (ownership, acquisition) between entities in financial texts, supporting knowledge graph construction. + **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-finred](https://huggingface.co/datasets/ChanceFocus/flare-finred) +14. **SC (Causal Classification)** + **Description:** Classifies causal relationships in financial texts (e.g., "X caused Y"), aiding in market risk assessments. + **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-causal20-sc](https://huggingface.co/datasets/ChanceFocus/flare-causal20-sc) +15. **CD (Causal Detection)** + **Description:** Detects causal relationships in financial texts, helping in risk analysis and investment strategies. + **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-cd](https://huggingface.co/datasets/ChanceFocus/flare-cd) +16. **FinQA (Numerical Question Answering in Finance)** + **Description:** Answers numerical questions from financial documents (e.g., balance sheets), crucial for automated reporting and analysis. + **Metrics:** Exact Match Accuracy (EmAcc) Source: [https://huggingface.co/datasets/ChanceFocus/flare-finqa](https://huggingface.co/datasets/ChanceFocus/flare-finqa) +17. **TATQA (Table-Based Question Answering)** + **Description:** Extracts information from financial tables (balance sheets, income statements) to answer queries requiring numerical reasoning. + **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-tatqa](https://huggingface.co/datasets/ChanceFocus/flare-tatqa) +18. **ConvFinQA (Multi-Turn QA in Finance)** + **Description:** Handles multi-turn dialogues in financial question answering, maintaining context throughout the conversation. + **Metrics:** EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-convfinqa](https://huggingface.co/datasets/ChanceFocus/flare-convfinqa) +19. **FNXL (Numeric Labeling)** + **Description:** Labels numeric values in financial documents (e.g., revenue, expenses), aiding in financial data extraction. + **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-fnxl](https://huggingface.co/datasets/ChanceFocus/flare-fnxl) +20. **FSRL (Financial Statement Relation Linking)** + **Description:** Links related information across financial statements (e.g., revenue in income statements and cash flow data). + **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-fsrl](https://huggingface.co/datasets/ChanceFocus/flare-fsrl) +21. **EDTSUM (Extractive Document Summarization)** + **Description:** Summarizes long financial documents, extracting key information for decision-making. + **Metrics:** ROUGE, BERTScore, BARTScore Source: [https://huggingface.co/datasets/ChanceFocus/flare-edtsum](https://huggingface.co/datasets/ChanceFocus/flare-edtsum) +22. **ECTSUM (Extractive Content Summarization)** + **Description:** Summarizes financial content, extracting key sentences or phrases from large texts. + **Metrics:** ROUGE, BERTScore, BARTScore Source: [https://huggingface.co/datasets/ChanceFocus/flare-ectsum](https://huggingface.co/datasets/ChanceFocus/flare-ectsum) +23. **BigData22 (Stock Movement Prediction)** + **Description:** Predicts stock price movements based on financial news, using textual data to forecast market trends. + **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-bigdata](https://huggingface.co/datasets/TheFinAI/en-forecasting-bigdata) +24. **ACL18 (Financial News-Based Stock Prediction)** + **Description:** Predicts stock price movements from news articles, interpreting sentiment and events for short-term forecasts. + **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-sm-acl](https://huggingface.co/datasets/ChanceFocus/flare-sm-acl) +25. **CIKM18 (Financial Market Prediction Using News)** + **Description:** Predicts broader market movements (indices) from financial news, synthesizing information for market trend forecasts. + **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-sm-cikm](https://huggingface.co/datasets/ChanceFocus/flare-sm-cikm) +26. **German (Credit Scoring in Germany)** + **Description:** Predicts creditworthiness of loan applicants in Germany, important for responsible lending and risk management. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-german](https://huggingface.co/datasets/ChanceFocus/flare-german) +27. **Australian (Credit Scoring in Australia)** + **Description:** Predicts creditworthiness in the Australian market, considering local economic conditions. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-australian](https://huggingface.co/datasets/ChanceFocus/flare-australian) +28. **LendingClub (Peer-to-Peer Lending Risk Prediction)** + **Description:** Predicts loan default risk for peer-to-peer lending, helping lenders manage risk. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-lendingclub](https://huggingface.co/datasets/ChanceFocus/cra-lendingclub) +29. **ccf (Credit Card Fraud Detection)** + **Description:** Identifies fraudulent credit card transactions, ensuring financial security and fraud prevention. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-ccf](https://huggingface.co/datasets/ChanceFocus/cra-ccf) +30. **ccfraud (Credit Card Transaction Fraud Detection)** + **Description:** Detects anomalies in credit card transactions that indicate fraud, while handling imbalanced datasets. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-ccfraud](https://huggingface.co/datasets/ChanceFocus/cra-ccfraud) +31. **Polish (Credit Risk Prediction in Poland)** + **Description:** Predicts credit risk for loan applicants in Poland, assessing factors relevant to local economic conditions. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-polish](https://huggingface.co/datasets/ChanceFocus/cra-polish) +32. **Taiwan (Credit Risk Prediction in Taiwan)** + **Description:** Predicts credit risk in the Taiwanese market, helping lenders manage risk in local contexts. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/cra-taiwan](https://huggingface.co/datasets/TheFinAI/cra-taiwan) +33. **Portoseguro (Claim Analysis in Brazil)** + **Description:** Predicts the outcome of insurance claims in Brazil, focusing on auto insurance claims. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-portoseguro](https://huggingface.co/datasets/TheFinAI/en-forecasting-portoseguro) +34. **Travel Insurance (Claim Prediction)** + **Description:** Predicts the likelihood of travel insurance claims, helping insurers manage pricing and risk. + **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-travelinsurance](https://huggingface.co/datasets/TheFinAI/en-forecasting-travelinsurance) +35. **MultiFin-ES (Sentiment Analysis in Spanish)** + **Description:** Classifies sentiment in Spanish-language financial texts (bullish, bearish, neutral). + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-multifin](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin) +36. **EFP (Financial Phrase Classification in Spanish)** + **Description:** Classifies sentiment or intent in Spanish financial phrases (positive, negative, neutral). + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-efp](https://huggingface.co/datasets/ChanceFocus/flare-es-efp) +37. **EFPA (Argument Classification in Spanish)** + **Description:** Identifies claims, evidence, and counterarguments in Spanish financial texts. + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-efpa](https://huggingface.co/datasets/ChanceFocus/flare-es-efpa) +38. **FinanceES (Sentiment Classification in Spanish)** + **Description:** Classifies sentiment in Spanish financial documents, understanding linguistic nuances. + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-financees](https://huggingface.co/datasets/ChanceFocus/flare-es-financees) +39. **TSA-Spanish (Sentiment Analysis in Spanish Tweets)** + **Description:** Sentiment analysis of Spanish tweets, interpreting informal language in real-time market discussions. + **Metrics:** F1-Score Source: [https://huggingface.co/datasets/TheFinAI/flare-es-tsa](https://huggingface.co/datasets/TheFinAI/flare-es-tsa) +40. **FinTrade (Stock Trading Simulation)** + **Description:** Evaluates models on stock trading simulations, analyzing historical stock prices and financial news to optimize trading outcomes. + **Metrics:** Sharpe Ratio (SR) Source: [https://huggingface.co/datasets/TheFinAI/FinTrade\_train](https://huggingface.co/datasets/TheFinAI/FinTrade_train) + +## How to Use the Open Financial LLM Leaderboard + +When you first visit the OFLL platform, you are greeted by the **main page**, which provides an overview of the leaderboard, including an introduction to the platform's purpose and a link to submit your model for evaluation. + +At the top of the main page, you'll see different tabs: + +* **LLM Benchmark:** The core page where you evaluate models. +* **Submit here:** A place to submit your own model for automatic evaluation. +* **About:** More details about the benchmarks, evaluation process, and the datasets used. + +### Selecting Tasks to Display + +To tailor the leaderboard to your specific needs, you can select the financial tasks you want to focus on under the **"Select columns to show"** section. These tasks are divided into several categories, such as: + +* **Information Extraction (IE)** +* **Textual Analysis (TA)** +* **Question Answering (QA)** +* **Text Generation (TG)** +* **Risk Management (RM)** +* **Forecasting (FO)** +* **Decision-Making (DM)** + +Simply check the box next to the tasks you're interested in. The selected tasks will appear as columns in the evaluation table. If you wish to remove all selections, click the **"Uncheck All"** button to reset the task categories. + +### Selecting Models to Display + +To further refine the models displayed in the leaderboard, you can use the **"Model types"** and **"Precision"** filters on the right-hand side of the interface, and filter models based on their: + +* **Type:** Pretrained, fine-tuned, instruction-tuned, or reinforcement-learning (RL)-tuned. +* **Precision:** float16, bfloat16, or float32. +* **Model Size:** Ranges from \~1.5 billion to 70+ billion parameters. + +### Viewing Results in the Task Table + +Once you've selected your tasks, the results will populate in the **task table** (see image). This table provides detailed metrics for each model across the tasks you’ve chosen. The performance of each model is displayed under columns labeled **Average IE**, **Average TA**, **Average QA**, and so on, corresponding to the tasks you selected. + +### Submitting a Model for Evaluation + +If you have a new model that you’d like to evaluate on the leaderboard, the **submission section** allows you to upload your model file. You’ll need to provide: + +* **Model name** +* **Revision commit** +* **Model type** +* **Precision** +* **Weight type** + +After uploading your model, the leaderboard will **automatically start evaluating** it across the selected tasks, providing real-time feedback on its performance. + +## Current Best Models and Surprising Results + +Throughout the evaluation process on the Open FinLLM Leaderboard, several models have demonstrated exceptional capabilities across various financial tasks. + +As of the latest evaluation: +- **Best model**: GPT-4 and Llama3.1 have consistently outperformed other models in many tasks, showing high accuracy and robustness in interpreting financial sentiment. +- **Surprising Results**: The **Forecasting(FO)** task, focused on stock movement predictions, showed that smaller models, such as **Llama3.1-7b, internlm-7b**,often outperformed larger models, for example Llama3.1-70b, in terms of accuracy and MCC. This suggests that model size does not necessarily correlate with better performance in financial forecasting, especially in tasks where real-time market data and nuanced sentiment analysis are critical. These results highlight the importance of evaluating models based on task-specific performance rather than relying solely on size or general-purpose benchmarks. + + +## **Acknowledgments** + +We would like to thank our sponsors, including The Linux Foundation, for their generous support in making the Open FinLLM Leaderboard possible. Their contributions have helped us build a platform that serves the financial AI community and advances the evaluation of financial language models. + +We also invite the community to participate in this ongoing project by submitting models, datasets, or evaluation tasks. Your involvement is essential in ensuring that the leaderboard remains a comprehensive and evolving tool for benchmarking financial LLMs. Together, we can drive innovation and help develop models better suited for real-world financial applications. \ No newline at end of file From 2cc0baa938aad7dbe4f44a02bd5718e4b491663b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine=20Fourrier?= <22726840+clefourrier@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:26:02 +0200 Subject: [PATCH 2/6] Update leaderboard-finbench.md --- leaderboard-finbench.md | 279 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 274 insertions(+), 5 deletions(-) diff --git a/leaderboard-finbench.md b/leaderboard-finbench.md index 6769703e6e..e8e28d9bfd 100644 --- a/leaderboard-finbench.md +++ b/leaderboard-finbench.md @@ -93,10 +93,8 @@ We use 40 tasks on this leaderboard, across these categories: - **Decision-Making(DM)**: FinTrade - **Spanish**: MultiFin-ES, EFP ,EFPA ,FinanceES, TSA-Spanish -For a detailed explanation or each task, please read the next section - -#### Explaination of Tasks - +
Click here for a short explanation of each task + 1. **FPB (Financial PhraseBank Sentiment Classification)** **Description:** Sentiment analysis of phrases in financial news and reports, classifying into positive, negative, or neutral categories. **Metrics:** Accuracy, F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/en-fpb](https://huggingface.co/datasets/ChanceFocus/en-fpb) @@ -217,6 +215,277 @@ For a detailed explanation or each task, please read the next section 40. **FinTrade (Stock Trading Simulation)** **Description:** Evaluates models on stock trading simulations, analyzing historical stock prices and financial news to optimize trading outcomes. **Metrics:** Sharpe Ratio (SR) Source: [https://huggingface.co/datasets/TheFinAI/FinTrade\_train](https://huggingface.co/datasets/TheFinAI/FinTrade_train) +
+ +
Click here for a detailed explanation of each task + +This section will document each task within the categories in more detail, explaining the specific datasets, evaluation metrics, and financial relevance. + +1. **FPB (Financial PhraseBank Sentiment Classification)** + + * **Task Description.** In this task, we evaluate a language model's ability to perform sentiment analysis on financial texts. We employ the Financial PhraseBank dataset1, which consists of annotated phrases extracted from financial news articles and reports. Each phrase is labeled with one of three sentiment categories: positive, negative, or neutral. The dataset provides a nuanced understanding of sentiments expressed in financial contexts, making it essential for applications such as market sentiment analysis and automated trading strategies. The primary objective is to classify each financial phrase accurately according to its sentiment. Example inputs, outputs, and the prompt templates used in this task are detailed in Table 5 and Table 8 in the Appendix. + * **Metric.** Accuracy, F1-score. + +2. **FiQA-SA (Sentiment Analysis on FiQA Financial Domain)** + + * **Task Description.** The FiQA-SA task evaluates a language model's capability to perform sentiment analysis within the financial domain, particularly focusing on data derived from the FiQA dataset. This dataset includes a diverse collection of financial texts sourced from various media, including news articles, financial reports, and social media posts. The primary objective of the task is to classify sentiments expressed in these texts into distinct categories, such as positive, negative, and neutral. This classification is essential for understanding market sentiment, as it can directly influence investment decisions and strategies. The FiQA-SA task is particularly relevant in today's fast-paced financial environment, where the interpretation of sentiment can lead to timely and informed decision-making. + * **Metrics.** F1 Score. + +3. **TSA (Sentiment Analysis on Social Media)** + + * **Task Description.** The TSA task focuses on evaluating a model's ability to perform sentiment analysis on tweets related to financial markets. Utilizing a dataset comprised of social media posts, this task seeks to classify sentiments as positive, negative, or neutral. The dynamic nature of social media makes it a rich source of real-time sentiment data, reflecting public opinion on market trends, company news, and economic events. The TSA dataset includes a wide variety of tweets, featuring diverse expressions of sentiment related to financial topics, ranging from stock performance to macroeconomic indicators. Given the brevity and informal nature of tweets, this task presents unique challenges in accurately interpreting sentiment, as context and subtleties can significantly impact meaning. Therefore, effective models must demonstrate robust understanding and analysis of informal language, slang, and sentiment indicators commonly used on social media platforms. + * **Metrics.** F1 Score, RMSE. RMSE provides a measure of the average deviation between predicted and actual sentiment scores, offering a quantitative insight into the accuracy of the model's predictions. + +4. **Headlines (News Headline Classification)** + + * **Task Description.** The Headlines task involves classifying financial news headlines into various categories, reflecting distinct financial events or sentiment classes. This dataset consists of a rich collection of headlines sourced from reputable financial news outlets, capturing a wide array of topics ranging from corporate earnings reports to market forecasts. The primary objective of this task is to evaluate a model's ability to accurately interpret and categorize brief, context-rich text segments that often drive market movements. Given the succinct nature of headlines, the classification task requires models to quickly grasp the underlying sentiment and relevance of each headline, which can significantly influence investor behavior and market sentiment. + * **Metrics.** Average F1 Score (AvgF1). This metric provides a balanced measure of precision and recall, allowing for a nuanced understanding of the model’s performance in classifying headlines. A high AvgF1 indicates that the model is effectively identifying and categorizing the sentiment and events reflected in the headlines, making it a critical metric for assessing its applicability in real-world financial contexts. + +5. **FOMC (Hawkish-Dovish Classification)** + + * **Task Description.** The FOMC task evaluates a model's ability to classify statements derived from transcripts of Federal Open Market Committee (FOMC) meetings as either hawkish or dovish. Hawkish statements typically indicate a preference for higher interest rates to curb inflation, while dovish statements suggest a focus on lower rates to stimulate economic growth. This classification is crucial for understanding monetary policy signals that can impact financial markets and investment strategies. The dataset includes a range of statements from FOMC meetings, providing insights into the Federal Reserve's stance on economic conditions, inflation, and employment. Accurately categorizing these statements allows analysts and investors to anticipate market reactions and adjust their strategies accordingly, making this task highly relevant in the context of financial decision-making. + * **Metrics.** F1 Score and Accuracy. + +6. **FinArg-ACC (Financial Argument Unit Classification)** + + * **Task Description.** The FinArg-ACC task focuses on classifying argument units within financial documents, aiming to identify key components such as main claims, supporting evidence, and counterarguments. This dataset comprises a diverse collection of financial texts, including research reports, investment analyses, and regulatory filings. The primary objective is to assess a model's ability to dissect complex financial narratives into distinct argument units, which is crucial for automated financial document analysis. This task is particularly relevant in the context of increasing regulatory scrutiny and the need for transparency in financial communications, where understanding the structure of arguments can aid in compliance and risk management. + * **Metrics.** F1 Score, Accuracy. + +7. **FinArg-ARC (Financial Argument Relation Classification)** + + * **Task Description.** The FinArg-ARC task focuses on classifying relationships between different argument units within financial texts. This involves identifying how various claims, evidence, and counterarguments relate to each other, such as support, opposition, or neutrality. The dataset comprises annotated financial documents that highlight argument structures, enabling models to learn the nuances of financial discourse. Understanding these relationships is crucial for constructing coherent narratives and analyses from fragmented data, which can aid financial analysts, investors, and researchers in drawing meaningful insights from complex information. Given the intricate nature of financial arguments, effective models must demonstrate proficiency in discerning subtle distinctions in meaning and context, which are essential for accurate classification. + * **Metrics.** F1 Score, Accuracy + +8. **MultiFin (Multi-Class Financial Sentiment Analysis)** + + * **Task Description.** The MultiFin task focuses on the classification of sentiments expressed in a diverse array of financial texts into multiple categories, such as bullish, bearish, or neutral. This dataset includes various financial documents, ranging from reports and articles to social media posts, providing a comprehensive view of sentiment across different sources and contexts. The primary objective of this task is to assess a model's ability to accurately discern and categorize sentiments that influence market behavior and investor decisions. Models must demonstrate a robust understanding of contextual clues and varying tones inherent in financial discussions. The MultiFin task is particularly valuable for applications in sentiment-driven trading strategies and market analysis, where precise sentiment classification can lead to more informed investment choices. + * **Metrics.** F1 Score, Accuracy. + +9. **MA (Deal Completeness Classification)** + + * **Task Description:** + The MA task focuses on classifying mergers and acquisitions (M\&A) reports to determine whether a deal has been completed. This dataset comprises a variety of M\&A announcements sourced from financial news articles, press releases, and corporate filings. The primary objective is to accurately identify the status of each deal—categorized as completed, pending, or terminated—based on the information presented in the reports. This classification is crucial for investment analysts and financial institutions, as understanding the completion status of M\&A deals can significantly influence investment strategies and market reactions. Models must demonstrate a robust understanding of the M\&A landscape and the ability to accurately classify deal statuses based on often complex and evolving narratives. + * **Metrics:** + F1 Score, Accuracy. + +10. **MLESG (ESG Issue Identification)** + + * **Task Description:** + The MLESG task focuses on identifying Environmental, Social, and Governance (ESG) issues within financial texts. This dataset is specifically designed to capture a variety of texts, including corporate reports, news articles, and regulatory filings, that discuss ESG topics. The primary objective of the task is to evaluate a model's ability to accurately classify and categorize ESG-related content, which is becoming increasingly important in today's investment landscape. Models are tasked with detecting specific ESG issues, such as climate change impacts, social justice initiatives, or corporate governance practices. Models must demonstrate a deep understanding of the language used in these contexts, as well as the ability to discern subtle variations in meaning and intent. + * **Metrics:** + F1 Score, Accuracy. + +11. **NER (Named Entity Recognition in Financial Texts)** + + * **Task Description:** + The NER task focuses on identifying and classifying named entities within financial documents, such as companies, financial instruments, and individuals. This task utilizes a dataset that includes a diverse range of financial texts, encompassing regulatory filings, earnings reports, and news articles. The primary objective is to accurately recognize entities relevant to the financial domain and categorize them appropriately, which is crucial for information extraction and analysis. Effective named entity recognition enhances the automation of financial analysis processes, allowing stakeholders to quickly gather insights from large volumes of unstructured text. + * **Metrics:** + Entity F1 Score (EntityF1). + +12. **FINER-ORD (Ordinal Classification in Financial NER)** + + * **Task Description:** + The FINER-ORD task focuses on extending standard Named Entity Recognition (NER) by requiring models to classify entities not only by type but also by their ordinal relevance within financial texts. This dataset comprises a range of financial documents that include reports, articles, and regulatory filings, where entities such as companies, financial instruments, and events are annotated with an additional layer of classification reflecting their importance or priority. The primary objective is to evaluate a model’s ability to discern and categorize entities based on their significance in the context of the surrounding text. For instance, a model might identify a primary entity (e.g., a major corporation) as having a higher relevance compared to secondary entities (e.g., a minor competitor) mentioned in the same document. This capability is essential for prioritizing information and enhancing the efficiency of automated financial analyses, where distinguishing between varying levels of importance can significantly impact decision-making processes. + * **Metrics:** + Entity F1 Score (EntityF1). + +13. **FinRED (Financial Relation Extraction from Text)** + + * **Task Description:** + The FinRED task focuses on extracting relationships between financial entities mentioned in textual data. This task utilizes a dataset that includes diverse financial documents, such as news articles, reports, and regulatory filings. The primary objective is to identify and classify relationships such as ownership, acquisition, and partnership among various entities, such as companies, financial instruments, and stakeholders. Accurately extracting these relationships is crucial for building comprehensive knowledge graphs and facilitating in-depth financial analysis. The challenge lies in accurately interpreting context, as the relationships often involve nuanced language and implicit connections that require a sophisticated understanding of financial terminology. + * **Metrics:** + F1 Score, Entity F1 Score (EntityF1). + +14. **SC (Causal Classification Task in the Financial Domain)** + + * **Task Description:** + The SC task focuses on evaluating a language model's ability to classify causal relationships within financial texts. This involves identifying whether one event causes another, which is crucial for understanding dynamics in financial markets. The dataset used for this task encompasses a variety of financial documents, including reports, articles, and regulatory filings, where causal language is often embedded. By examining phrases that express causality—such as "due to," "resulting in," or "leads to"—models must accurately determine the causal links between financial events, trends, or phenomena. This task is particularly relevant for risk assessment, investment strategy formulation, and decision-making processes, as understanding causal relationships can significantly influence evaluations of market conditions and forecasts. + * **Metrics:** + F1 Score, Entity F1 Score (EntityF1). + +15. **CD (Causal Detection)** + + * **Task Description:** + The CD task focuses on detecting causal relationships within a diverse range of financial texts, including reports, news articles, and social media posts. This task evaluates a model's ability to identify instances where one event influences or causes another, which is crucial for understanding dynamics in financial markets. The dataset comprises annotated examples that explicitly highlight causal links, allowing models to learn from various contexts and expressions of causality. Detecting causality is essential for risk assessment, as it helps analysts understand potential impacts of events on market behavior, investment strategies, and decision-making processes. Models must navigate nuances and subtleties in text to accurately discern causal connections. + * **Metrics:** + F1 Score, Entity F1 Score (EntityF1). + +16. **FinQA (Numerical Question Answering in Finance)** + + * **Task Description:** + The FinQA task evaluates a model's ability to answer numerical questions based on financial documents, such as balance sheets, income statements, and financial reports. This dataset includes a diverse set of questions that require not only comprehension of the text but also the ability to extract and manipulate numerical data accurately. The primary goal is to assess how well a model can interpret complex financial information and perform necessary calculations to derive answers. The FinQA task is particularly relevant for applications in financial analysis, investment decision-making, and automated reporting, where precise numerical responses are essential for stakeholders. + * **Metrics:** + Exact Match Accuracy (EmAcc) + +17. **TATQA (Table-Based Question Answering in Financial Documents)** + + * **Task Description:** + The TATQA task focuses on evaluating a model's ability to answer questions that require interpreting and extracting information from tables in financial documents. This dataset is specifically designed to include a variety of financial tables, such as balance sheets, income statements, and cash flow statements, each containing structured data critical for financial analysis. The primary objective of this task is to assess how well models can navigate these tables to provide accurate and relevant answers to questions that often demand numerical reasoning or domain-specific knowledge. Models must demonstrate proficiency in not only locating the correct data but also understanding the relationships between different data points within the context of financial analysis. + * **Metrics:** + F1 Score, Exact Match Accuracy (EmAcc). + +18. **ConvFinQA (Multi-Turn Question Answering in Finance)** + + * **Task Description:** + The ConvFinQA task focuses on evaluating a model's ability to handle multi-turn question answering in the financial domain. This task simulates real-world scenarios where financial analysts engage in dialogues, asking a series of related questions that build upon previous answers. The dataset includes conversations that reflect common inquiries regarding financial data, market trends, and economic indicators, requiring the model to maintain context and coherence throughout the dialogue. The primary objective is to assess the model's capability to interpret and respond accurately to multi-turn queries, ensuring that it can provide relevant and precise information as the conversation progresses. This task is particularly relevant in financial advisory settings, where analysts must extract insights from complex datasets while engaging with clients or stakeholders. + * **Metrics:** + Exact Match Accuracy (EmAcc). + +19. **FNXL (Numeric Labeling in Financial Texts)** + + * **Task Description:** + The FNXL task focuses on the identification and categorization of numeric values within financial documents. This involves labeling numbers based on their type (e.g., revenue, profit, expense) and their relevance in the context of the text. The dataset used for this task includes a diverse range of financial reports, statements, and analyses, presenting various numeric expressions that are crucial for understanding financial performance. Accurate numeric labeling is essential for automating financial analysis and ensuring that critical data points are readily accessible for decision-making. Models must demonstrate a robust ability to parse context and semantics to accurately classify numeric information, thereby enhancing the efficiency of financial data processing. + * **Metrics:** + F1 Score, Exact Match Accuracy (EmAcc). + +20. **FSRL (Financial Statement Relation Linking)** + + * **Task Description:** + The FSRL task focuses on linking related information across different financial statements, such as matching revenue figures from income statements with corresponding cash flow data. This task is crucial for comprehensive financial analysis, enabling models to synthesize data from multiple sources to provide a coherent understanding of a company's financial health. The dataset used for this task includes a variety of financial statements from publicly traded companies, featuring intricate relationships between different financial metrics. Accurate linking of this information is essential for financial analysts and investors who rely on holistic views of financial performance. The task requires models to navigate the complexities of financial terminology and understand the relationships between various financial elements, ensuring they can effectively connect relevant data points. + * **Metrics:** + F1 Score, Exact Match Accuracy (EmAcc). + +21. **EDTSUM (Extractive Document Summarization in Finance)** + + * **Task Description:** + The EDTSUM task focuses on summarizing lengthy financial documents by extracting the most relevant sentences to create concise and coherent summaries. This task is essential in the financial sector, where professionals often deal with extensive reports, research papers, and regulatory filings. The ability to distill critical information from large volumes of text is crucial for efficient decision-making and information dissemination. The EDTSUM dataset consists of various financial documents, each paired with expert-generated summaries that highlight key insights and data points. Models are evaluated on their capability to identify and select sentences that accurately reflect the main themes and arguments presented in the original documents. + * **Metrics:** + ROUGE, BERTScore, and BARTScore. + +22. **ECTSUM (Extractive Content Summarization)** + + * **Task Description:** + The ECTSUM task focuses on extractive content summarization within the financial domain, where the objective is to generate concise summaries from extensive financial documents. This task leverages a dataset that includes a variety of financial texts, such as reports, articles, and regulatory filings, each containing critical information relevant to stakeholders. The goal is to evaluate a model’s ability to identify and extract the most salient sentences or phrases that encapsulate the key points of the original text. The ECTSUM task challenges models to demonstrate their understanding of context, relevance, and coherence, ensuring that the extracted summaries accurately represent the main ideas while maintaining readability and clarity. + * **Metrics:** + ROUGE, BERTScore, and BARTScore. + +23. **BigData22 (Stock Movement Prediction)** + + * **Task Description:** + The BigData22 task focuses on predicting stock price movements based on financial news and reports. This dataset is designed to capture the intricate relationship between market sentiment and stock performance, utilizing a comprehensive collection of news articles, social media posts, and market data. The primary goal of this task is to evaluate a model's ability to accurately forecast whether the price of a specific stock will increase or decrease within a defined time frame. Models must effectively analyze textual data and discern patterns that correlate with market movements. + * **Metrics:** + Accuracy, Matthews Correlation Coefficient (MCC). + +24. **ACL18 (Financial News-Based Stock Prediction)** + + * **Task Description:** + The ACL18 task focuses on predicting stock movements based on financial news articles and headlines. Utilizing a dataset that includes a variety of news pieces, this task aims to evaluate a model's ability to analyze textual content and forecast whether stock prices will rise or fall in the near term. The dataset encompasses a range of financial news topics, from company announcements to economic indicators, reflecting the complex relationship between news sentiment and market reactions. Models must effectively interpret nuances in language and sentiment that can influence stock performance, ensuring that predictions align with actual market movements. + * **Metrics:** + Accuracy, Matthews Correlation Coefficient (MCC). + +25. **CIKM18 (Financial Market Prediction Using News)** + + * **Task Description:** + The CIKM18 task focuses on predicting broader market movements, such as stock indices, based on financial news articles. Utilizing a dataset that encompasses a variety of news stories related to market events, this task evaluates a model's ability to synthesize information from multiple sources and make informed predictions about future market trends. The dataset includes articles covering significant financial events, economic indicators, and company news, reflecting the complex interplay between news sentiment and market behavior. The objective of this task is to assess how well a model can analyze the content of financial news and utilize that analysis to forecast market movements. + * **Metrics:** + Accuracy, Matthews Correlation Coefficient (MCC). + +26. **German (Credit Scoring in the German Market)** + + * **Task Description:** + The German task focuses on evaluating a model's ability to predict creditworthiness among loan applicants within the German market. Utilizing a dataset that encompasses various financial indicators, demographic information, and historical credit data, this task aims to classify applicants as either creditworthy or non-creditworthy. The dataset reflects the unique economic and regulatory conditions of Germany, providing a comprehensive view of the factors influencing credit decisions in this specific market. Given the importance of accurate credit scoring for financial institutions, this task is crucial for minimizing risk and ensuring responsible lending practices. Models must effectively analyze multiple variables to make informed predictions, thereby facilitating better decision-making in loan approvals and risk management. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +27. **Australian (Credit Scoring in the Australian Market)** + + * **Task Description:** + The Australian task focuses on predicting creditworthiness among loan applicants within the Australian financial context. This dataset includes a comprehensive array of features derived from various sources, such as financial histories, income levels, and demographic information. The primary objective of this task is to classify applicants as either creditworthy or non-creditworthy, enabling financial institutions to make informed lending decisions. Given the unique economic conditions and regulatory environment in Australia, this task is particularly relevant for understanding the specific factors that influence credit scoring in this market. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +28. **LendingClub (Peer-to-Peer Lending Risk Prediction)** + + * **Task Description:** + The LendingClub task focuses on predicting the risk of default for loans issued through the LendingClub platform, a major peer-to-peer lending service. This task utilizes a dataset that includes detailed information about loan applicants, such as credit scores, income levels, employment history, and other financial indicators. The primary objective is to assess the likelihood of loan default, enabling lenders to make informed decisions regarding loan approvals and risk management. The models evaluated in this task must effectively analyze a variety of features, capturing complex relationships within the data to provide reliable risk assessments. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +29. **ccf (Credit Card Fraud Detection)** + + * **Task Description:** + The ccf task focuses on identifying fraudulent transactions within a large dataset of credit card operations. This dataset encompasses various transaction features, including transaction amount, time, location, and merchant information, providing a comprehensive view of spending behaviors. The primary objective of the task is to classify transactions as either legitimate or fraudulent, thereby enabling financial institutions to detect and prevent fraudulent activities effectively. Models must navigate the challenges posed by class imbalance, as fraudulent transactions typically represent a small fraction of the overall dataset. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +30. **ccfraud (Credit Card Transaction Fraud Detection)** + + * **Task Description:** + The ccfraud task focuses on identifying fraudulent transactions within a dataset of credit card operations. This dataset comprises a large number of transaction records, each labeled as either legitimate or fraudulent. The primary objective is to evaluate a model's capability to accurately distinguish between normal transactions and those that exhibit suspicious behavior indicative of fraud. The ccfraud task presents unique challenges, including the need to handle imbalanced data, as fraudulent transactions typically represent a small fraction of the total dataset. Models must demonstrate proficiency in detecting subtle patterns and anomalies that signify fraudulent activity while minimizing false positives to avoid inconveniencing legitimate customers. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +31. **Polish (Credit Risk Prediction in the Polish Market)** + + * **Task Description:** + The Polish task focuses on predicting credit risk for loan applicants within the Polish financial market. Utilizing a comprehensive dataset that includes demographic and financial information about applicants, the task aims to assess the likelihood of default on loans. This prediction is crucial for financial institutions in making informed lending decisions and managing risk effectively. Models must be tailored to account for local factors influencing creditworthiness, such as income levels, employment status, and credit history. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +32. **Taiwan (Credit Risk Prediction in the Taiwanese Market)** + + * **Task Description:** + The Taiwan task focuses on predicting credit risk for loan applicants in the Taiwanese market. Utilizing a dataset that encompasses detailed financial and personal information about borrowers, this task aims to assess the likelihood of default based on various factors, including credit history, income, and demographic details. The model's ability to analyze complex patterns within the data and provide reliable predictions is essential in a rapidly evolving financial landscape. Given the unique economic conditions and regulatory environment in Taiwan, this task also emphasizes the importance of local context in risk assessment, requiring models to effectively adapt to specific market characteristics and trends. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +33. **Portoseguro (Claim Analysis in the Brazilian Market)** + + * **Task Description:** + The Portoseguro task focuses on analyzing insurance claims within the Brazilian market, specifically for auto insurance. This task leverages a dataset that includes detailed information about various claims, such as the nature of the incident, policyholder details, and claim outcomes. The primary goal is to evaluate a model’s ability to predict the likelihood of a claim being approved or denied based on these factors. By accurately classifying claims, models can help insurance companies streamline their decision-making processes, enhance risk management strategies, and reduce fraudulent activities. Models must consider regional nuances and the specific criteria used in evaluating claims, ensuring that predictions align with local regulations and market practices. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +34. **Travel Insurance (Travel Insurance Claim Prediction)** + + * **Task Description:** + The Travel Insurance task focuses on predicting the likelihood of a travel insurance claim being made based on various factors and data points. This dataset includes historical data related to travel insurance policies, claims made, and associated variables such as the type of travel, duration, destination, and demographic information of the insured individuals. The primary objective of this task is to evaluate a model's ability to accurately assess the risk of a claim being filed, which is crucial for insurance companies in determining policy pricing and risk management strategies. By analyzing patterns and trends in the data, models can provide insights into which factors contribute to a higher likelihood of claims, enabling insurers to make informed decisions about underwriting and premium setting. + * **Metrics:** + F1 Score, Matthews Correlation Coefficient (MCC). + +35. **MultiFin-ES (Multi-Class Financial Sentiment Analysis in Spanish)** + + * **Task Description:** + The MultiFin-ES task focuses on analyzing + * sentiment in Spanish-language financial texts, categorizing sentiments into multiple classes such as bullish, bearish, and neutral. This dataset includes a diverse array of financial documents, including news articles, reports, and social media posts, reflecting various aspects of the financial landscape. The primary objective is to evaluate a model's ability to accurately classify sentiments based on contextual cues, linguistic nuances, and cultural references prevalent in Spanish financial discourse. Models must demonstrate proficiency in processing the subtleties of the Spanish language, including idiomatic expressions and regional variations, to achieve accurate classifications. + * **Metrics:** + F1 Score. + +36. **EFP (Financial Phrase Classification in Spanish)** + + * **Task Description:** + The EFP task focuses on the classification of financial phrases in Spanish, utilizing a dataset specifically designed for this purpose. This dataset consists of a collection of annotated phrases extracted from Spanish-language financial texts, including news articles, reports, and social media posts. The primary objective is to classify these phrases based on sentiment or intent, categorizing them into relevant classifications such as positive, negative, or neutral. Given the growing importance of the Spanish-speaking market in global finance, accurately interpreting and analyzing sentiment in Spanish financial communications is essential for investors and analysts. + * **Metrics:** + F1 Score. + +37. **EFPA (Financial Argument Classification in Spanish)** + + * **Task Description:** + The EFPA task focuses on classifying arguments within Spanish financial documents, aiming to identify key components such as claims, evidence, and counterarguments. This dataset encompasses a range of financial texts, including reports, analyses, and regulatory documents, providing a rich resource for understanding argumentative structures in the financial domain. The primary objective is to evaluate a model's ability to accurately categorize different argument units, which is essential for automating the analysis of complex financial narratives. By effectively classifying arguments, stakeholders can gain insights into the reasoning behind financial decisions and the interplay of various factors influencing the market. This task presents unique challenges that require models to demonstrate a deep understanding of both linguistic and domain-specific contexts. + * **Metrics:** + F1 Score. + +38. **FinanceES (Financial Sentiment Classification in Spanish)** + + * **Task Description:** + The FinanceES task focuses on classifying sentiment within a diverse range of financial documents written in Spanish. This dataset includes news articles, reports, and social media posts, reflecting various financial topics and events. The primary objective is to evaluate a model's ability to accurately identify sentiments as positive, negative, or neutral, thus providing insights into market perceptions in Spanish-speaking regions. Given the cultural and linguistic nuances inherent in the Spanish language, effective sentiment classification requires models to adeptly navigate idiomatic expressions, slang, and context-specific terminology. This task is particularly relevant as financial sentiment analysis expands globally, necessitating robust models that can perform effectively across different languages and cultural contexts. + * **Metrics:** + F1 Score. + +39. **TSA-Spanish (Sentiment Analysis in Spanish)** + + * **Task Description:** + The TSA-Spanish task focuses on evaluating a model's ability to perform sentiment analysis on tweets and short texts in Spanish related to financial markets. Utilizing a dataset comprised of diverse social media posts, this task aims to classify sentiments as positive, negative, or neutral. The dynamic nature of social media provides a rich source of real-time sentiment data, reflecting public opinion on various financial topics, including stock performance, company announcements, and economic developments. This task presents unique challenges in accurately interpreting sentiment, as context, slang, and regional expressions can significantly influence meaning. Models must demonstrate a robust understanding of the subtleties of the Spanish language, including colloquialisms and varying sentiment indicators commonly used across different Spanish-speaking communities. + * **Metrics:** + F1 Score. + +40. **FinTrade (Stock Trading Dataset)** + + * **Task Description:** + The FinTrade task evaluates models on their ability to perform stock trading simulations using a specially developed dataset that incorporates historical stock prices, financial news, and sentiment data over a period of one year. This dataset is designed to reflect real-world trading scenarios, providing a comprehensive view of how various factors influence stock performance. The primary objective of this task is to assess the model's capability to make informed trading decisions based on a combination of quantitative and qualitative data, such as market trends and sentiment analysis. By simulating trading activities, models are tasked with generating actionable insights and strategies that maximize profitability while managing risk. The diverse nature of the data, which includes price movements, news events, and sentiment fluctuations, requires models to effectively integrate and analyze multiple data streams to optimize trading outcomes. + * **Metrics:** + Sharpe Ratio (SR). +
## How to Use the Open Financial LLM Leaderboard @@ -279,4 +548,4 @@ As of the latest evaluation: We would like to thank our sponsors, including The Linux Foundation, for their generous support in making the Open FinLLM Leaderboard possible. Their contributions have helped us build a platform that serves the financial AI community and advances the evaluation of financial language models. -We also invite the community to participate in this ongoing project by submitting models, datasets, or evaluation tasks. Your involvement is essential in ensuring that the leaderboard remains a comprehensive and evolving tool for benchmarking financial LLMs. Together, we can drive innovation and help develop models better suited for real-world financial applications. \ No newline at end of file +We also invite the community to participate in this ongoing project by submitting models, datasets, or evaluation tasks. Your involvement is essential in ensuring that the leaderboard remains a comprehensive and evolving tool for benchmarking financial LLMs. Together, we can drive innovation and help develop models better suited for real-world financial applications. From 6479c15c31c5e72a2b2dbd33382b9ae00b1f8d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine=20Fourrier?= <22726840+clefourrier@users.noreply.github.com> Date: Wed, 2 Oct 2024 12:21:05 +0200 Subject: [PATCH 3/6] Update leaderboard-finbench.md --- leaderboard-finbench.md | 1 + 1 file changed, 1 insertion(+) diff --git a/leaderboard-finbench.md b/leaderboard-finbench.md index e8e28d9bfd..bacddcd0f2 100644 --- a/leaderboard-finbench.md +++ b/leaderboard-finbench.md @@ -16,6 +16,7 @@ authors: - user: alejandroll10 guest: true - user: Benyou + org: FreedomIntelligence guest: true - user: ldruth org: TheFinAI From b164b55eee72498b2feaa92852986919edfcc4de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine=20Fourrier?= <22726840+clefourrier@users.noreply.github.com> Date: Wed, 2 Oct 2024 15:52:29 +0200 Subject: [PATCH 4/6] Apply suggestions from code review Co-authored-by: Pedro Cuenca --- leaderboard-finbench.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/leaderboard-finbench.md b/leaderboard-finbench.md index bacddcd0f2..924edeac55 100644 --- a/leaderboard-finbench.md +++ b/leaderboard-finbench.md @@ -47,7 +47,7 @@ The leaderboard provides a **specialized evaluation framework** tailored specifi * **Focused Zero-Shot Evaluation:** The leaderboard employs a **zero-shot evaluation** method, testing models on unseen financial tasks without any prior fine-tuning. This approach reveals a model’s ability to generalize and perform well in financial contexts, such as predicting stock price movements or extracting entities from regulatory filings, without being explicitly trained on those tasks. -## **Key Features of the Open Financial LLM Leaderboard** +## Key Features of the Open Financial LLM Leaderboard * **Diverse Task Categories:** The leaderboard covers tasks across seven categories: Information Extraction (IE), Textual Analysis (TA), Question Answering (QA), Text Generation (TG), Risk Management (RM), Forecasting (FO), and Decision-Making (DM). * **Evaluation Metrics:** Models are assessed using a variety of metrics, including Accuracy, F1 Score, ROUGE Score, and Matthews Correlation Coefficient (MCC). These metrics provide a multidimensional view of model performance, helping users identify the strengths and weaknesses of each model. @@ -69,7 +69,7 @@ The selection of task categories in OFLL is intentionally designed to capture th * **Risk Management (RM):** This category focuses on tasks that evaluate a model’s ability to predict and assess financial risks, such as **Credit Scoring**, **Fraud Detection**, and **Financial Distress Identification**. These tasks are fundamental for credit evaluation, risk management, and compliance purposes. * **Decision-Making (DM):** In finance, making informed decisions based on multiple inputs (e.g., market data, sentiment, and historical trends) is crucial. Decision-making tasks simulate complex financial decisions, such as **Mergers & Acquisitions** and **Stock Trading**, testing the model’s ability to handle multimodal inputs and offer actionable insights. -#### Metrics +### Metrics * **F1-score**, the harmonic mean of precision and recall, offers a balanced evaluation, especially important in cases of class imbalance within the dataset. Both metrics are standard in classification tasks and together give a comprehensive view of the model's capability to discern sentiments in financial language. * **Accuracy** measures the proportion of correctly classified instances out of all instances, providing a straightforward assessment of overall performance. @@ -541,11 +541,11 @@ After uploading your model, the leaderboard will **automatically start evaluatin Throughout the evaluation process on the Open FinLLM Leaderboard, several models have demonstrated exceptional capabilities across various financial tasks. As of the latest evaluation: -- **Best model**: GPT-4 and Llama3.1 have consistently outperformed other models in many tasks, showing high accuracy and robustness in interpreting financial sentiment. -- **Surprising Results**: The **Forecasting(FO)** task, focused on stock movement predictions, showed that smaller models, such as **Llama3.1-7b, internlm-7b**,often outperformed larger models, for example Llama3.1-70b, in terms of accuracy and MCC. This suggests that model size does not necessarily correlate with better performance in financial forecasting, especially in tasks where real-time market data and nuanced sentiment analysis are critical. These results highlight the importance of evaluating models based on task-specific performance rather than relying solely on size or general-purpose benchmarks. +- **Best model**: GPT-4 and Llama 3.1 have consistently outperformed other models in many tasks, showing high accuracy and robustness in interpreting financial sentiment. +- **Surprising Results**: The **Forecasting(FO)** task, focused on stock movement predictions, showed that smaller models, such as **Llama-3.1-7b, internlm-7b**,often outperformed larger models, for example Llama-3.1-70b, in terms of accuracy and MCC. This suggests that model size does not necessarily correlate with better performance in financial forecasting, especially in tasks where real-time market data and nuanced sentiment analysis are critical. These results highlight the importance of evaluating models based on task-specific performance rather than relying solely on size or general-purpose benchmarks. -## **Acknowledgments** +## Acknowledgments We would like to thank our sponsors, including The Linux Foundation, for their generous support in making the Open FinLLM Leaderboard possible. Their contributions have helped us build a platform that serves the financial AI community and advances the evaluation of financial language models. From 2e7a15f45966aa03bedc6d4fdb4b4862aa72efd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine?= Date: Thu, 3 Oct 2024 19:42:58 +0200 Subject: [PATCH 5/6] updated thumbnail --- _blog.yml | 2 +- .../thumbnail_finbench.png | Bin 0 -> 162031 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/leaderboards-on-the-hub/thumbnail_finbench.png diff --git a/_blog.yml b/_blog.yml index c249e4c9c2..2c48f24768 100644 --- a/_blog.yml +++ b/_blog.yml @@ -4727,7 +4727,7 @@ title: "Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance" author: QianqianXie1994 guest: true - thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail.png + thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail_finbench.png date: Oct 4, 2024 tags: - leaderboard diff --git a/assets/leaderboards-on-the-hub/thumbnail_finbench.png b/assets/leaderboards-on-the-hub/thumbnail_finbench.png new file mode 100644 index 0000000000000000000000000000000000000000..76640f8fed22c177ca78fb9956887696dcfdd584 GIT binary patch literal 162031 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 _5K`-eHbd}@I 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�htM>K>$Z_H~q4X@ByFj&l7}@WuR+>OQ_62F(s&cLMGUR zSH}czax4DRwm6$Da@WpX!*Sab8VfpDLkuj22}j=l3C_^j+f#NixyHM^`Fk&yANXOr z#o{-@>$t!eSH&?2{(tQ1?uYEhem)<+sCl%0VG`UIj$31Jb^Ads_!26gwgDLPJ)p3zec(eI`egeG-7$k{880YHc_ zkaHe=wuG)cB)G@R|ltfH5{O3{#VjfT5#ea?+8CktcHn9ee4j zx?(b=@DUC~Iib_G*+5_5r~OCsF@}OI`4W9vrusrtgQ6Y266cdX0;S$YLi1{GPO51Q z>a~r1nm&VA=Qt*^6~W`s%icW4z?h3RJE2vJhMK5?ba&@ES#)lJ9prokTiMqzC_rmx zGZapkW;yA`l?KXX?2~KO3S(-*luaOnvfj=F7`lYcPZ~|C*rH;|FeH*H#b*udKc^}R zz9vC3sw47YPK9soCy1pOL8T_<$8TK~pRY)&G|aeQGk7e_L%NL(O+l~e)l{4Wg?Yj3 zu#D-D=~87;#tK(zi303OS`~ zc#LbpN!~D+&zZp@W=~k|6^h$Ij@vB`^9@Jk&~Y;~6R|}Y=8*o<$@oAbQKpR?pam=Y z)-1Cm6~FLJKH^p414sQScjP+Z2UcFa41Z0|s19eYlo!EuWhhPTs<<7}?Cy@2z9gC3 zlTqG%x%~S7*{($Y;N|iof7B+z9}>%Xtw|>)o_InD9@B@XgJ6v>N*<1cYnX!+T!D!n z4|=g~BLP0JaZfkCV0mw@R<|dtfOxDUezXU-%G~mp#Miv{a`~=5cDa1hZ?ze-)v7F* zcs})%f7E2(m+rwP#|3=6Tj`x+Gq9%q4?SUo1q>QFmL|_?%aq3|vr~!a0}QQOQ~LA? zj&jlH^Vk4(tf0aZ2Ydm7N;Szl3n)t*} zf0Z~;4nEpf;X7TeBqkNF@88lbk3p?h|Ki z$cO1Uc7Y*N)3aaM2-8S|<*a@S3>ws{Q3YR{0Xu2BjBN(A#TvaYDMzT#SAV&=^ZH%X z)6WE1nzAi#j#N2C%;XnbXdA)Fwdwot-z(k(U=wO zbgy*+k=ky$gp)G_ShQ}ON_d*p9at`kNAAU6d?Uhkl{jXBgKWo;qaWnQRTITyNPAPe z*4m5cdbhK83nCxR8*Sn@O~x@f#1}Z<{sVSZ`Y+fI&-~|hYs!yq`Sa>B?j^?yz<8`6 zo@(-P!+Dvl@x1Jp#Iwm;eaR0`Gr@!wSF15euFv7FQE?l`*X%0%bBiyJ?%2KTO%~hk z!T#b;&K7v=;)e|j&rHV`JMlw1;0vC8K|yh=$y4zwqnO0w3#?x?&bViLIzV*i(#97u z-~aDgZSD4-N9+WkEx2>$$tUB=j@5~!iou~Vfo2V-ZB4xBVn&>3+CN~xSCg{&fCQz- z(HN}VLu}}aO^!{v2|LMp5&epw-x<{ImFmuRBP(~XY%8!52jXc#qwQh(jYW|@&_GzL;?)vpn*jBv6 zGP!TlBDS3mAQ&S8;ft{HOCQ!CCYkOQT@l_)2r<<5x(ytkgx5aO$%l?r06-W{*o}jq z06C8G%!J8doWzhYYZYTzNqM>)fAp}GZ+bqEYa%ThpRC8^9a#nj*Jd9`)=-^X!n(`e zw0O!1F~J2InvMQ;>Bva^8`fAcHuufo4-s&+sGdWQyqq%L{RvynfoY^J5GagSqSg)1 z%_U4^y_lJxJl~@kkt$q+=6okWn69VdE(spErLB|C#4a?sPt`a_T5G*{$o?8e#ogJ8 z^HT3Z4VN^jw#uu@I;QenK+Nr~7>S35wsz2K2V?kFw!L;V}StV@wMh&0)49AZ>MQ&KM@ z11J8*DQ(RtO@bQ_IK?k{7VdMwEl}vVGhkb`)kl1RouDr4G^c}J!$@v{BdApQPt0Z;f!%O@K!48T}nGXA_x0AKPLt^gI?qc%Z(@9(=@zUBAW z7bfi%ivQQXQ25h!ANezOulQ~O89r{%t`M(oE5RfkvmI~%p_?YMW(*Gh)SogZ^ZDw> z?S)^Zw23r+j3_7OW`{4HzQnF{KmJC$pZ)FDwqLV^{)c{-omBiq_pjXXgF2tItM9rk z9a3}+b?T=pSi3%_i3Z?wA~k;#~H+ysco|vZS*?? z{J@4x`XEFz=~jD+m4@O8R{^jDQxYHSN6)}(1F(P zvTu}VOun}0K5E(2_|DbsCSJk2&`Ug8n_iQm>C2t2%03YX?q5Mbaq^e|JQm)0=-uyM zF0xD@>_Y_{_1lavICi=7SItN0tN~(W@|sMdC=rZmH{evb6iO3YK;&eX1Y}h3OsZdq zg`eUJk0~Q0UHxQ7lieD}d6`k+Ob>|cl@nLn=01|TG3ga9l}Hsf_L}>_eQAS*+#ExX zcjRA+IDTR4D9(XX?8Kc16e105Vuoeq%a|(8R3zuAFKp7z7E%zjYNIe&D_O@nsmOWg zDG9%HAGEJsP*0#Tj3{G$q&!s(^EX zF5pJwkjILs`O@xSEYMgN-yPTHG0H5yXGN*bXIxA-#b4RN2C;65x2lO`yF^z$J^5XG zlsgs(?ol;-p}+@K%(kpZABnm`#3oMZc&YYIoFrN8jlx?$l?97Z~*_ zZ-~i;nD!=Y?jvYu-I^2^OxUMOktcSH>saMqw-5r8);OP-=PGcPLx5{CEUr|GXKcbL zsT)aN*9m{-7s^^AO`Pj~OBXuWVhw%CG3CK6pu^DNv+q*s`&Qx=&N89M#sC)j+jixs zZN$?t3^K_vesr~2@TzN}!Ofsf-=q>7wFWMVNoIU-)niHaM__7_iZxG&f~a%!O6j5j zBJ&En$S`qd>b!y+35Su17$2rEs=kt$Fyo^4qjQ}@TnVSIJ9|EesrTF1lh4 zcX2XV7TRl7>mpocubRXfXhh62RK#Jz420R(drTohkB)4!6+EZ z3PxJ8a4J_FDvtMqyQF)=p*^}oF|bi>%C)4>JDRPn>lCN?{F43j*(^Bo7zhTA^n^wW|Qy+Np z^2xvFkCA=buYBp{HE*{+=$CPkfV+*YZ73Fcu^hY?;8LFWFTCz88kM^O5r#L}?~GEu zF=%2mYdNS68)})a<)T#)&uD3ygvK}MYb^G3~{#{qwT}Qtn zT@p4vWTZ_q&L@qStzdf`=A}I0OM$NyPm@TQk(cbsw(}p8(urSSrkgk+Z`+2v z)=k@hpZGygY~iTe4>&mtJlce9EhMoT7fr;;qxi!;Ob_yEH`O#_D*D*RJ*Sdz5>ph# zcb_rYjT*t#{*B2jY5Eg8c;P;>@(P{&QrLJ+ZN=gIB-(u9Te`{#mJAcuBf3V-NNvi zsOWpy$GDAv3oL57+}ireM&=L@i~+qIyKmUdnCT$xdcDHBRW?Yiu|t|4)54vK#)0|3 z$I(=aRX(ST&y=NiZo+NJ-Q;r?zv)(Zl&utZz=dfah<9{fo8Oby>O)uomXJ%Kdmt|y zeDi~aZP%^h@I%f%l(HU%UGK}Kr^$%XWKAn!6XzD zQoOJ{Z})dRX^-!F!hQ@0SI)okGrs-Q7yNdX=S=^oePIz_qYixgs26+DrL`847`0*70T3OdXSZTxG`#SH-{bG5ezFkJ*<+KWz7& z+hZA@wjch%eek%Y1t$kDeVuW9v)vB!HoMaOO@8(Jar*_$hx!bk%nl1CP|p}&{Fo+A zBt(sL(J$eV)J>p%=4W?7oNSf2358W_zzK)&X<#n_2sdQB10hUs!4~nU3VTf+WhA+- zSPMEsC{AD{uM(f!YJ#TA*wi@(a={ok0cF8e93&%FEG0Z8Elef`DB$JQW;m8)xEV5H zMtsOdT*s)~7}OSWg)LS|7>cC8ZRHeh%Y3U%tpT=`ulPz&U2q<^hd3tr0U-vS6OGujiU*qUy24&ErKqA_4YyNz5nB-v6rQ$W7w{&ZO&0#?!)0&wU6XvcFu~7iq@TaM!ADRXZOaej$KJtc&Aw8$!GV4b{NW3J({A z82tb&>6tV*7EjEd4OZ> zB+{bh-MSPAoY*`gmqrfMn)`m*bi_v7SvseijhlNXc|^azM76pLw<|tNx+`JCRA`N1 z9CWetwq*PeFsCi$77KRal728@7<e-yW_%onTSJr+z- zak~ayuYLclyJHJH@XYh+*Fc#>%ULp8>pK|`J@@QGm#^Xecl$CbxK9fv{WuB0>j5s9 z*gY3D(|0|=CHu+rtan+^#)mbhJ*s`wA9(72<`ixBnd_kO!dqAsgu#6|92+ABw4GCN z(|m;>bu3n&{E(=QVE`_b6Wb=>`1Sv;7tylzdw$1w1SB}9P9z?AxGr#mN9G)Mf@Xch zwQ@GGbnwmk7n|%4$P5SV*d%;%Ljwxg*?z;@Q^KCM(Uz$uc89)#L0eQuefOjCU=FbW zQ=C{k%KfUg$8&uMq5a)KF8 z_<$Z0TU;r}r2H=XooJk`!3|gA@kEgv*Cr$7ND4M+YeEM(`G*{v_&5abui4dfJQe08 zasT^S?EC02;l>qjJRt&CzmrRV)jE=+Ein%$6Uvxa6dfmlt<5XZ4B&|h513gSHqf>T z7zk`wwlL1N2{q9atjuVWh6Ot?5DVvHXo5<9SQsz zvW9LtPEbs!+9nZU1vhZ_FWh-;U?!!;eYd|$d&+%Nh>e(G&UDH9);aQ6-{BZ9$eD8V^0UToCWpBLY1aX5?l=skw zwHC4^cXP&CPeaLk3=<3eA}?%m96(`#!X$0frXw1#4RVALrmNg6urV1y?bWwb!bi3U z3@o$(hQ*qyHF+skaL%HHx!UR{VmXXk2p2MO1#bBF8V+)9K<>!LHYy*5m%aX&Qztyk zGyGxCn3=rirrOjxvc`ys7x-5YK!|+75-v>@t6UW)FVoeNpeX&Qz4<`~PPr&nkx>-f z$OX8Ng$*Z>rqINfs*qvLiDUMwCgTpkd~G3aB+3xs?^>vQqUk1zip~n zd+Z;6L`m3)!}=nY{eudAVL}}ij)hp<1~Str39W~jTW6ATP8g24t{&RWmI_U8TS~l& zbua8qNQkfUgu#`d2aJPY6KQGZq;@K&qLV96tc;r(L{DYsi)u;T?7sc>! znG5C74^(Bcp7SIN-&&8FbMg$ky2=pXA7P*;*V0xa>k&4L>16%nNRHv`I-_rL#tMBk z<95+=Qi*;lMw3m%6nFJ$Vuv5O79Q;88eevmjG4#`<5T-d#V#;ev|2}n#X9$C#V}{_ z(!JEc_S(3SZkZr;j3J6+JSA73u;A5Zz=-%D3!QR=ukv#SVHkEeGEt7U6}#dJC2M0F!iA1GSpd~BSVu{qAIFtx z8v*4UvFRJZ#TV;m>=rv*q=4#?{6%DBWdilZAjMpA2{W~W?$M?i%-U#;cnVp~DBE#Z z;_Zb8{DYuS+QX2J#>(2P0PkYR(e&M<)>3i&6icH31lEzaa+o(-SysyNRtjAbOg=qk zZ*M3a#CP>OFZKZ*g2NT@rPVR*of+lg{X)m%UGqOB^?;R~TW@c}-E24`+|})__EWSN z$#n;VzPGCnkDI%sHv<9V^-=pi;IsCFI=JQIS-S}v-(ien@c8gCJ07dSp`gF13myai2&e35N%RcfpQbRo#`7;)vE`I`NKFEGO}Pe5QNVXW1xW3$Eu1ltIJ zmoCLS#i`E88>S_G@(4cJFOg@hV@^~XzcA%Ez;-TX=cbxi`;U5|kA2Meg#nN!KQ48w zW(DRk7RDnka`K62o!Ar2AO<$tzOVXPwQwZm?rWcrI;V`3HT5gXPFj%`+($jL0COar-B)SBSqE&StVx&PvB`Fho51Et2WRYjH(X1M z1~xYvfu0W0H9(8!LNv5JsZrnqm5fI~wQQRhl}$-KQDk?3oduoG6?3YWK6kHmIW&%_ zOYB=nH5=hztyks#pyJf9JItM2zH?Wu>w693))IA`-d^D(KWuceD~J2aYDe7>W1=OV zJFcOBi5*aNfdATOO<3&b1G$rtZQsFHH6&EvQEzVv-+1AeFAUDLHUX-gu13oix;mi) zPK4!JzRZCF*V9IIXY5%=tKuV`@{Z3dkKOWuO|4@+aDZ!HCXqD&M@Z$8JY!N5ZQ6w~ zF>D+8k1wB{eWA>qwp(7m7$L<+S(gz`C?Gtrpk1*5kSafM`JA2 z&YPna0074@WgVLR)K>zR1Mpz4Hr9L%1Bo){P{D+7HMzngHaQk|ORb|{(f5fYvFYc* zI61Dy4C}zzKPAp!udBhn_OymytrhkvOq?9IexY#yGgZbF1~^t8h>W(aD>%#|7x)*d zwbV+Q)}G$Dl0ThDD8X1WV#MopL7OM--%8~i|p zqSmo&^Ek#J#~4&WoPcf%%sL4dd_5*&8*X|bKJYxAhm=g*l8QO`34(JH2hy(G(GK3K zLs1WB69TW-DqIW6fDaI*%{A(n4h}6Yt_S`w$gRj5JgLsMe^}@Jy5WG(tWgOeEUv>p z>s$PwPTPown1Z8D_B}?(PwQyzoa6!1{9_ZSz96QynaEJ(7G!BO+dxd*MIBWWsCrJQ zA(jc&L|I2{OD|4Zhf~E&EOIG1Gs?&t5XnnA;DKYb=i(1JCRxl^fYy>v&7+h;h#ZS_ z%%pr&y5)zS+%G!{- zuY90X1O)U6d>t#&yA@9QWbYH%pqZTD!~y z5JWaK^TP`#>L2^RpSe71e>Hv1W?8R)*CYND3xnX`@1Eqs654BFmi>50;ub;Ra>5te z45HToqcYeU9lRuRlalbn=+$GyIOH_En$ac*S;7_jrpO zZYX8`Ckk_!T>3fh{?QgZ~`1fhoSa*qgu!SIm z2i;I@DXx6B#-@10o}kCaQrpA<2kM{y|NN>)^{EGN$m{V4Iv&t*&<-ayCjf8o0B?%? zpoq^C;^QSJ+eQ-~!W7YQUKXPKpwtIIx2adj-g8P*YTnja@6BoW?P zM-wq13Rm9_KIv9`5Tn+S@d8ULViq6iRhLxtI18LfWcJEYHG@8Jfv2K{BV%`h1r%I} ziC6F@Hu4HTsB&VB1{STc$?fCGCC52%LRV|z#}Wr|&IooS3ZKLY^+?gjd!b^q&_W_) z$%Xa_4TUQQpL)ez@y2nH8ML|zTkATBCWi!9U`(`8NBc@CMADPWyx&%A;5xP^QFDb| zy%msSJ;K4~Q$POfAT6oOoeWSXnu}F2;Ym?D}v&Zx=2~uuL`lxLJ{BYH%z2~8LG&3MziO$3wa=C{=)o09zmmu`> ziB{)CQxg)`!1#Reka1n=bEu;Ul6$XXNrJc)GjJ(Vq6`)s%y?WC2e9*3;XD_=5XZr0B`*9AsyD z^aXl6|01ySsWGZe!CJbezT{sv4?bPj+udOo|C(RNIpntk-Z{Gbp`ZE!_xj^fq-z82 zhyO?{XSF-ik-QmHo1J|gZ{VWD!+7gcsw10N~Lzl+AcG^eXmKdhX zu2mh((eH}{phw8kx5V(_l24c@{i9e~tNVZlUgRlZU_usi=j1eT4j<)6w}w$gs!hjW z{7@<#wX2V?4lzoevIk&_4OF=J>=w`DEu}bsPY~!_1thuB&A4rYdc=$viEDDzz3XaQ z+seJxC2<$|D<#@Td~9dV6;MgEI!t3NbR1s+qWFnvHnkpUYk^5|A_c)*8&Jw+kyE8i zI~Akhh)=bjQmiC*Av@Oyr#`DWCzmNm11|pLWkA}eS9Q$XXp1^|K`?36bkQf5qdzpU zlpJxq|7$UQdtlZ+a4g5c)nm_r{g$=%Vte1Zekhq4xznnZ+-tGmv{b3 zyDdfIV*+Xo)of`~lnc8p{K9q#e@|f@_FE3XF3MB8GaffPnqhlf8(cAzu0os{oar*h zV$|%(LHUJFvN1kRf~-_4S&OkO>A~+HSQkrXmdHaNv5EL$d_kbBBJ#ne7GlZn#TPEp z&7fOdQ>^T|jO|)9MG0BAujb8kc@U}oE3A&UIuKpMfL`62MJj1gRzOxfR}v-U++YghBl@|F0hhf;E3K@@-6+Qpf2TX5iqYsM=d=GC^ERPrXzi9=L0 zp~6m8mRvkn>&$4G^pN1#b zyNQj_wDEXpS1>b_$#4xX;prRL6Hai`3OYK`dvH;V5P2Lgq@Wpr{@5zpFk?+(B472z zPURNH%pKnD&*y5J()HkJi{az6VTw!66lM8G&43kDX(MdeBgW9vHnHY7jx+3OXB=y6 z$A?^8Om7qLr|l7iPkhdP$n43Gn;*viTfg&>%R7Eq+#AjWoY(35RhwpDP3`}uxVI>; z#vUMEy#?r2;kH-Q!w6h%GAJNTRaL@-L6BtA|5l3@5ZjR%0mBQM0Y5Bs1ySys$RhweaZF?KIbrRFBhEu;ttIO1$ zCPdA*`|NV+7@floXCKz!js$q`Oz3bxN5$=U2UMFd09`gz?$?hk2vlN=eU|j z`Pf$O2VOPaqN~0x`g#Sn70`^%*8bsweOdc+tfAxX5)()m&NDS@4qE^XtgvmeoX``? zZ3GEyZc7gG(Viyzz>K)V_XZjLydr~l$e@dO;*je|%-d!1yYU%*;2)Fc%)@gc{p2DJ zM_Zc2EgzMa{C$G&{*>V$6WDHZY!94>2TFMMH`l=#E8>V#v*w=NSm7vS`OJPf3 zX%oVgZXru%wox;q>3C~_OS5D4_Re!>cb}NaHG)|pw>?KZvX9k)>P~(ze1U>pEh_9) zn_|#yd;36FJ%57HYdm3G4RDA^!9CsX7WyQ}i7I1gLU+jEmg9h&%=Td$k+1khyCvnx zhb~Wj>3O?n+&)0{Gw-z+L5eF8v~_YVq?6mmu3~iC(ROEkr09TUYxnge^Ut~B5%KEP z=8Aua+c_U_My|vO9>SbuFo-ML5yK7_E{X) zwBc;d<=)h!9414@xMlWpJzEsta}!kaBuv+eV-1D15@#&+E|P2e&YPI=HH^szlVr||MT=C^TaQ5e($ z)+W$gLt(Fn3fIJIdf0h?A!(Mx4(buZ){KF8#Iz$(U`vL3(jR{8q01}ZU{6PR_rsUh z*#sP)34Kx6(pBB$(Dq7sX!++~H4oMypc7g9g3SybvfdunSGUCJs$nq@g%nK(?T*;n zEmEqrQP$0Mi?mgg`WzB8r=8zMPH}M?W+zxRZpZEI14oay5)bZIK(44Yv~q~cz6?2! z55+-vq_*`xn%+rrEsqLz)%L2vks4hh|H=KZHynK>xkuOutcF@)RoO}}uscxRC$rN$ zNN`Ky5&NN^m)Vzcc<{$n8+~zW6aO%Q)R;XhNMON)pGD>aobyx!xTyL`tbk|4G&`|Z zno0w0ZWkZlY#=gX5~iyF0{!~>>lJv>Dxfhp#$`-7J>qUW${g#1O%cTAWOA@yBxg35 z@~%uNTPX-L#|Ax7e0am<9M8GsiNZFnho05en&||XuR7h@PPZB2=r5>rP=79J*Rd+u z(6LsOkMWR6RR8dO*uD>hC!=7!>ytWEfV_iODxAC(Zrwlawj1j4l15Dje!X3>5PJc! z4A*fMyy=&A-C>D(&ab-M2)E6*w9}svMp}CTjxhi<4pt@y>~3UjepwR-<{OsoeuE25s^5JvuEl!LxL5bDs|ME? ze_j9e3f!#%^-A>cyyM6}m=}RaxXF`;soZ>d8#gv@x@LBi&j6JeC023#dP3OU@_r)%+wA*0K0nb{@ z?#y7XQ*2vT8heMLx$4lXaTnjlU=d4Mr)ptC6vESX!z z!GX&OkAv+(z?i)=7Is~9)g=tB+I3*HuQ(p+S8yg*4U%xU0z0uei?O5qkCXf^wL;!^ zwg1PdR%f}~wJvwHKa0K6z1aAxnD>_H_;hc8>yEdExaXlV2}W8KNi()A>IP8(Jf3-AV??9;+9-B$i9 zS>@98y}jT)&9i7foYwsmAU9wi!kzh~?#yVScYt4?%RRrIh$9R;pp1)EXvx;Y=g47& zA*(ap5$O(+Lh>#X=lk$k`AD|XU90ah%hQp!^q_DVzniNgi}6iQrNs^c%Te!4mlMMCZPaM!^zK`ii8GpVlEaCh)p zfP<_6H+fvGK_uMW)zxa$UJSdt*0FO~)odl}erN5w`15LIKQO6{^YU92j2=9xrn= zb$rKmMo~RF??tRbzSU=8Kcx$OtNn0kB>F(u`jwz&GntXwkQ}(nb%kAITfalT3|L}D z`(QV7-l{8<8Fe0;X979gDyMBAr@il+=6F|Zxyx_me~^XXAP=r*xm4Y>V~2u;?A5Hg zD>0Ijz^`C+t{d}imhDvypxnv*o9|n=Nm04c-Ol08l1&B z!`}HRZ^SwC?|JOnD~u{z@wlen#kxhl!d`KxSn}z1ykX?kl@qm$MwtxUBpntA1w~o%0G)HR(9om$|Nv*oN^AY*mzvENj(bbS`k0$x7Fz zZBsO-DY7FFa1v_`I)WC&W!ej2jktpM$#|KtZfcZ?uk?$!OS6^TC`G!gcv5M$Jb}Q= zo7w$(cnSn7{~@!jz~DNfYMr{4fchzMs$*=|xQVwaM3MQp4kB^%D)zAB?B1b zu>1epyQ1yNaU6Gg&iwyB?$exooBe`aktS#eB4zm|Ro%Ul%p{gb5CCak$GMfR!VxhD zm4iNV5yUtYMBHzYP8H5!oiQn_uxyw6uDy&tu-9$a)wdv zF2-^7i{84U>hJ1-)f(=n(oxQ;{;AiUhVj|Qjsv->2h@W@{Z>73tkPF6-CnhHHk`*= zYtjn?xG8BsH7u<&(4JM(@Z7iMHH#A7u9!uND4A z7{sSO3j;o1iSw+u9siwcBFv@7Z~e^(mO;2a`YF6nYMe8Ba3KSxYk(2D)Nf_pL&J_# zeb<2JF5j-YUvHT-X;XRG3cO7Yft+L1>O7co!UD*HA+TQ?4d-<}#4Hy`%D0U%3%iA} z(0Scu*N>jI=X07Z2)Az=Jxl4wHG*41y;OM6s}|2V*8#ppbQ@!=zax%wv3MT=i{VoZ z=^i-nK?uCIM^0;74*}%bjw3mDLeejDai8p&y#inT$2grYoeTI~ubKnD zI3n!19e~1qxe=TV8)*uKi+rWJ^V)!A_;&`;#9i_H!eBk+r#Ud?bgglMhiGfA&*4o>GY0P>R6j8? zm-_0sapDyZ3y8zF#XHZKjdEeH9(b%4P~zD|*==Al@fBlkOL zjE&~1TCL%IRgah-2cf+_m6!XeW`~&JG>>zIT*qyB12esUft-;5$LL7YRojtJTav@B~deilSIJ9=Xg4r+^zIC{mNZwJxGf-d29n?n( z;2g!wy_krAVxT$UIaqjc-=;ej*;~#`<@LZB!OPd!m`(^lPwTdOG=wG;ObxqCh?H6gmdU%eli+yHEP_5W|8nuL zZRN|o_(*#cXNa#m??K8xY?ZoEPh-37#KTp0Zv?P<26W^i8%ckSNgbf zR|tF58UgcyPe)TdEAmVXpDtUb001BWNkl`?A_8lWWf32$e3V_hifYy)IxKIfft^m#j;mgSF?iF>5+M>nkql} zmu9f7W@0gqKMjB&J7}e4^f)J$&zT3fo1@OMvN`b?V0^#>^H!djpM5j7!~}r9DO!j> z!-~haclO6Rz8=7wjr0*|r*%#;<`2G}xsSSz^!8=R+Q5US^2MC!1$}TmdtqG8FM@W^ zPpkEQDaYLE8JwtNJ)M#B@*G14{FcHeYhn#wRc_KBK;>aytjFA#h4Nz-t`S6z<@MO> zY?R0M)PI>Tg1b4QFYZ@+FDS`KjdtFgcoIKg=6GaRl~axzD9>Bj(ug#Xrea*2p&~rx_^(C zxCdAFW|7a(@^M^V2rRl=bHf!5`RL2GPbC#i7Xz1`)6|JYKAc8DSC?}rO!}v_r#E?m1^A07`)uJs?X;^Kl%b#Fw!dJQtKt&L-84aJd%zW>HH<(x}Cn9KcHuL>G_ z!*O2*vHRkEZ=C;R$MfSeAH>r~u#`=N@RE}_=PRrljdDM@Vd@a|@K^Dne##Xb&L3d) z$a}V+dU6>WKMjp{K0)|zemP0JLupn}+UBnO=WZ6F%U@z)fXQbSfXTva$ zaw*3uvMO8)r-k=p_%Jwbn1aTPn=W_vwkDHojX7K)to{3f!O!)Ni_HTh)m~T z_>4&d-sgz1e|Z*}ylVgO#hw(C`?09*jaBd9OW$MR{gYSp^)yGFhx71Eg4;ED5P|c! zez0j?E3Vm3`hm&w9Uj={;+c47dG1y_A4S&dD7b1Ye_?zjx{v@%!8Ubg_1;$j>_+6! z@#QL+QO*_lNvPTQgAHpZ?|r^8N27q6db7XfGrTk||!4El}gJ4?SYe7WXxJwY~Lwl_8u*3+Fj{W%8PDo=nVs z9H9jp9GHAB7f1M>yqfu;#iWtf@_fh-tmgT8n)(htK3o*nK>S)8Utq!ZSLUu@Exb-I6LQxk^el!rc$FjTkbu{bfcA7v z5CJ?-9JE2+OAsH&MN{&QPw`lv48serk7*_pH(pR93_ooR*Ej3z$reoHiSZCIo)B1v zX=pV4_cbdRK=*D(tcl2Yz?I<)R)4Tg_=1l;PV1PV&I{Tc_wR?}bM*xh@5n#y)!0~p z)kP3F=9%zDK*{;}z>xl)=Jh}C^&-E1C>ZNe;C~IG#r3m#*eGCTVfVq_mwD_8El17n zY7OQy13u=M<(w;eaPFNz`V7W6_|@fgS0E`OOsV;Y{WLcB2pRj8ChunuI5dcD&85Ke zFPIf`7jZ(O$3Bt`a^#;J{Ct#39IKABAdKJLx-Uo@rFm&yRHTtz9^{x+^#>vphl+8^6!IzY1 zj5Lyib0hE8qTVptIx^bMOpo1p3hSt7RkFn3NX>bf{ zJH{ulrB9S=kD@)*MnA^u@ib#a*N4-A)7B0~Hul&e&PQ-Yoo}@sd)BwL?yVNFQA10= zRuay2QG;ulQ)~k*q(tW_>`%4f#kes?%QME;WziI<|i9tv)rdy5{;2>UrHa7OXNa$2VL%s9hl~l z5R1iUrjfM3SmU7@^SB<~F0?_3*5{PmRvY=wlE*3Oz1Ti@raH{Rf)Jg=@7l=(2u+JW zPz#aHWXSQm(@qmUh4uEYyn)9Y)8mNap%q-y^~k=s_pksfJjcZolI&UiQBUcSh^E&7 zc-UKFDQLX~FRb$^(-}^uH8h-UD!PQ2_s)m*IOuEEw3H?!E<&pzuhe?xrx_D|!3K}% z`8(oaD;>DGkyS%F5D>#C9}SEBq`_`dID)z-ZzY#$poYbTCttX%P0gt+YjKZx#~{00 zTh&eVRhv}At)OnYftqIn!8`U5MvWbvmdzPg?@yQ$F-GxQJrHfF(sLR zas#8VtarnNg%>VBKLrWOoddPe+r)dRTwe#zREJus^E`BI8Ec!#q8Z$nBg-3jdX1uo z3B=}te=#^?9(Sfw%&V-^d6+i!&JCB89IW~R*Er&Sqi)#Hdk=+MncT(NUkk-rv5B%#K19ctdk!LnpfHdPtYNrTALZ?`5GM8yW?TT zHh8-{e;P3>R4q%wU%%)cX6dSUo|G)tb&g5PS?f_#JISS-Z*gx}* zxO2(y_!fK_lqe_yk6AsJFbV`9)q`|0uvk<9qIt=Wx+ye)48D&Crtq7(EKF zZI|-_%+qmG=xuRtm@CJEA1OD2d}j<`?jJr-ufCW!#X=lBsypJ-3zYMfH_p>~D#J$m zj9KM%0gv5LXA3{(8EY2CJj7#SV-(Z9!IG#0FLdFHePE8@!jb0)eH^1EZ85L#I3|IS zR3F&$d=VSRZc@BE25Di9_jp1(Rd_LD!)YjJqf3}9V@8V{fP>nf>+ zzN1$hK$CRJi`f_v=eQ7kGi2n`i_IbYIi1x;{p8PXRQV)R$dP_7O(!-)i}voLB~$Fy zC(5bDq4114uD1qExD!=k+UNIh#Fzu?adbK5VV6~1)TC9AAfPpRQWrfk>Bbkp<;cQ3 zC(Mrh(z;}s=mSv#3sTc7?9Fo^kD%b11mD`_bEA6VebIN)vS!i39STBl(OmD}5g(Z9 zVbHHhHo!f0k_PrxuLL+0(yk?xm1MAedNkRuaT;sUl$6Dv0cVfmfsgTz2+&l+>c_Bgz>%Q`1IHFKUxmS;ir>Gjd%YUpn{cyyER-=Yhh=&2Z zVoJv^gUvuND}DC>zSSP9@|+QOJZn)e$u(k$d)uqwM=|@FG$CK{is9slg&n+%$nE&T>vW|!kODQSQM!t>2bRL27f+yus_yCyz|d_^;>ySjLuhU(3j4UXZFNtSjBYx zC=UMA7vpSQ)pedLeDM3d19f(+bQ!~Q0Jf^p8K}<2lS@>2i+5hwJI{u_3Fq<-3wlF+ z*H<@#N>^vZ81N{D`7sOj#vD2)aF0CKl@92y`}KPX~R_7`=27+>%`7jz!B zct`-30q2S=9#G8#J}ouY$%h3CIEQ>pf|S$#B9+fOqYkCsk0szmHLzDN72YxSAB&EI zUo^(+0&y({35HeqGzdOjJ2q3y6VD%~HHHhjPWn_AZCodez=Pv|mp__&u!$Lf6Z%yd zV-}nygP;jl^ckzpE%d+#-}u#_>70tFoM-y)bnDScQV$z$IP5T4Gl$}oe>X;8b&l%UIFvUq%l)>h ztzyRc)Z6adXy2Vi<9oijMSrZPb-Ott2M?&NJSnfv;3;4EP>u@I#ZKm^o{UR-1;6rD zwVjtuoS)lDST*Yk*x@*i9&n6ivz3J-fkROmu6Qk`bE)>`e_(OnR9Vo>ZO%lPoAGG< z;-Q+C#y~G*GAgaQ_mjP`S^g-NN};hB@9E3$S*Rzu^cz&z`@?vC6#pjT;F@cLG(C=e ztnF{s@eey#3=ic9lCPA^1yoFMQC#61nOo?w@CAhVLG3I#U$3aMqj+A37HH|zohOkmykh0*eu8U^B2bcvCfmJ;cc36|H`+AOxc-Zgab9d_w z-tys;Jg?|)xwrTzUirPi{x$qgKQ}B7p_TFPk2R;XJ=aGLTGFCAv3Jo_e!_KvfwW?6 zujjGwR5-svCwyG2czaP*9$LX7G3uAUzHowtM%S0c^>gyPm@Z75gn|cJyAt-3IQ213 zoQ8ny;#EGeQuM^J<)Y?xZxAF*FG3woVWtRa)w)-mj>K?^UD-|`MOB14ZLK)PXh2ww!gldF@h`mq?#_&a=j z2S?Y#Q~ag2kK~ic>vwYPdhBM^#dlo0+*`i4_)hzG&9T$BIC}Yxo;r@-(PyXK^p1Ox zmwn=IB4|VqHWA=m>lS>bp~e6P@6Puw7xkFr+zN+Ahdb_qN3mt8~CM&?F zv7O&C_h7oL33JHdb-!!gu$f@c%RLf65&H!hPai@aoFa8_o#{ZaB>>F3Oqsf)?ZmHC)+CQCjt>?bHu+ zdopitK%6Ulp=Ao)@(|tiz{YksZYph>nNif$k$&~7HCzTtwo}dVG3Es0i;`D`Z^gh# zeL1b|h3hT#Wbd??aC!eOLHz8nkG1JbU3=# zzV$pu{-5aA_p$LqQ?TG>Thk7G?7S@n8}Ky0r(qh;_}szJ@}`As7nsfi$DcG$b>H}6 z?4+;f(e{PGA~eZAtE4dwJElsMc(H#fK8 z_ftDltDlnKhJDyub${nrOV=jkguUq_g~uZKF>~X+=g;rf@^ib|y7q5OJX~;_^y?J2 zhGK4A2)k37V^afdLV;uN*m-*P*AL=9RmDHh#Hge{(K*4;3<`%4!hm=hM&3<_+UiO7 znd&_4EAA}%Zu-w(O;P)KDv(fu*gyR`hdI$wcNf9zP3L*qAmgNoMOOk#UNkj7?P;U9 zC+m!_YM=5nz9*?UKju^E9g%D~jME3)tMVH?kA>@k| ze?N4z!)FES(@SzWqX^JBDVxfCS8xHY@3#Qc?uj3wr?^M_Ao2%JCRFc@SQ9SiQUz7E z!gMiMw0z?ue>H`%%*WUNggL!RCbHFO`of|yx>iy|yp$9YEHOl>`N=2gwYbKx;vM#t zlPo$Ve`sXxrC!S!+E4kkh`GJgZ$|kO{+Ynf1b!wkPrzN{|} z@rxVn8^2QxHV>i?X|`UC!f)>(RsGt?^we1q>|)Cd#4L0Rjw==TqZuw@1?%^O*v^qP zkzIZr1lHBw6z5G>@Fb)HieK~XxBs+Ic-iH;r(2UQs8&Y@xKo~rylwafPye8gYc=Nv z;jj3qJidzQ)oS~QnJ;`UoMC#4p(5>3_n48!b+102@`h(jhkqMaAHJtqc6{om`UaP^ zZ|@#&@nsV~!Ji5IOyFk%^RxHzQ1UdO-3{=m_8|Xwt9z^e7H=M{W~$qe;K5-7*|mK% z|HaRavB;s`J)Rl89~TCGswe*B3yi0}YPRtIl@NLNS)a6jiYt62{fQ3O6P_N`YP%ix zr@r6RRoX`{+N!V^;6Z5l2YsA6_&YC<@A9oKUf>4MwHBF3B|vq45dx#8#{TV?D*P0q zjbe4r?Nqtbn2zOmZvvRrI4*ii;DNcp^J#ow_(}gv;Aa9q6Zj<)!0pcNdDFjrajGWw z%hR$GTzc!k)%Up$i#YDbpVXdkGw)*qJt4kFw{+F_mA5@P$M{md{eF9!rKqVXF*dx% z`pMHweu+NS^kbVd6?Y&^qD?Oe3v4TDM+;94%P8UXyqA>|KW*OX8aY}lg(7$|hEKFR z%>%CGK^$BdAahLD)kt)|AKsm6j|WL|0X&fpAR8F#>7kniv`O>T4P+D7nrV+s=qfg8 z+1II7L)L`b-WEK~v+O1OEp?smrZ=zGbJubF#D6C6Gl8E8eDehS_M`VFyD^>Kmr(nr z=4B6CYTSh3A6Nvt;%LClF zx&*E==j|L(M@;Ac?0M9vFL;}pA)aQrxV8T6hmmOxDz;Ru>;ySL&-G?uWy~vW;adVx z+{Fv-DWvUo_)qzhuMsj{9>Aea`ygJ`LnE~SlF3)K=AYwvtsto66L^1eI=${3aJ;Hr zVwm|zXwLVPS53uFc}g;_tLfsZnR^s8g-v*+6X3M1UUe(OPvmC;KNI+wz_(7oZ#~t$ zmt!aQr<0rS3C}}!Cc`wk-#r&^sTZOx`buWcW0C)&B@Z;5R&Qw^(3cQsp3HJ!)8fEa zrD!{GDyj+H8*6%5lFD}P6RHk2jWPXHA2Y`T(dGgFkAboO+5oES)5ze`A4ZlZ7HMnK z_9nHSkOA(x2hY;>GT}gMg_oi^@KpPhcQylc-5^i0;6%xh#%z23>kH>xxqGrW6*2h4 z955%?5PAV!tZ9QgF3suQx$H!giAyO{g4vX$#S_e9g8?|@a@;9+5AIQ%H zekSnuoB(dI%kxw5O%S)3-M7@^DHz!|5b14C_ugLwm*?Z1*{}HXcTzzPN8;=&{OX&j zPi6}Iz~biub*mD`d*_y3tK!9HHK!*Y3~`48#$4Hhw|(4S5!*3T_Lo=?fQQ@La%*zz zm(h?|!nJNO6oFG*Rllokb6ui~SHfTSKK;v@yMeMiTeKRyj!WwjJk{8=>#0)fp=ejL z&FzxV^g+x9c-v8ET=x$xJ*Iyt-&am1YKOsMbdP=g0DdO$GlBoS3E2HCA5iuFbSm~0JMUS4xpr2= zr}r?%-wzCnU-V)}Y{_=_~&cjn@6%hc7|`U_w7T~WRESCLdP>El=FV8#!# zPB)B)ZS|)6s=dER?8vJ2T+M96j<~A6KQ0WiowmJrzrv4RE8iR|HSDVSp4a1({G0sa zf2?Vi(a-O;U(RvU-3cC;9X4~Z$p3y~S9D*0lf$Y+W4eF5mIzSR!uMuYPbr-N@P0jf zwbZ6a!CHJ^L;55iE1s?8zRlra0l>##;^J#LtHq z^Nm)%wTCbG`LMJt`(1r4H`vzE-!t*M=J-3O^VM_q)%x%1)nCWe35xqu<+J^r@=s0S zW+L^KtxqMoy3`npqaQ9%5c8>c(N61s>Q@N42pSW%N>;wXmg3Ah{MO1lkrUY`BTu5tGcPv(nlORt?m}J^skPV?}&3B-N`w@ ze7E_h`BwQV*7;Iw?lmC<4{5(@?WU z`J$mOK)=%OZjN8D^zEfz>G8zOujW7TaEkfrIs0n;&gUm{G(UM;dLsB0=3!tmvg^`v zY6QmlxaXLVqP-mhOXuKjEp^5&oELzi_QDQ8k_^zRx$Jvxy&%zgI^>n+r#W)p4>LSb zE8i5xti*@&Rk0JHfoZRY!RgNSpJ35)e31(5^PF@hafG(0n zpnMQ#T&1Tcp~4he9(sE!-r`N;$WMS0D@~nnbeJVRxb@ef77Pt+mjkTDgjO~Gwx$9% zF`N&KYsYzV?oKd`m2VC2`uIfXO{4;0x z)@wDxPhzKYe8c^Aj)pfM`7r`ZY))Uh5W<@x6UTw!rFR&|5rjK4p>uI50rm#6zcG6K zUZxfPrvstO)onX(n^q6m>#R0=jU4|DBk5Lsb$%7AJ$il~+eJllQI1Z_;w@H%bx-}J zv|=D!#Us}0ccvj0M}N2;BCm$3|8ZaDbVr4Uq_51x1eRrxNq{KuL*unD~pt6D#3cQ@ZMXPo?Lph`QR&<7ZJ z|KmLYr$>N_p`7%Qw4ui|$f?g0UbVvFFh~`tr^$(R4v=9o?;e#0<^jCRe3^rTgwKBr^izVn8!Fi^`$b}H~UmB z|G@;oSo<>}e-?z@dFgwTK0(o^AIz8MtUYUgm1o3QTe+E6dthv*&o#EzzO}B~ zt4G7(`lvi|ztFAD1@ppNj@&zN ztf~FCa~uggJ8syJfS6UOMrVg@|dii>B42WS0ZA~_&vje#tV%*``5 zC~N3Ux?J+Di<`omzWLPyfB~DNc`iu!ud>7^df+0&T*q*6OsC9LX!Docg#B zmuk+&f|2OvWpS>B&c!5r9E^27h<5^7!?;RZ%~(BR=!g26=&M=)Fj&@PUdE~C+!G1^ zsTur$+j}g`RC*0`x=|^{ZSWvNu8^Es;rW5Hs;Od3gfUb&wj~ywf@AOlFUW(RH5rRI z^edgp8|$zZ`!cSI7aH(U`2mKp@QR+SPW`giD$oA72jzhl@ZhRup&sE+{j!FwnF~4o zAqg19CQf<>7a!q+{ZyJfCumuWdse?Z$BvWd`!q-NwVN3@xG&)K$ggR5R}JPvzwoSc z1eSGpu9a`*Sp1Cu{NM;Y`>Z(7k8-j{?wR>?2Iv9jS~+(2#)=nn)Ojke?V;&MHC8oO z#CBzz!yG}etAjUq#=oGb{Z<@#zErUAzJ#JCIR=2|Sn07>`1RN*RQ$ztvD??oGZx~D zx%YwBRA{z4qS?r2k0E6J@FyI@2Y%q;hirdm8hqfVRxQPIoVc2i0I&0J;28$@gbQ!g zGZ1j@pFS`H3#kXsNich)S)kUSuwb$5-`0k=;P`+C&R@CP9DH4znhl~*OWp`OOXwlT zTJ9k}Z$)rkN9F_uv8*47{3q@!A}#=ZWyE4CXnVw~29XCZYcU_z>`#3$m-eCic}(|i z$H5+z4|{*XMbADA0+uy|w5Ahs9ZM=Sek`zv9xKxd!J4FqjUb)bp_M;xU zIclGnuliA+d>*S-o=7h0n6OTdCdA52VXO&5Uf3Vr5yu?twS^ye@7R7ydETgZ*1${{hc$e$0(!}J z#8sY)in-+pK+cZ%gc)#l^`^mwwa)gXdD3FdsvaJ8UZ9a)#4z`!y=2W;LBSEQfxQO9%CTIB$?^2Q#u4!PtX zi`0#z&L6Wx4f|ETogd_s$Kv3uW@vbe!)K?z%#rF)55MfQn-Tj`jC#O3@bJjBSZi;U z7ml$)G4lGf1GXSnkpIwO(gpd-cWr za1LwLWDf3?Jt_};0;7LIv-61>#jtP9xkoaWx<&t0?MaM#biF9jc*S+k^g>^c3+ugy zxzI0b**YIuDxrfIyg;kFhL+d#0J1iIG2p7db~pF+@HE-6;!f4fKqq}A@On@N9RYyw6KQ@j>9e%BiB;F}ifu`gZ2cj7~bIaqGn$Efv( zZaW5WzP^kJ4c!=M-I)t@S%JgmQsbgxj8Ah=O{35r;qRZeKmkD95^|lVyOqKzacezm zX(fA_a!+E^sOqT(dStDtriv+-{t*fCT8o}NPRWC|oN|ZrK16VtaXZ+!K#=Fcjp)Kp zgIUTD7)Q=A$Bqxwi#6g~G|3My7k!ya%VP=q2)z2$J)o5hk(?mlVL9f;x{9%8+efru zSk|a~?qbS+(!bY0H1xSnId}b3dR)JoV^yoYa=ov~H?WE+AWG}kkAFic`saR;=NQOx zjs()4x;7!NDq6Ge`Kmb+2BtALE7&z;R5>*sJdx6B*m#jgp@m z|M=Ix|2N+p5Z%{XHTRm}iv`z6Z;~8NgsNd_4PU%VuJbp5iq$=rR=FugCvzjYq@He= zTMuNwmrp0N@CXXN04I~8p%T?xmL@e&_(;euH$bMR9+dtod!9$DRd`HnkyAe{uL7U; z2U;D)w|Qs;n7`F3{J)uFBmI5h!ruvb+wV!SU>>>fVlZHQV0rR7dE{q5AI@X?4*bCk zrjnDUHX2>O{tZe+^WnLPYe?)o~Cu~tr{hU6sx`W+K9w#@F%3c9pw2gr+S@) z$><@8cZ>x zsaX5gi+SWWme$GWPB z%DE~Kza;e5|69D9=IcdI-k;R>t6?5^d^?x7_-T$h!&l85fDiiZShjr)UVjkiibs4~ zU(~(DpUg2icSZ{@OK3O8k;`{Bm%=)*JMFhs{7!3UzG5k`MQCyrd4?(T?%bdbm>m{B zSSA0~+nltW{>tOobhjcU#kPl{!u#Pt2*$k=q@XB5F{OuLW!f3$-9>u$KY4H{;Ro#F z*K{Qt?Az&Ab(=ZX{S~9*5QbmDDt*K4YAT*xtk7tGM|{TvUr!k1O_x8bI>kKUD~>Lv z+!GE%iR1JpLUG05d^jg+D`C_UM+MLGt6I9J8M<6WX7N#%obY9Vf)DAID*^8pJGs|v zJ2K5Z?N$7Aj+mkHDcL+O8f;?5i%%-4$}?Sf z+2YkoQJ;{Gh-#L(?D$4*msV@jzVlKQVTK~sQUE7_1-~&r{n07(;cXCYN*$H?Ctz^4 z_^0}%shiMBJ>6jf+8&_2sek(rZdy+*U4DvROxYD?F3cWycb$OS_cvQstuC?_h#=Q! zZRQ5nbD?qd7h+m8C3EBTK5G`d)3IvFX5`WkrAKZ`@32wk;}BmM5y}@D0HlZPz<%nG zcCcMXutt{Am`4i&s&564_~Oy<6fE=Nk#$Qv0Gm4PJB?R_m}8YgzijGMzvHX8x>(br z|7wcY01#rOreVrNr~2o{%bvLhtOGdV(Wj8)R^x^*1@DNMy6<>S z;^6wEH}%2$9p5hZSDd5vxtr@Jy(#~jIqq&i$_w959<{%Yr@B_D)~)SoRfqjmufNJa zda1aez3Z29{wB`QohWzwmF9@4^`w9wtMfGlI5+V|b(Kdf1;kKQ1MS9p-cONdi(~D* zX@ktExy9QO@L5d1eKC0x!Yqfeg0JiClek~RQ3xxaN^1SsU-bHSe?U)%8D26h#xRmk z`$V1gd&0+7t9m|NiIx5;|5dE>qaLo|_Sb7M-i|usS`+^M;b#)b7y!>9e<~gr{6OY# zC46-7djM#swI?UJ{i&bl6743ZErKV1NJSF-cEsn%`NJ>gg405NKSj>Q#OuIWc=`yv zvQMe^x)CdWpiat?hXo%27g)zIo4$N3vG8Yy{2{>y6L`#rXGk>@-)4@BE^AcAkw+nX zur~BiU-6*ca@8D_gN<_U8fRa;W*zR4xuD6M%)$8`R{K^@+8aEuFVygC&_m^;o1^i7 zm-|vp^{9LHY+9)2wfYA}b#2dew&$LzeZ|3^kgqhM#~je-x(cUW;(X+3VLb#p56s0_ z#CfJEFp@NzT=KlI<{0;C@vdKJTV65Dfi--of5ryaVvGGnJ-1oOA!emT`F-!m9tR`9 z+D|nfjxB}@M;)imMd!hdP}9@BUFBkq8qR&@$AUP0e@UCp5CnNMf%w zhKHBZa1pHZ6qfpT&nIm<4fkq$@qGO~;u4&G@2U_7uaQrGTp7kq)5^5BNPl$5hCxm& ztksf}spY|UGtEuv>W`abFvWdY%rSj)PmH4(E`6Oe4a_+1`dGLTfEV~XAQAgDHS+=y z-1)0P(5f`iSCy+`s>de5B|er5Sb24C^*S$|BWpkxHSEc_E6=K_-i;p^t=BlbbVtT( zt?s$6YHhJ$dSQ#rI;y-oFz^r7>V#@anv{5ni? zVE^#V0QQuB+Q9syNaVa6-jXw#>EiGKJnKfOAJ}i!FzMayS0Oje5d`DNzQIN5&cYH$A36sHHa?s1A~9VzmX$g9?}$%798OIO z9}lK*VB9$eY6@}AGqc7OpH#LGUE5B1v5X{hPA4#nwQxPp%H@@B)i^^s730 zPEf~M8sj^s9)j1?*V)Ggzp3cAA{8G+i`sU(tBgs zdov{T(4>qg<2A61(>bs({8kz# zei#EE><2#Vh&Zp`Xz;vP3-ccNe@^`eDE+W8UXuy;27?f6u&f0S9*er^hfoFEzTow1 z9Pug-p6bX0qP&NhH*(8^v*OeTnq*%QOKBbi`B|)mpTz^Xxj=O_2jA69iWyE9VpUVb z@*9WdD!(+xd`H}3z-m9r39R+W=dJ3Sv?iLaZ{@@Op^uWAxvCyG#yz7Co(K2baVcJL z+FLho^$l;z$1{Xy)T$QzgG2Mi#e9rcKk7sG;L$qt!TrED&w{lzjvVS#oBL-TU2|PE zN93zqH>ZwM@#?wKV!zcntvGnzIycN*z3?1?VQxJ?$mzLdzqaN&#&&$FDL$ud)q}>K z=F{aVj(5b}el<_-^K_0@!(MYXOrT_JD%QI>a=GeZpSr}|Epc7&^-;~6J$3w5YwA}$ zgDW4fLtN{ocR0}u8Bx4Jx>(U)+HikSNc7$K%J@!~IhDVvQ-LQ8^5u1?WY%jlr!HPl zRL^%AD`uVN<)jy_*S-0{93yxCttk)~M_ZPkmMfaIn3r1)q6LoUG4+EwnB!#C1QQi` z_ikPphc)m;5_Jw0-h^XeN7bfW>N6(te!zU#N6djk*@9|if)-Klk+GgUXnpKUEl?KT zE7>Ym-h&u;;>XOvV1;M%w&wn01{q@><}JS) z*t+Wl9O_{=NA|~kRKDSrbF7KA`s2M})E|1P>NKXlxHrY>UTd+Z9^Bse;vqc-UuA!y zexpldUgicSwrj(EdL+!L7I1cCo(WeKiDp|%IQ6OCk>|Lr)tgBBcIj98scO2I`eIzw zL&x(NSF(qK(W6(4FItIzzNtveVD!ev2ia-$K4oL+i-9jg}h8dr}o zLk}5vu68=fqX=A8FB8urKvXw))8w@FzVz3g&|7nzeC?CJU zt`ASoTg7|glX*^ffp3RH-gchec&m6gw&Oaj-Eo}cPR>W=xtb$lm9F9|40JyA^fa?4 ze)VYholnj`;i?%{e$4}TnX_6yX=)zam9And%v0=?13oZs^2I5ZtElZwD~|^cj}Cvj zTh%!)v?0<02f%Vf{>LDH_fPjJx$a@2@I@(KZb}vEd!BJui@45&3A@@-^dQ)3RS68g zp$XM?~)n4-V~j19oH5h!gJb1Jw0lX z$FA>+W7ijZ=x`(c55wt9Qwzz4Am0fO4#4v`78nQ)zc#7k^5--W6ymH`M?Sz^KQS>_heZw|0OF|hbKor_wm>Z+L5Ed~bQ zsSY(&E%R&siI;0DY&FLUr#zj(^vK&f|2Br+O8x>J2f|S5Fnb;;mw*wW?Wh z?PAq+VE8w@r(QcBR?lhbxB>!OByml^ig+Bb{^EVvHB> zZrd}?B{d=e@?7N!^M!ned9tOw#cB7lH2Oqxm{+Z??D3D)yTXW9*TF+crazsd@*jHm zcpeJ+Eq8XUqF9VT(SUPe`Y2QB(Ol@iook zX?`b!tM$s-6hk|Q^pAW$fS(EcsS`MSeU>kRKh^mE1MyF0|6OfA-9Ha?UeVy2Xj8P@ zQzP*1o$*8CJ6PjyS8|m5RlF+x>bi=P@=&v!8`bRg%= Date: Thu, 3 Oct 2024 19:53:32 +0200 Subject: [PATCH 6/6] simplified title, moved urls --- _blog.yml | 2 +- leaderboard-finbench.md | 205 +++++++++++++++++++++++----------------- 2 files changed, 121 insertions(+), 86 deletions(-) diff --git a/_blog.yml b/_blog.yml index 2c48f24768..1f8348967e 100644 --- a/_blog.yml +++ b/_blog.yml @@ -4724,7 +4724,7 @@ - local: leaderboard-finbench - title: "Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance" + title: "Introducing the Open FinLLM Leaderboard" author: QianqianXie1994 guest: true thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail_finbench.png diff --git a/leaderboard-finbench.md b/leaderboard-finbench.md index 924edeac55..bb7d7ef641 100644 --- a/leaderboard-finbench.md +++ b/leaderboard-finbench.md @@ -1,5 +1,5 @@ --- -title: "Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance" +title: "Introducing the Open FinLLM Leaderboard" thumbnail: /blog/assets/leaderboards-on-the-hub/thumbnail.png authors: - user: QianqianXie1994 @@ -36,11 +36,13 @@ authors: - user: clefourrier --- -# Introducing the Open FinLLM Leaderboard - Selecting the best AI models for finance +# Introducing the Open FinLLM Leaderboard -The growing complexity of financial language models (LLMs) necessitates evaluations that go beyond general NLP benchmarks. While traditional leaderboards focus on broader NLP tasks like translation or summarization, they often fall short in addressing the specific needs of the finance industry. Financial tasks, such as predicting stock movements, assessing credit risks, and extracting information from financial reports, present unique challenges that require models with specialized skills. This is why we decided to create the **Open FinLLM Leaderboard** +*Finding the best LLM models for finance use cases* -The leaderboard provides a **specialized evaluation framework** tailored specifically to the financial sector. We hope it fills this critical gap, by providing a transparent framework that assesses model readiness for real-world use with a one-stop solution. The leaderboard is designed to highlight a model's **financial skill** by focusing on tasks that matter most to finance professionals—such as information extraction from financial documents, market sentiment analysis, and forecasting financial trends. +The growing complexity of financial language models (LLMs) necessitates evaluations that go beyond general NLP benchmarks. While traditional leaderboards focus on broader NLP tasks like translation or summarization, they often fall short in addressing the specific needs of the finance industry. Financial tasks, such as predicting stock movements, assessing credit risks, and extracting information from financial reports, present unique challenges that require models with specialized skills. This is why we decided to create the [**Open FinLLM Leaderboard**](https://huggingface.co/spaces/TheFinAI/Open-Financial-LLM-Leaderboard). + +The [leaderboard](https://huggingface.co/spaces/TheFinAI/Open-Financial-LLM-Leaderboard) provides a **specialized evaluation framework** tailored specifically to the financial sector. We hope it fills this critical gap, by providing a transparent framework that assesses model readiness for real-world use with a one-stop solution. The leaderboard is designed to highlight a model's **financial skill** by focusing on tasks that matter most to finance professionals—such as information extraction from financial documents, market sentiment analysis, and forecasting financial trends. * **Comprehensive Financial Task Coverage:** The leaderboard evaluates models only on tasks that are directly relevant to finance. These tasks include **information extraction**, **sentiment analysis**, **credit risk scoring**, and **stock movement forecasting**, which are crucial for real-world financial decision-making. * **Real-World Financial Relevance:** The datasets used for the benchmarks represent real-world challenges faced by the finance industry. This ensures that models are actually assessed on their ability to handle complex financial data, making them suitable for industry applications. @@ -96,126 +98,159 @@ We use 40 tasks on this leaderboard, across these categories:
Click here for a short explanation of each task -1. **FPB (Financial PhraseBank Sentiment Classification)** +1. **[FPB (Financial PhraseBank Sentiment Classification)](https://huggingface.co/datasets/ChanceFocus/en-fpb) ** **Description:** Sentiment analysis of phrases in financial news and reports, classifying into positive, negative, or neutral categories. - **Metrics:** Accuracy, F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/en-fpb](https://huggingface.co/datasets/ChanceFocus/en-fpb) -2. **FiQA-SA (Sentiment Analysis in Financial Domain)** + **Metrics:** Accuracy, F1-Score +2. **[FiQA-SA (Sentiment Analysis in Financial Domain)](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa)** **Description:** Sentiment analysis in financial media (news, social media). Classifies sentiments into positive, negative, and neutral, aiding in market sentiment interpretation. - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-fiqasa](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa) -3. **TSA (Sentiment Analysis on Social Media)** - **Description:** Sentiment classification for financial tweets, reflecting public opinion on market trends. Challenges include informal language and brevity. **Metrics:** F1-Score, RMSE Source: [https://huggingface.co/datasets/ChanceFocus/flare-fiqasa](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa) -4. **Headlines (News Headline Classification)** + **Metrics:** F1-Score +3. **[TSA (Sentiment Analysis on Social Media)](https://huggingface.co/datasets/ChanceFocus/flare-fiqasa)** + **Description:** Sentiment classification for financial tweets, reflecting public opinion on market trends. Challenges include informal language and brevity. **Metrics:** F1-Score, RMSE +4. **[Headlines (News Headline Classification)](https://huggingface.co/datasets/ChanceFocus/flare-headlines)** **Description:** Classification of financial news headlines into sentiment or event categories. Critical for understanding market-moving information. - **Metrics:** AvgF1 Source: [https://huggingface.co/datasets/ChanceFocus/flare-headlines](https://huggingface.co/datasets/ChanceFocus/flare-headlines) - -5. **FOMC (Hawkish-Dovish Classification)** + **Metrics:** AvgF1 +5. **[FOMC (Hawkish-Dovish Classification)](https://huggingface.co/datasets/ChanceFocus/flare-fomc)** **Description:** Classification of FOMC statements as hawkish (favoring higher interest rates) or dovish (favoring lower rates), key for monetary policy predictions. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-fomc](https://huggingface.co/datasets/ChanceFocus/flare-fomc) -6. **FinArg-ACC (Argument Unit Classification)** + **Metrics:** F1-Score, Accuracy +6. **[FinArg-ACC (Argument Unit Classification)](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-auc)** **Description:** Identifies key argument units (claims, evidence) in financial texts, crucial for automated document analysis and transparency. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-auc](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-auc) -7. **FinArg-ARC (Argument Relation Classification)** + **Metrics:** F1-Score, Accuracy +7. **[FinArg-ARC (Argument Relation Classification)](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-arc)** **Description:** Classification of relationships between argument units (support, opposition) in financial documents, helping analysts construct coherent narratives. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-arc](https://huggingface.co/datasets/ChanceFocus/flare-finarg-ecc-arc) -8. **MultiFin (Multi-Class Sentiment Analysis)** + **Metrics:** F1-Score, Accuracy + +8. **[MultiFin (Multi-Class Sentiment Analysis)](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin)** **Description:** Classification of diverse financial texts into sentiment categories (bullish, bearish, neutral), valuable for sentiment-driven trading. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-multifin](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin) -9. **MA (Deal Completeness Classification)** + **Metrics:** F1-Score, Accuracy + +9. **[MA (Deal Completeness Classification)](https://huggingface.co/datasets/ChanceFocus/flare-ma)** **Description:** Classifies mergers and acquisitions reports as completed, pending, or terminated. Critical for investment and strategy decisions. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-ma](https://huggingface.co/datasets/ChanceFocus/flare-ma) -10. **MLESG (ESG Issue Identification)** + **Metrics:** F1-Score, Accuracy + +10. **[MLESG (ESG Issue Identification)](https://huggingface.co/datasets/ChanceFocus/flare-mlesg)** **Description:** Identifies Environmental, Social, and Governance (ESG) issues in financial documents, important for responsible investing. - **Metrics:** F1-Score, Accuracy Source: [https://huggingface.co/datasets/ChanceFocus/flare-mlesg](https://huggingface.co/datasets/ChanceFocus/flare-mlesg) -11. **NER (Named Entity Recognition in Financial Texts)** + **Metrics:** F1-Score, Accuracy + +11. **[NER (Named Entity Recognition in Financial Texts)](https://huggingface.co/datasets/ChanceFocus/flare-ner)** **Description:** Identifies and categorizes entities (companies, instruments) in financial documents, essential for information extraction. - **Metrics:** Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-ner](https://huggingface.co/datasets/ChanceFocus/flare-ner) -12. **FINER-ORD (Ordinal Classification in Financial NER)** + **Metrics:** Entity F1-Score + +12. **[FINER-ORD (Ordinal Classification in Financial NER)](https://huggingface.co/datasets/ChanceFocus/flare-finer-ord)** **Description:** Extends NER by classifying entity relevance within financial documents, helping prioritize key information. - **Metrics:** Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-finer-ord](https://huggingface.co/datasets/ChanceFocus/flare-finer-ord) -13. **FinRED (Financial Relation Extraction)** + **Metrics:** Entity F1-Score + +13. **[FinRED (Financial Relation Extraction)](https://huggingface.co/datasets/ChanceFocus/flare-finred)** **Description:** Extracts relationships (ownership, acquisition) between entities in financial texts, supporting knowledge graph construction. - **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-finred](https://huggingface.co/datasets/ChanceFocus/flare-finred) -14. **SC (Causal Classification)** + **Metrics:** F1-Score, Entity F1-Score + +14. **[SC (Causal Classification)](https://huggingface.co/datasets/ChanceFocus/flare-causal20-sc)** **Description:** Classifies causal relationships in financial texts (e.g., "X caused Y"), aiding in market risk assessments. - **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-causal20-sc](https://huggingface.co/datasets/ChanceFocus/flare-causal20-sc) -15. **CD (Causal Detection)** + **Metrics:** F1-Score, Entity F1-Score + +15. **[CD (Causal Detection)](https://huggingface.co/datasets/ChanceFocus/flare-cd)** **Description:** Detects causal relationships in financial texts, helping in risk analysis and investment strategies. - **Metrics:** F1-Score, Entity F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-cd](https://huggingface.co/datasets/ChanceFocus/flare-cd) -16. **FinQA (Numerical Question Answering in Finance)** + **Metrics:** F1-Score, Entity F1-Score + +16. **[FinQA (Numerical Question Answering in Finance)](https://huggingface.co/datasets/ChanceFocus/flare-finqa)** **Description:** Answers numerical questions from financial documents (e.g., balance sheets), crucial for automated reporting and analysis. - **Metrics:** Exact Match Accuracy (EmAcc) Source: [https://huggingface.co/datasets/ChanceFocus/flare-finqa](https://huggingface.co/datasets/ChanceFocus/flare-finqa) -17. **TATQA (Table-Based Question Answering)** + **Metrics:** Exact Match Accuracy (EmAcc) + +17. **[TATQA (Table-Based Question Answering)](https://huggingface.co/datasets/ChanceFocus/flare-tatqa)** **Description:** Extracts information from financial tables (balance sheets, income statements) to answer queries requiring numerical reasoning. - **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-tatqa](https://huggingface.co/datasets/ChanceFocus/flare-tatqa) -18. **ConvFinQA (Multi-Turn QA in Finance)** + **Metrics:** F1-Score, EmAcc + +18. **[ConvFinQA (Multi-Turn QA in Finance)](https://huggingface.co/datasets/ChanceFocus/flare-convfinqa)** **Description:** Handles multi-turn dialogues in financial question answering, maintaining context throughout the conversation. - **Metrics:** EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-convfinqa](https://huggingface.co/datasets/ChanceFocus/flare-convfinqa) -19. **FNXL (Numeric Labeling)** + **Metrics:** EmAcc + +19. **[FNXL (Numeric Labeling)](https://huggingface.co/datasets/ChanceFocus/flare-fnxl)** **Description:** Labels numeric values in financial documents (e.g., revenue, expenses), aiding in financial data extraction. - **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-fnxl](https://huggingface.co/datasets/ChanceFocus/flare-fnxl) -20. **FSRL (Financial Statement Relation Linking)** + **Metrics:** F1-Score, EmAcc + +20. **[FSRL (Financial Statement Relation Linking)](https://huggingface.co/datasets/ChanceFocus/flare-fsrl)** **Description:** Links related information across financial statements (e.g., revenue in income statements and cash flow data). - **Metrics:** F1-Score, EmAcc Source: [https://huggingface.co/datasets/ChanceFocus/flare-fsrl](https://huggingface.co/datasets/ChanceFocus/flare-fsrl) -21. **EDTSUM (Extractive Document Summarization)** + **Metrics:** F1-Score, EmAcc + +21. **[EDTSUM (Extractive Document Summarization)](https://huggingface.co/datasets/ChanceFocus/flare-edtsum)** **Description:** Summarizes long financial documents, extracting key information for decision-making. - **Metrics:** ROUGE, BERTScore, BARTScore Source: [https://huggingface.co/datasets/ChanceFocus/flare-edtsum](https://huggingface.co/datasets/ChanceFocus/flare-edtsum) -22. **ECTSUM (Extractive Content Summarization)** + **Metrics:** ROUGE, BERTScore, BARTScore + +22. **[ECTSUM (Extractive Content Summarization)](https://huggingface.co/datasets/ChanceFocus/flare-ectsum)** **Description:** Summarizes financial content, extracting key sentences or phrases from large texts. - **Metrics:** ROUGE, BERTScore, BARTScore Source: [https://huggingface.co/datasets/ChanceFocus/flare-ectsum](https://huggingface.co/datasets/ChanceFocus/flare-ectsum) -23. **BigData22 (Stock Movement Prediction)** + **Metrics:** ROUGE, BERTScore, BARTScore + +23. **[BigData22 (Stock Movement Prediction)](https://huggingface.co/datasets/TheFinAI/en-forecasting-bigdata)** **Description:** Predicts stock price movements based on financial news, using textual data to forecast market trends. - **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-bigdata](https://huggingface.co/datasets/TheFinAI/en-forecasting-bigdata) -24. **ACL18 (Financial News-Based Stock Prediction)** + **Metrics:** Accuracy, MCC + +24. **[ACL18 (Financial News-Based Stock Prediction)](https://huggingface.co/datasets/ChanceFocus/flare-sm-acl)** **Description:** Predicts stock price movements from news articles, interpreting sentiment and events for short-term forecasts. - **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-sm-acl](https://huggingface.co/datasets/ChanceFocus/flare-sm-acl) -25. **CIKM18 (Financial Market Prediction Using News)** + **Metrics:** Accuracy, MCC + +25. **[CIKM18 (Financial Market Prediction Using News)](https://huggingface.co/datasets/ChanceFocus/flare-sm-cikm)** **Description:** Predicts broader market movements (indices) from financial news, synthesizing information for market trend forecasts. - **Metrics:** Accuracy, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-sm-cikm](https://huggingface.co/datasets/ChanceFocus/flare-sm-cikm) -26. **German (Credit Scoring in Germany)** + **Metrics:** Accuracy, MCC + +26. **[German (Credit Scoring in Germany)](https://huggingface.co/datasets/ChanceFocus/flare-german)** **Description:** Predicts creditworthiness of loan applicants in Germany, important for responsible lending and risk management. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-german](https://huggingface.co/datasets/ChanceFocus/flare-german) -27. **Australian (Credit Scoring in Australia)** + **Metrics:** F1-Score, MCC + +27. **[Australian (Credit Scoring in Australia)](https://huggingface.co/datasets/ChanceFocus/flare-australian)** **Description:** Predicts creditworthiness in the Australian market, considering local economic conditions. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/flare-australian](https://huggingface.co/datasets/ChanceFocus/flare-australian) -28. **LendingClub (Peer-to-Peer Lending Risk Prediction)** + **Metrics:** F1-Score, MCC + +28. **[LendingClub (Peer-to-Peer Lending Risk Prediction)](https://huggingface.co/datasets/ChanceFocus/cra-lendingclub)** **Description:** Predicts loan default risk for peer-to-peer lending, helping lenders manage risk. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-lendingclub](https://huggingface.co/datasets/ChanceFocus/cra-lendingclub) -29. **ccf (Credit Card Fraud Detection)** + **Metrics:** F1-Score, MCC + +29. **[ccf (Credit Card Fraud Detection)](https://huggingface.co/datasets/ChanceFocus/cra-ccf)** **Description:** Identifies fraudulent credit card transactions, ensuring financial security and fraud prevention. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-ccf](https://huggingface.co/datasets/ChanceFocus/cra-ccf) -30. **ccfraud (Credit Card Transaction Fraud Detection)** + **Metrics:** F1-Score, MCC + +30. **[ccfraud (Credit Card Transaction Fraud Detection)](https://huggingface.co/datasets/ChanceFocus/cra-ccfraud)** **Description:** Detects anomalies in credit card transactions that indicate fraud, while handling imbalanced datasets. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-ccfraud](https://huggingface.co/datasets/ChanceFocus/cra-ccfraud) -31. **Polish (Credit Risk Prediction in Poland)** + **Metrics:** F1-Score, MCC + +31. **[Polish (Credit Risk Prediction in Poland)](https://huggingface.co/datasets/ChanceFocus/cra-polish)** **Description:** Predicts credit risk for loan applicants in Poland, assessing factors relevant to local economic conditions. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/ChanceFocus/cra-polish](https://huggingface.co/datasets/ChanceFocus/cra-polish) -32. **Taiwan (Credit Risk Prediction in Taiwan)** + **Metrics:** F1-Score, MCC + +32. **[Taiwan (Credit Risk Prediction in Taiwan)](https://huggingface.co/datasets/TheFinAI/cra-taiwan)** **Description:** Predicts credit risk in the Taiwanese market, helping lenders manage risk in local contexts. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/cra-taiwan](https://huggingface.co/datasets/TheFinAI/cra-taiwan) -33. **Portoseguro (Claim Analysis in Brazil)** + **Metrics:** F1-Score, MCC + +33. **[Portoseguro (Claim Analysis in Brazil)](https://huggingface.co/datasets/TheFinAI/en-forecasting-portosegur** **Description:** Predicts the outcome of insurance claims in Brazil, focusing on auto insurance claims. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-portoseguro](https://huggingface.co/datasets/TheFinAI/en-forecasting-portoseguro) -34. **Travel Insurance (Claim Prediction)** + **Metrics:** F1-Score, MCC + +34. **[Travel Insurance (Claim Prediction)](https://huggingface.co/datasets/TheFinA** **Description:** Predicts the likelihood of travel insurance claims, helping insurers manage pricing and risk. - **Metrics:** F1-Score, MCC Source: [https://huggingface.co/datasets/TheFinAI/en-forecasting-travelinsurance](https://huggingface.co/datasets/TheFinAI/en-forecasting-travelinsurance) -35. **MultiFin-ES (Sentiment Analysis in Spanish)** + **Metrics:** F1-Score, MCC + +35. **[MultiFin-ES (Sentiment Analysis in Spanish)](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin)** **Description:** Classifies sentiment in Spanish-language financial texts (bullish, bearish, neutral). - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-multifin](https://huggingface.co/datasets/ChanceFocus/flare-es-multifin) -36. **EFP (Financial Phrase Classification in Spanish)** + **Metrics:** F1-Score + +36. **[EFP (Financial Phrase Classification in Spanish)](https://huggingface.co/datasets/ChanceFocus/flare-es-efp)** **Description:** Classifies sentiment or intent in Spanish financial phrases (positive, negative, neutral). - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-efp](https://huggingface.co/datasets/ChanceFocus/flare-es-efp) -37. **EFPA (Argument Classification in Spanish)** + **Metrics:** F1-Score + +37. **[EFPA (Argument Classification in Spanish)](https://huggingface.co/datasets/ChanceFocus/flare-es-efpa)** **Description:** Identifies claims, evidence, and counterarguments in Spanish financial texts. - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-efpa](https://huggingface.co/datasets/ChanceFocus/flare-es-efpa) -38. **FinanceES (Sentiment Classification in Spanish)** + **Metrics:** F1-Score + +38. **[FinanceES (Sentiment Classification in Spanish)](https://huggingface.co/datasets/ChanceFocus/flare-es-financees)** **Description:** Classifies sentiment in Spanish financial documents, understanding linguistic nuances. - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/ChanceFocus/flare-es-financees](https://huggingface.co/datasets/ChanceFocus/flare-es-financees) -39. **TSA-Spanish (Sentiment Analysis in Spanish Tweets)** + **Metrics:** F1-Score + +39. **[TSA-Spanish (Sentiment Analysis in Spanish Tweets)](https://huggingface.co/datasets/TheFinAI/flare-es-tsa)** **Description:** Sentiment analysis of Spanish tweets, interpreting informal language in real-time market discussions. - **Metrics:** F1-Score Source: [https://huggingface.co/datasets/TheFinAI/flare-es-tsa](https://huggingface.co/datasets/TheFinAI/flare-es-tsa) -40. **FinTrade (Stock Trading Simulation)** + **Metrics:** F1-Score + +40. **[FinTrade (Stock Trading Simulation)](https://huggingface.co/datasets/TheFinAI/FinTrade_train)** **Description:** Evaluates models on stock trading simulations, analyzing historical stock prices and financial news to optimize trading outcomes. - **Metrics:** Sharpe Ratio (SR) Source: [https://huggingface.co/datasets/TheFinAI/FinTrade\_train](https://huggingface.co/datasets/TheFinAI/FinTrade_train) + **Metrics:** Sharpe Ratio (SR) +
Click here for a detailed explanation of each task