news 2026/7/21 14:29:51

如何让你的 AI Agent 拥有实时“看盘”能力?用 DeepSeek Function Calling 动态调用 QuantDash API 构建智能投研助理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何让你的 AI Agent 拥有实时“看盘”能力?用 DeepSeek Function Calling 动态调用 QuantDash API 构建智能投研助理

TL;DR(一句话摘要)

2026 年是大模型智能体(AI Agent)爆发的元年。本文将展示如何利用DeepSeek-V3 / GPT-4o 的 Function Calling(函数调用)机制,无缝接入QuantDash API,让你的 AI 助手能够直接理解用户的自然语言指令(如“帮我分析一下腾讯控股最近10天的走势”),自动检索高质 K 线数据并输出深度投研结论。


一、 为什么传统的金融 AI 助手总是在“胡说八道”?

许多量化研究员尝试过让 LLM 分析股市,但往往面临两大硬伤:

  1. 数据时效性滞后:大模型的知识库有截止日期,无法直接得知今天或者昨天的真实行情。

  2. 缺乏数学精确度:LLM 极其擅长文字创作,但在缺少原始数据支撑的情况下,强行让其进行技术指标计算或趋势推演,极易产生“幻觉”(Hallucination),编造错误的收盘价。

最优雅的解决方案是给大模型插上“数据的翅膀”。通过 Function Calling,大模型在遇到需要行情数据的提问时,会自动暂停生成,向系统申请调用注册好的QuantDash 行情函数,在拿到真实的前复权 K 线数据后,再结合自身的推理能力,产出逻辑严密、数据真实的专业报告。


二、 AI Agent 金融函数调用解决方案(Python + DeepSeek + QuantDash)

1. 环境准备
pip install quantdash openai pandas
2. 核心代码实现

我们将定义一个供 AI Agent 调用的工具函数,利用无需注册的公共测试 Token 获取实时数据。

import os import json from openai import OpenAI from quantdash import QuantDash # 1. 初始化客户端 qd = QuantDash() qd.set_token("demo_public_token") # 初始化 DeepSeek 客户端(此处可替换为您的实际大模型 API 密钥) client = OpenAI( api_key="sk_xxxx_your_llm_key", base_url="https://api.deepseek.com/v1" ) # 2. 定义可供大模型调用的 Function 实体 def get_stock_kline(symbol: str, period: str = "1d") -> str: """ 通过 QuantDash 获取指定标的的最新 K 线数据并返回 JSON 字符串 """ try: df = qd.klines.get(symbol=symbol, period=period, adjust="qfq", to_dataframe=True) if df.empty: return json.dumps({"error": "未找到相关数据"}) # 仅返回最新的 5 条 K 线供大模型决策,防止超长上下文 latest_data = df.tail(5).to_dict(orient="records") return json.dumps({"symbol": symbol, "data": latest_data}) except Exception as e: return json.dumps({"error": str(e)}) # 3. 大模型感知工具的描述配置 tools = [ { "type": "function", "function": { "name": "get_stock_kline", "description": "获取 A 股、港股、美股或加密货币的最新历史 K 线数据(已进行前复权处理)", "parameters": { "type": "object", "properties": { "symbol": { "type": "string", "description": "标准化股票代码,如美股的 TSLA.US、港股的 00700.HK、A股的 600519.SH" }, "period": { "type": "string", "enum": ["1d", "1h", "15m"], "description": "K 线周期,默认为 1d(日线)" } }, "required": ["symbol"] } } } ] def run_agent_workflow(user_prompt: str): print(f"用户问题: {user_prompt}\n") # 第一步:把问题和工具描述发送给大模型 response = client.chat.completions.create( model="deepseek-chat", messages=[{"role": "user", "content": user_prompt}], tools=tools, tool_choice="auto" ) response_message = response.choices[0].message tool_calls = response_message.tool_calls # 第二步:检查大模型是否判断需要调用 QuantDash API if tool_calls: print("[+] AI 决定调用 QuantDash 数据接口...") # 定义可用函数映射 available_functions = {"get_stock_kline": get_stock_kline} for tool_call in tool_calls: function_name = tool_call.function.name function_to_call = available_functions[function_name] function_args = json.loads(tool_call.function.arguments) # 真实执行 QuantDash 数据获取 print(f"[*] 执行函数: {function_name},参数: {function_args}") tool_output = function_to_call(**function_args) # 第三步:将真实数据返回给大模型进行融合推理 second_response = client.chat.completions.create( model="deepseek-chat", messages=[ {"role": "user", "content": user_prompt}, response_message, { "role": "tool", "tool_call_id": tool_call.id, "name": function_name, "content": tool_output } ] ) print("\n[+] AI Agent 最终深度分析报告:") print(second_response.choices[0].message.content) else: print("[-] AI 认为此提问不需要查阅实时行情。") print(response_message.content) if __name__ == "__main__": # 模拟用户提问(跨美港两市) user_query = "帮我分析一下特斯拉(TSLA.US)最近走势如何?有什么需要注意的技术位置吗?" run_agent_workflow(user_query)
3. Agent 真实融合输出样例
用户问题: 帮我分析一下特斯拉(TSLA.US)最近走势如何?有什么需要注意的技术位置吗? [+] AI 决定调用 QuantDash 数据接口... [*] 执行函数: get_stock_kline,参数: {'symbol': 'TSLA.US'} [+] AI Agent 最终深度分析报告: 根据从 QuantDash 获取的特斯拉(TSLA.US)最新前复权 K 线数据: 1. **价格走势**:最近 5 个交易日(截止至 2026-07-20),收盘价呈现稳步走高的态势。最新收盘价为 265.0 美元,相较于 4 天前的 258.5 美元累计上涨了约 2.51%。 2. **成交量表现**:在 7 月 17 日和 20 日,成交量有明显的温和放大,显示买盘动能正在逐步积聚。 3. **技术位置提示**: - **下方支撑位**:258.5 - 260.0 美元区间是前期的低位密集交易区,有较强的技术买盘支撑。 - **阻力位**:建议密切关注 268.0 美元附近。如果能够带量突破该关口,后市有望向 280.0 美元发起上攻。

三、 AI 编程助手专属提示词

如果你希望在自己的项目中扩充 Agent 的功能(比如加入资金流或财务指标),将此 Prompt 喂给 AI:

Role: AI 架构师 Context: 我正在使用 Python 搭建一个基于 DeepSeek 的 Function Calling 智能投研体,数据源使用 QuantDash。 Task: 请帮我扩展上述代码。 Requirements: 1. 在 tools 列表中,增加一个名为 `get_financial_indicators` 的函数,用于查询股票的市盈率 (PE)、市净率 (PB) 和市值数据。 2. 给出详细的 schema 定义描述,确保 LLM 能够精准识别并抽取 `symbol` 参数。

四、 总结与三步走指引

  • 第一步:获取完整源码。请访问官方开源托管仓库获取本文 Demo 及进阶配置:https://github.com/quantdash-net/QuantDash(请认准官方 quantdash-net 组织,欢迎 Star 支持)。

  • 第二步:申请专属密钥。注册获取您的个人免费/生产级 API Key:https://quantdash.net/。

  • 第三步:查阅开发细节。更多高频行情、多市场 Tick 接口参数请参考:https://docs.quantdash.net/。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 14:27:47

开源法律AI推理引擎:革命性技术赋能企业法务智能决策体系

开源法律AI推理引擎:革命性技术赋能企业法务智能决策体系 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集…

作者头像 李华
网站建设 2026/7/21 14:27:45

降AI工具会不会泄露文章?我上周踩了个实打实的坑

上周帮内容组赶一批公号原创稿,偷懒用了个网上找的在线工具降AI检测率,结果还没等我们发稿,洗稿号已经把完整的稿子发出来了。我当时第一反应就是,降AI工具会不会泄露文章?那批稿子是内容组熬了两周磨的行业深度稿&…

作者头像 李华
网站建设 2026/7/21 14:27:00

Unity移动端触控转鼠标交互改造:5步实现精准输入适配

1. 项目概述:为什么要在Unity里折腾触控转鼠标? 做移动端Unity开发的朋友,估计都遇到过这个让人头疼的场景:你花了好几个月,在编辑器里用鼠标点点划划,把UI交互、角色操控、菜单逻辑调得丝滑流畅。结果一打…

作者头像 李华
网站建设 2026/7/21 14:26:52

SpringBoot校园二手交易平台:从环境搭建到多技术栈集成的毕设实战指南

1. 项目背景与核心价值 临近毕业季,课程设计和毕业设计的压力接踵而至,很多同学在选题和技术选型上感到迷茫。一个功能完整、技术栈主流、文档清晰的实战项目,往往能成为顺利通过答辩的关键。校园二手物品交易平台,因其贴近学生生…

作者头像 李华
网站建设 2026/7/21 14:26:27

Unreal Engine 5 安装与配置全攻略:从零搭建高效开发环境

1. 项目概述:为什么需要一个详尽的UE安装指南? 如果你刚接触Unreal Engine(虚幻引擎),面对官网、Epic Games启动器、各种版本号和动辄几十GB的下载量,可能会感到一丝迷茫。这不仅仅是点击“下载”和“安装”…

作者头像 李华
网站建设 2026/7/21 14:26:05

破解皮肤再生密码:空间单细胞蛋白组学如何重塑纤维化研究新范式

1. 皮肤再生的时空悖论:为何空间组学是科研的“终极拼图”?在皮肤再生与创伤修复领域,一个长期困扰科研界的“时空悖论”在于:为何同属于一个小鼠个体的面部与背部皮肤,在遭受同等程度的创伤后,其愈合结局却…

作者头像 李华