❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
原文链接:https://mp.weixin.qq.com/s/TX2K4jmhlodioTEBY5kn3A
🚀 快速阅读
- 功能:FinRobot 提供市场预测、文档分析和交易策略等多种金融专业 AI 代理。
- 技术:基于大型语言模型(LLMs)和金融思维链(CoT)提示技术,增强复杂分析和决策能力。
- 应用:广泛应用于金融领域的市场预测、年度报告分析和交易策略优化。
正文(附运行示例)
FinRobot 是什么
FinRobot 是一个开源的 AI Agent 平台,专注于金融领域的应用。它基于大型语言模型(LLMs)构建,能够进行复杂的金融分析和决策。通过金融思维链(CoT)提示功能,FinRobot 将复杂的金融问题分解为逻辑步骤,增强其分析能力。
FinRobot 的架构包括金融 AI 代理层、金融 LLM 算法层、LLMOps 和 DataOps 层以及多源 LLM 基础模型层,支持市场预测、文档分析和交易策略等多种金融专业 AI 代理。
FinRobot 的主要功能
- 金融机器学习(FinML):基于多种机器学习技术提高金融预测分析的能力。
- 金融多模态 LLM:处理并综合来自多种模态(如文本、图表和表格)的信息,提供全面深入的金融文档理解。
- LLMOps 层:实现高模块化和可插拔性,优化任务分配,包括任务管理、代理注册、代理适配器和主管代理等组件。
- 数据操作层(DataOps Layer):管理金融分析所需的广泛和多样化的数据集,确保输入 AI 处理管道的所有数据都是高质量和代表当前市场状况的。
- 金融思维链(Financial Chain-of-Thought)提示技术:业务特定分析、市场分析、估值分析,提供对记录和派生值的来源和推导的详细解释,适应性和发展性。
- 市场模拟:通过结合类似人类的推理过程来超越纯粹的数值分析,模拟市场参与者的决策过程。
- 市场预测代理:分析公司的股票代码、最新财务数据和市场新闻,预测其股票走势。
- 年度报告分析代理:专门用于分析公司的年度报告,提取关键信息并生成摘要。
- 交易策略代理:根据市场数据和预定的规则制定交易策略,结合技术分析和基本面分析,为不同风险偏好的投资者提供定制化的交易建议。
- 金融图表代理:专门用于生成和解释金融图表,将复杂的数据可视化,帮助用户更直观地理解市场趋势和模式。
- 优化交易代理:通过机器学习算法优化现有的交易策略,回测历史数据,调整参数,以提高策略的性能和稳定性。
FinRobot 的技术原理
- 金融 AI 代理层(Financial AI Agents Layer):通过金融思维链(CoT)技术将复杂的金融问题分解为逻辑序列,增强复杂分析和决策能力。
- 金融 LLM 算法层(Financial LLM Algorithms Layer):配置和使用针对特定领域和全球市场分析而定制的经过特殊调整的模型。
- LLMOps 和 DataOps 层:应用训练和微调技术以及使用与任务相关的数据来生成准确的模型。
- 多源 LLM 基础模型层(Multi-source LLM Foundation Models Layer):集成各种 LLM,使上述各层能直接访问它们。
如何运行 FinRobot
1. 创建虚拟环境
conda create --name finrobot python=3.10
conda activate finrobot
2. 下载 FinRobot 仓库
git clone https://github.com/AI4Finance-Foundation/FinRobot.git
cd FinRobot
3. 安装依赖
pip install -U finrobot
4. 修改配置文件
1) 将 OAI_CONFIG_LIST_sample 重命名为 OAI_CONFIG_LIST
2) 删除 OAI_CONFIG_LIST 文件中的注释行
3) 添加你的 OpenAI API 密钥
5. 运行示例代码
import autogen
from finrobot.utils import get_current_date, register_keys_from_json
from finrobot.agents.workflow import SingleAssistant
# 配置
llm_config = {
"config_list": autogen.config_list_from_json(
"../OAI_CONFIG_LIST",
filter_dict={
"model": ["gpt-4-0125-preview"]},
),
"timeout": 120,
"temperature": 0,
}
# 注册 FINNHUB API 密钥
register_keys_from_json("../config_api_keys")
# 运行市场预测代理
company = "NVDA"
assitant = SingleAssistant(
"Market_Analyst",
llm_config,
human_input_mode="NEVER",
)
assitant.chat(
f"Use all the tools provided to retrieve information available for {company} upon {get_current_date()}. Analyze the positive developments and potential concerns of {company} "
"with 2-4 most important factors respectively and keep them concise. Most factors should be inferred from company related news. "
f"Then make a rough prediction (e.g. up/down by 2-3%) of the {company} stock price movement for next week. Provide a summary analysis to support your prediction."
)
资源
- 项目官网:https://github.com/AI4Finance-Foundation/FinRobot
- GitHub 仓库:https://github.com/AI4Finance-Foundation/FinRobot
- arXiv 技术论文:https://arxiv.org/pdf/2405.14767
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦