过去学量化,路径通常很长:
先学 Python,再学 Pandas,再学金融市场基础,再学技术指标,再学回测,再学调参,再学实盘接口。每一步都没错,但对普通人来说,门槛确实高。很多人不是没有想法,而是卡在“我不知道怎么把想法写成代码”。

现在有了 Codex 这类编程智能体,学习路径可以换一种方式。
你不需要先把所有语法背完,也不需要先掌握完整的回测框架。你可以先做一件事:把数据源接好,然后让 AI 编程助手(如 Codex、Cursor 或 DeepSeek)根据你的研究问题写代码、运行、报错、修复、优化。

QuantDash 在这里很适合做量化入门的数据底座。它的 Python SDK 足够直接:安装、初始化、拿 K 线、拿实时行情、拿五档盘口、拿标的信息。AI 只要知道这套接口怎么用,就可以围绕它轻松生成策略研究代码。

这篇文章讲一个实战流程:如何把 QuantDash 接入 AI,并让它帮你完成一个从想法到回测结果的量化研究。


1. 先告诉 AI:数据源怎么接

你可以把下面这段提示词直接发给 AI:

我正在做量化研究,数据源使用 QuantDash。
请记住 QuantDash Python SDK 的基本用法:

安装:
pip install quantdash

初始化:
from quantdash import QuantDash
qd = QuantDash(api_key="your-api-key")

也可以从环境变量读取:
export QUANTDASH_API_KEY="your-api-key"
qd = QuantDash()

常用标的代码:
- A 股上交所:600519.SH
- A 股深交所:000001.SZ
- 美股:AAPL.US
- 港股:00700.HK

获取 K 线:
df = qd.klines.get("600519.SH", period="1d", count=300, adjust="forward", to_dataframe=True)

批量获取 K 线:
dfs = qd.klines.batch(["600519.SH", "000001.SZ"], period="1d", count=300, adjust="forward", to_dataframe=True)

获取日内分时:
df = qd.klines.intraday("600519.SH", period="1m", to_dataframe=True)

获取实时行情:
quotes = qd.quotes.get(symbols=["600519.SH", "000001.SZ"], to_dataframe=True)

获取全量 A 股行情:
all_cn = qd.quotes.get(universes="CN_Stock", to_dataframe=True)

获取五档盘口:
depth = qd.depth.get("600519.SH")

常见 DataFrame 字段:
- trade_date
- trade_time
- open
- high
- low
- close
- volume
- amount
- symbol
- name

请用这些接口帮我写策略研究代码,并在每次写回测时注意:
1. 不要使用未来函数。
2. 信号必须 shift 后再计算收益。
3. 输出累计收益、年化收益、最大回撤、夏普比率。
4. 尽量把代码拆成函数,便于我复用。

如果你想让 AI 读取官方文档,可以补一句:

QuantDash Python SDK 官方文档在这里: https://docs.quantdash.net/ 
请优先按这个文档里的接口写代码。

这个动作很关键。很多人使用 AI 写量化代码,失败不是因为 AI 不会写策略,而是因为它不知道你实际的数据源长什么样。你把 QuantDash 的接口、字段、标的格式交代清楚,后面的生成质量会明显提高[1]。


2. 让 AI 先写一个最小可运行回测

不要一上来就让 AI 写“年化 30%、回撤 5% 的策略”。这类目标容易把研究带偏。
更好的第一句是:

请用 QuantDash 写一个最小可运行的双均线回测脚本。
要求:
1. 标的使用 600519.SH。
2. 获取最近 800 根日K,前复权。
3. 计算 20 日和 60 日均线。
4. 20 日均线高于 60 日均线时持有,否则空仓。
5. 信号后移一天,避免未来函数。
6. 输出累计收益、年化收益、最大回撤、夏普比率。
7. 保存净值曲线图到 ma_strategy.png。

AI 大概率会生成类似这样的结构:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from quantdash import QuantDash

def calc_metrics(equity: pd.Series, returns: pd.Series) -> dict:
    total_return = equity.iloc[-1] / equity.iloc[0] - 1
    annual_return = (1 + total_return) ** (252 / len(equity)) - 1
    drawdown = equity / equity.cummax() - 1
    max_drawdown = drawdown.min()
    sharpe = 0 if returns.std() == 0 else returns.mean() / returns.std() * np.sqrt(252)
    return {
        "total_return": total_return,
        "annual_return": annual_return,
        "max_drawdown": max_drawdown,
        "sharpe": sharpe,
    }

def run_backtest(symbol: str) -> tuple[pd.DataFrame, dict]:
    qd = QuantDash()
    df = qd.klines.get(
        symbol,
        period="1d",
        count=800,
        adjust="forward",
        to_dataframe=True,
    )
    df = df.sort_values("trade_date").reset_index(drop=True)
    df["ma20"] = df["close"].rolling(20).mean()
    df["ma60"] = df["close"].rolling(60).mean()
    df["signal"] = (df["ma20"] > df["ma60"]).astype(int)
    df["position"] = df["signal"].shift(1).fillna(0)
    df["ret"] = df["close"].pct_change().fillna(0)
    df["strategy_ret"] = df["position"] * df["ret"]
    df["equity"] = (1 + df["strategy_ret"]).cumprod()
    df["buy_hold"] = (1 + df["ret"]).cumprod()
    metrics = calc_metrics(df["equity"], df["strategy_ret"])
    return df, metrics

df, metrics = run_backtest("600519.SH")
print(metrics)

df.set_index("trade_date")[["equity", "buy_hold"]].plot(figsize=(10, 5))
plt.tight_layout()
plt.savefig("ma_strategy.png", dpi=160)

这份代码不复杂,但它有一个重要意义:它把“想法”变成了“可运行研究对象”。
从这里开始,你就可以让 AI 继续迭代,而不是自己在语法里打转。


3. 让 AI 帮你做参数扫描

下一步不要急着换策略。先问一个基础问题:均线参数对结果敏感吗?

提示词:

请在刚才的 QuantDash 双均线策略基础上,增加参数扫描。
要求:
1. short_window 测试 [5, 10, 20, 30]。
2. long_window 测试 [40, 60, 120, 250]。
3. 组合两两配对,运行回测,输出一个按夏普比率排名的表格。

AI 会用两重循环把这些参数跑一遍,并返回一个 DataFrame。这能帮你快速看清:这个均线策略到底在大多数参数下都稳定,还是只在某一两个特定参数下才“刚好赚钱”(即过拟合)。


4. 让 AI 扩展到股票池

单只股票回测只是玩具,真正做研究时,你需要一组标的。

提示词:

请把策略扩展到多标的回测。
使用 QuantDash 批量获取 K 线:
dfs = qd.klines.batch(symbols, period="1d", count=800, adjust="forward", to_dataframe=True, show_progress=True)

股票池:
["600519.SH", "000001.SZ", "601318.SH", "600000.SH", "000858.SZ"]

要求:
1. 对每只股票单独运行同一个双均线策略。
2. 输出每只股票的收益、回撤、夏普。
3. 再计算一个简单等权组合:每天持有所有 signal=1 的股票,平均分配仓位。
4. 注意不同股票日期可能不完全一致,需要按 trade_date 对齐。
5. 输出组合净值曲线图。

这里开始,AI 的价值会更明显。对齐日期、处理缺失值、组合收益计算,这些数据清洗工程细节极易写错。你可以让 AI 写出第一版,然后让它进行自查:

请检查整个回测代码是否存在未来函数、日期错位、收益重复计算、缺失值处理不当的问题。
如果有,请直接修改代码,并解释修改原因。

这比“从零硬啃 Pandas”更适合普通人入门。你仍然需要去阅读和理解代码,但你不需要把每一个低层细节都靠手搓完成。


5. 让 AI 加入交易成本和滑点

没有成本的回测,往往呈现出过度乐观的虚假繁荣。

提示词:

请给策略加入交易成本。
要求:
1. 当 position 发生变化时,认为发生一次交易。
2. 单边手续费设置为 0.0003。
3. 滑点设置为 0.0002。
4. 总交易成本 = abs(position.diff()) * (fee + slippage)。
5. 策略收益 = position.shift 后的持仓收益 - 交易成本。
6. 输出加入成本前后的指标对比。

加入真实成本后,你会发现许多频繁调仓的策略表现大幅缩水。但这并不是坏事,它让回测回归了现实世界。


6. 用 QuantDash 实时行情做盘中监控

历史回测之外,你还可以让 AI 写一个轻量的盘中监控脚本。

提示词:

请使用 QuantDash 写一个盘中行情监控脚本。
要求:
1. 使用 qd.quotes.get(universes="CN_Stock", to_dataframe=True) 获取全量 A 股实时行情。
2. 计算涨跌幅,如果 ext.change_pct 存在就优先使用;否则用 (last_price - prev_close) / prev_close。
3. 筛选涨幅前20、跌幅前20、成交量前20。
4. 每 60 秒刷新一次。
5. 输出到终端,格式尽量清晰。
6. 代码里加入异常处理,接口失败时等待后重试。

这类脚本结构直观,很适合用来练习“从策略回测到行情观察”的过渡。你还可以进一步让 AI 增加预警规则:

请在盘中监控脚本里加入一个观察条件:
如果某只股票涨幅超过 3%,且成交量位于全市场前 20%,就打印 ALERT。

7. 一套适合普通人的 AI 量化提示词模板

如果你刚开始尝试,可以用这个标准模板来提问:

我想研究一个量化策略,请你用 QuantDash Python SDK 帮我完成。

研究目标:
[在此处写下你的策略想法,例如:突破 20 日新高后持有 5 天]

数据要求:
- 市场:[A 股/美股/港股]
- 标的:[例如 600519.SH,或一个股票列表]
- K 线周期:[1d/1m/5m]
- 数据长度:[例如最近 800 根]
- 复权方式:[forward/none]

回测要求:
- 不使用未来函数
- 信号后移一天
- 加入交易成本,单边 0.0003
- 输出累计收益、年化收益、最大回撤、夏普比率
- 输出净值曲线图

代码要求:
- 使用 pandas
- 模块化拆成函数,便于我复用
- 可以直接运行
- 如果运行报错,请根据错误信息进行自我修复

这个模板的好处是,它把“我要写一个好策略”这句模糊的话,拆解成了 AI 能够轻松执行并落地的具体工程任务[8]。


8. AI 不会替你解决的部分

AI 编程助手能帮你完成绝大部分编码、调试、改结构、检查常见 Bug 的繁重任务,但它无法替你判断一个策略是否具备实际投资价值。

你仍然需要用自己的交易认知去审视并回答以下问题:

  • 策略的运行逻辑是否有其深层的经济学/金融学含义?

  • 高额收益是否仅仅来自于极个别的极端行情样本?

  • 回测参数在不同的样本区间是否表现出严重过拟合?

  • 历史回撤区间,你的心理和资金是否能够真实承受?

  • 调仓频率偏高的策略,会不会最终完全被摩擦成本吃掉?

换句话说,AI 极大地降低了代码开发的技术门槛,但它永远不能取消你作为研究者和交易者的责任。


结语

量化交易不应该只是写一个零散的策略文件。

它是一套需要严谨工程闭环的长期流:数据稳定、代码清晰、结果可复现、实验可追踪。
在整个流程中,QuantDash 负责解决底层跨市场数据接入和行情标准化的重活累活,AI(如 Codex 等) 负责处理代码生成、重构和快速回测,而你则作为掌舵人,负责提出高价值问题、判断逻辑链条、评估多维风险。

三者各司其职,即使没有任何编程基础的普通人,也能快速跑通属于自己的第一条净值曲线。


“三步走”落地指引

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

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

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐