General Financial Tasks
We consider six general financial tasks, in total 122.9k train questions and 31.7k test questions.
Question sets |
Type |
#Train |
#Test |
Average Prompt Length |
Metrics |
Source |
Train Data |
Test Data |
|---|---|---|---|---|---|---|---|---|
Financial Phrase Bank (FPB) |
Sentiment Analysis |
3.1k |
970 |
56 |
Accuracy, F1 |
Part of finlora_sentiment_train.jsonl |
||
Financial Question Answering (FiQA SA) |
Sentiment Analysis |
822 |
234 |
48 |
Accuracy, F1 |
Part of finlora_sentiment_train.jsonl |
||
Twitter Financial News Sentiment (TFNS) |
Sentiment Analysis |
9.5k |
2.4k |
52 |
Accuracy, F1 |
Part of finlora_sentiment_train.jsonl |
||
News with GPT (NWGI) |
Sentiment Analysis |
12.9k |
4.1k |
81 |
Accuracy, F1 |
Part of finlora_sentiment_train.jsonl |
||
Headline |
Headline Analysis |
82.2k |
20.5k |
43 |
Accuracy, F1 |
|||
Named Entity Recognition (NER) |
Named Entity Recognition |
13.5k |
3.5k |
138 |
Accuracy, F1 |
Financial Phrase Bank (FPB) (Sentiment Analysis) [fpb]
Financial Phrase Bank (FPB) contains sentences extracted from financial news and reports. These sentences are annotated with sentiment labels “positive”, “negative”, and “neutral”. We manually created the train/test split.
Instruction |
What is the sentiment of this news? Please choose an answer from {negative/neutral/positive}. |
|---|---|
Input |
Pharmaceuticals group Orion Corp reported a fall in its third-quarter earnings that were hit by larger expenditures on R&D and marketing. |
Output |
negative |
FiQA SA (Sentiment Analysis) [fiqa]
Financial question-answering sentiment analysis (FiQA SA) is another sentiment analysis dataset with the same labels as FPB from microblog headlines and financial news.
Instruction |
What is the sentiment of this news? Please choose an answer from {negative/neutral/positive}. |
|---|---|
Input |
Johnson Matthey raises prospect of investor payout |
Output |
positive |
Twitter Financial News Sentiment (TFNS) (Sentiment Analysis) [tfns]
Twitter financial news sentiment (TFNS) comprises annotated tweets related to financial news labeled with the same sentiment categories as FPB.
Instruction |
What is the sentiment of this tweet? Please choose an answer from {negative/neutral/positive}. |
|---|---|
Input |
$BYND - JPMorgan reels in expectations on Beyond Meat https://t.co/bd0xbFGjkT |
Output |
negative |
News with GPT (NWGI) (Sentiment Analysis)
News with GPT instruction (NWGI) comprises samples with seven labels ranging from strong negative to strong positive.
Instruction |
What is the sentiment of this news? Please choose an answer from {strong negative/moderately negative/mildly negative/neutral/mildly positive/moderately positive/strong positive}. |
|---|---|
Input |
Amid a soft performance for the major equity indices on Tuesday, Nvidia (NASDAQ: NVDA ) posted a particularly glaring loss. Shares continued to fall in sympathy with fellow semiconductor specialist Micron Technology (NASDAQ: MU ) following its disappointing earnings results last week. |
Output |
moderately negative |
Financial Headline Analysis (Headline Analysis) [headline-tasks]
The Headline dataset classifies headlines based on various questions into two classes: “yes” and “no”.
Instruction |
Does the news headline talk about price? Please choose an answer from {Yes/No}. |
|---|---|
Input |
Gold futures edge up after two-session decline |
Output |
No |
Named Entity Recognition (NER) (Named Entity Recognition) [ner-tasks]
The NER dataset annotates one entity per sentence, categorized into one of three classes: “location”, “person”, and “organization”.
Instruction |
What is the entity type of ‘40 William St’ in the input sentence. Options: person, location, organization |
|---|---|
Input |
This LOAN AND SECURITY AGREEMENT dated January 27 , 1999 , between SILICON VALLEY BANK (” Bank “), a California - chartered bank with its principal place of business at 3003 Tasman Drive , Santa Clara , California 95054 with a loan production office located at 40 William St ., Ste . |
Output |
location |
Fine-tuning for General Financial Tasks
To fine-tune a model for general financial tasks, you can use the configurations provided in the lora/finetune_configs.json file. Below are the configurations for each task:
Sentiment Analysis
To fine-tune a model for sentiment analysis tasks (FPB, FiQA SA, TFNS, NWGI), you can use one of the following configurations:
# Vanilla LoRA with 8-bit quantization and rank 8
python lora/finetune.py sentiment_llama_3_1_8b_8bits_r8
# QLoRA with 4-bit quantization and rank 4
python lora/finetune.py sentiment_llama_3_1_8b_4bits_r4
# DoRA with 8-bit quantization and rank 8
python lora/finetune.py sentiment_llama_3_1_8b_8bits_r8_dora
# RSLoRA with 8-bit quantization and rank 8
python lora/finetune.py sentiment_llama_3_1_8b_8bits_r8_rslora
These configurations use different combinations of quantization bits, rank, and LoRA methods:
sentiment_llama_3_1_8b_8bits_r8: Vanilla LoRA with 8-bit quantization and rank 8, providing a good balance between performance and efficiency.
sentiment_llama_3_1_8b_4bits_r4: QLoRA with 4-bit quantization and rank 4, reducing memory usage at the cost of some precision.
sentiment_llama_3_1_8b_8bits_r8_dora: DoRA (Weight-Decomposed Low-Rank Adaptation) with 8-bit quantization and rank 8, which can improve performance by decomposing weights into magnitude and direction components.
sentiment_llama_3_1_8b_8bits_r8_rslora: RSLoRA (Rank-Stabilized LoRA) with 8-bit quantization and rank 8, which uses a different scaling factor to improve stability.
Headline Analysis
To fine-tune a model for the Headline Analysis task, you can use one of the following configurations:
# Vanilla LoRA with 8-bit quantization and rank 8
python lora/finetune.py headline_llama_3_1_8b_8bits_r8
# QLoRA with 4-bit quantization and rank 4
python lora/finetune.py headline_llama_3_1_8b_4bits_r4
# DoRA with 8-bit quantization and rank 8
python lora/finetune.py headline_llama_3_1_8b_8bits_r8_dora
# RSLoRA with 8-bit quantization and rank 8
python lora/finetune.py headline_llama_3_1_8b_8bits_r8_rslora
These configurations use different combinations of quantization bits, rank, and LoRA methods:
headline_llama_3_1_8b_8bits_r8: Vanilla LoRA with 8-bit quantization and rank 8, providing a good balance between performance and efficiency.
headline_llama_3_1_8b_4bits_r4: QLoRA with 4-bit quantization and rank 4, reducing memory usage at the cost of some precision.
headline_llama_3_1_8b_8bits_r8_dora: DoRA (Weight-Decomposed Low-Rank Adaptation) with 8-bit quantization and rank 8, which can improve performance by decomposing weights into magnitude and direction components.
headline_llama_3_1_8b_8bits_r8_rslora: RSLoRA (Rank-Stabilized LoRA) with 8-bit quantization and rank 8, which uses a different scaling factor to improve stability.
Named Entity Recognition
To fine-tune a model for the Named Entity Recognition task, you can use one of the following configurations:
# Vanilla LoRA with 8-bit quantization and rank 8
python lora/finetune.py ner_llama_3_1_8b_8bits_r8
# QLoRA with 4-bit quantization and rank 4
python lora/finetune.py ner_llama_3_1_8b_4bits_r4
# DoRA with 8-bit quantization and rank 8
python lora/finetune.py ner_llama_3_1_8b_8bits_r8_dora
# RSLoRA with 8-bit quantization and rank 8
python lora/finetune.py ner_llama_3_1_8b_8bits_r8_rslora
These configurations use different combinations of quantization bits, rank, and LoRA methods:
ner_llama_3_1_8b_8bits_r8: Vanilla LoRA with 8-bit quantization and rank 8, providing a good balance between performance and efficiency.
ner_llama_3_1_8b_4bits_r4: QLoRA with 4-bit quantization and rank 4, reducing memory usage at the cost of some precision.
ner_llama_3_1_8b_8bits_r8_dora: DoRA (Weight-Decomposed Low-Rank Adaptation) with 8-bit quantization and rank 8, which can improve performance by decomposing weights into magnitude and direction components.
ner_llama_3_1_8b_8bits_r8_rslora: RSLoRA (Rank-Stabilized LoRA) with 8-bit quantization and rank 8, which uses a different scaling factor to improve stability.
Citations
Malo, P., H. Lu, M. Ahlgren, S. Rönnqvist, and P. Nyberg. (2014). FinancialPhraseBank-v1.0. Available at SSRN: https://ssrn.com/abstract=2512146 or http://dx.doi.org/10.2139/ssrn.2512146
Sinha, A., Joglekar, M., & Murphy, F. (2018). FiQA: Financial Opinion Mining and Question Answering. arXiv preprint arXiv:1809.09431.
Araci, D. (2019). FinBERT: Financial Sentiment Analysis with Pre-trained Language Models. arXiv preprint arXiv:1908.10063.
Sinha, A., & Khandait, P. (2020). Headline-Enhanced Financial Embedding. In Proceedings of the 2nd Workshop on Economics and Natural Language Processing (pp. 66-74).
Salinas Alvarado, D., Rönnqvist, S., & Niklaus, J. (2015). Domain-Specific Named Entity Recognition: A Case Study in Finance. In Proceedings of the 1st Workshop on Vector Space Modeling for Natural Language Processing (pp. 110-115).