This document addresses common questions about FinGPT usage, capabilities, and limitations.
Answer: FinGPT is primarily designed for financial sentiment analysis and forecasting tasks. While it can process financial text, extracting structured financial information (metrics, values, company names) from reports is not its primary function. For information extraction tasks, you may need to:
- Use FinGPT for sentiment analysis on the extracted information
- Combine with specialized NER (Named Entity Recognition) models
- Use the multi-task FinGPT models which include some entity recognition capabilities
- Consider custom fine-tuning for your specific extraction needs
The multi-task models available on HuggingFace include financial named entity recognition as one of the tasks.
Answer: FinGPT-Forecaster was primarily trained on US market data (DOW 30). While the underlying architecture could be adapted for other markets, the current models are optimized for US market patterns. For China stock market forecasting:
- You would need to collect appropriate Chinese market data
- Fine-tune the model on Chinese market data
- Consider using FinGPT v1.x models which were designed for Chinese markets
- The data pipeline and model architecture would need adaptation for Chinese market characteristics
We welcome contributions for extending market coverage!
Answer: Training requirements vary by model size and dataset:
Minimum Requirements:
- For inference: CPU + 8GB RAM (cloud API recommended)
- For fine-tuning small models: NVIDIA GPU with 12GB+ VRAM
Recommended for Full Training:
- GPU: NVIDIA RTX 3090, A100, or equivalent
- VRAM: 24GB+ for 13B models, 12GB+ for 7B models
- RAM: 32GB+ system RAM
- Storage: 50GB+ SSD
Cloud Options:
- Google Colab (free tier with GPU access)
- Kaggle Kernels (free GPU access)
- RunPod, Vast.ai, Lambda Labs (affordable GPU rentals)
Training Time Estimates:
- FinGPT v3.3 (13B) on RTX 3090: ~17 hours
- FinGPT v3.2 (7B) on A100: ~5.5 hours
- Smaller datasets can train in significantly less time
Answer: Yes, you can train FinGPT on Google Colab with A100 GPU, but with some limitations:
- Time Limits: Colab has time limits on free and paid tiers
- Model Size: A100 can handle 13B models, but training time may be limited
- Storage: Colab storage is temporary - you'll need to save models to Google Drive
- Memory: A100 (40GB) can handle most training configurations
Recommendations for Colab Training:
- Use smaller model variants (7B instead of 13B)
- Enable gradient checkpointing to reduce memory usage
- Use 8-bit or 4-bit quantization
- Save checkpoints frequently to Google Drive
- Consider using Colab Pro+ for longer sessions
For full training runs, dedicated GPU instances (RunPod, Lambda Labs) are often more practical.
Answer: The on_filled and on_execution functions are part of different event handling systems in the FinGPT trading framework:
on_execution: Triggered when a trade order is executedon_filled: Triggered when an order is filled (completed)
They have different signatures because they handle different types of events with different parameters:
on_execution: Receives execution details (price, quantity, timestamp)on_filled: Receives fill confirmation details
This design follows standard trading system patterns where order execution and order fills are distinct events with different information requirements.
Answer: Currently, we provide the FinGPT-RAG framework and codebase, but not the pre-trained fine-tuned models with RAG integration. This is because:
- RAG is modular: RAG performance depends heavily on the retrieval system and knowledge base
- Customization needed: Optimal RAG configurations vary by use case
- Resource considerations: Full RAG models are large and resource-intensive
However, you can:
- Use our open-source RAG framework with your own knowledge base
- Fine-tune the base models using our instruction tuning datasets
- Build custom RAG systems using our provided components
We are working on providing more complete RAG solutions in future releases.
Answer: Yes, you can use RAG (Retrieval-Augmented Generation) without fine-tuning the base LLM. This approach:
Advantages:
- No need for extensive compute resources for fine-tuning
- Can be implemented with smaller models
- Easier to update knowledge base vs. retraining
- Works with various base LLMs (GPT-3.5, Llama, etc.)
Limitations:
- May not achieve the same performance as fine-tuned + RAG
- Dependent on quality of retrieval system
- Base model may not be optimized for financial domain
Implementation Approach:
- Use a general-purpose LLM (GPT-3.5, Llama 2, etc.)
- Build a financial knowledge base with your data
- Implement retrieval system (vector database, search engine)
- Use RAG to augment prompts with relevant context
This approach is particularly useful if you have limited compute resources or need to frequently update your knowledge base.
Answer: Most FinGPT training datasets are available on HuggingFace:
Available Datasets:
- fingpt-sentiment-train - Sentiment analysis training data
- fingpt-finred - Financial relation extraction
- fingpt-headline - Financial headline classification
- fingpt-ner - Financial named entity recognition
- fingpt-fiqa_qa - Financial Q&A
- fingpt-fineval - Chinese multiple-choice questions
- fingpt-forecaster-dow30-202305-202405 - Forecaster dataset
For FinGPT-Forecaster specifically: The DOW30 dataset used for training FinGPT-Forecaster is available at:
This dataset contains:
- Stock price data for DOW 30 companies
- Financial news headlines and content
- Basic financial information
- Time period: May 2023 to May 2024
For the original DOW dataset or historical data:
- Use financial data APIs (yfinance, Alpha Vantage, etc.)
- Collect data from financial websites
- Use the data collection scripts provided in the repository
- The dataset is structured to be easily extensible for other time periods or markets
Dataset Usage:
- You can use this dataset to fine-tune other models (Mistral, Llama 3, etc.)
- The dataset format is compatible with standard HuggingFace dataset loading
- You can extend the dataset with newer data following the same structure
Answer: Yes, our datasets are designed to be model-agnostic and can be used to fine-tune various LLM architectures including Mistral, Llama 2, ChatGLM, etc.
Steps to fine-tune Mistral with FinGPT datasets:
- Download the dataset from HuggingFace
- Adapt the data format for Mistral's training requirements
- Use Mistral's fine-tuning scripts or HuggingFace Trainer
- Adjust hyperparameters for Mistral's architecture
Benefits of using newer models like Mistral:
- Often better performance per parameter
- More efficient architectures
- Improved handling of long contexts
- Better multilingual capabilities
We encourage experimentation with different base models!
If your question isn't answered here:
- Check the GitHub Issues
- Join our Discord community
- Refer to component-specific READMEs in the
fingpt/directory - Check the FinGPT documentation
Nothing herein is financial advice, and NOT a recommendation to trade real money. Please use common sense and always first consult a professional before trading or investing.