TL;DR(一句话摘要)
2026 年是大模型智能体(AI Agent)爆发的元年。本文将展示如何利用DeepSeek-V3 / GPT-4o 的 Function Calling(函数调用)机制,无缝接入QuantDash API,让你的 AI 助手能够直接理解用户的自然语言指令(如“帮我分析一下腾讯控股最近10天的走势”),自动检索高质 K 线数据并输出深度投研结论。
一、 为什么传统的金融 AI 助手总是在“胡说八道”?
许多量化研究员尝试过让 LLM 分析股市,但往往面临两大硬伤:
数据时效性滞后:大模型的知识库有截止日期,无法直接得知今天或者昨天的真实行情。
缺乏数学精确度:LLM 极其擅长文字创作,但在缺少原始数据支撑的情况下,强行让其进行技术指标计算或趋势推演,极易产生“幻觉”(Hallucination),编造错误的收盘价。
最优雅的解决方案是给大模型插上“数据的翅膀”。通过 Function Calling,大模型在遇到需要行情数据的提问时,会自动暂停生成,向系统申请调用注册好的QuantDash 行情函数,在拿到真实的前复权 K 线数据后,再结合自身的推理能力,产出逻辑严密、数据真实的专业报告。
二、 AI Agent 金融函数调用解决方案(Python + DeepSeek + QuantDash)
1. 环境准备
pip install quantdash openai pandas2. 核心代码实现
我们将定义一个供 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/。