🤖 量化交易入门

怎么做量化

从零搭建你的量化交易系统 —— 不写复杂公式,不讲玄学,用代码和数据说话。

量化交易听起来高大上,其实核心就三步:想一个赚钱的逻辑 → 写成代码 → 让电脑自动执行。不需要你是数学天才,也不需要会写复杂的算法,从最基础开始,一步步来。

以下内容适合完全零基础的朋友,我会告诉你具体学什么、用什么工具、怎么上手写第一个策略。

第一步:准备好工具和环境

1

安装 Python

量化交易最常用的编程语言。去 python.org 下载最新版,安装时记得勾选“Add Python to PATH”。

# 验证安装是否成功,打开终端(cmd)输入:
python --version
# 输出类似 Python 3.12.0 就说明安装好了
2

安装必备库

Python 的强大在于有大量现成的库,帮你处理数据、画图、算指标。

pip install pandas numpy matplotlib jupyter
pip install tushare akshare backtrader
# pandas:处理表格数据
# numpy:数学计算
# matplotlib:画图
# tushare / akshare:获取股票数据
# backtrader:回测框架
💡 小建议:

Jupyter Notebook 来写代码,可以一行一行运行,随时看到结果,非常适合学习。

3

获取股票数据

没有数据就没法做量化。推荐几个免费好用的数据源:

  • AkShare(开源免费,数据全,推荐新手)
  • Tushare(注册后免费,需要 token)
  • Baostock(无需注册,直接使用)
import akshare as ak

# 获取上证指数历史日K数据
df = ak.stock_zh_index_daily(symbol="sh000001")
print(df.head())

第二步:写你的第一个策略

不要一上来就写复杂的多因子模型,从最简单的“均线金叉死叉”开始。

均线金叉死叉策略(经典入门)

逻辑:5日均线上穿20日均线(金叉)买入,下穿(死叉)卖出。

import pandas as pd
import akshare as ak

# 获取数据
df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20200101", adjust="qfq")
df = df[["日期", "收盘"]]
df.columns = ["date", "close"]
df.set_index("date", inplace=True)

# 计算均线
df["ma5"] = df["close"].rolling(5).mean()
df["ma20"] = df["close"].rolling(20).mean()

# 生成信号:金叉=1,死叉=-1,其他=0
df["signal"] = 0
df.loc[df["ma5"] > df["ma20"], "signal"] = 1
df.loc[df["ma5"] < df["ma20"], "signal"] = -1

# 计算每日收益
df["return"] = df["close"].pct_change()
df["strategy_return"] = df["signal"].shift(1) * df["return"]

# 累计收益
total_return = (1 + df["strategy_return"]).cumprod().iloc[-1] - 1
print(f"策略累计收益:{total_return:.2%}")
🔍 看懂了吗?

这段代码做了三件事:获取数据 → 计算均线 → 根据均线位置生成买卖信号。你不需要完全理解每一行,先跑起来,再慢慢改。

第三步:回测 —— 验证你的策略

回测就是用历史数据模拟交易,看看策略在过去能不能赚钱。不要用手工算,用专业的回测框架。

🐍

Backtrader

功能强大的回测框架,支持多策略、多数据、佣金、滑点。

📊

Zipline

Quantopian 出品的回测引擎,适合美股和A股。

PyBroker

轻量级回测库,支持机器学习策略,新手友好。

🌐

在线回测平台

聚宽米筐,无需本地环境,浏览器里写策略。

⚠️ 回测的坑:

1. 过拟合:策略在历史数据上完美,一到实盘就亏钱。 2. 幸存者偏差:只回测还活着的股票,忽略了退市的。 3. 未来函数:不小心用到了未来的数据。 4. 手续费和滑点没算进去,回测收益虚高。

第四步:从回测到实盘

回测跑通了,不代表就能实盘赚钱。你需要一个实盘交易接口来让电脑自动下单。

平台 接口方式 费用 适合人群
聚宽 券商合作,一键实盘 免费 新手入门,策略简单
米筐 API 接入 有免费额度 有一定编程基础
QMT / PTrade 券商自带终端 看券商要求 资金量较大,追求低延迟
vn.py 开源框架,自行搭建 免费 高级用户,需要定制
💡 实盘建议:

刚开始不要直接上真金白银。先用模拟盘跑一个月,观察策略在真实市场中的表现。没问题了再小资金试水。

第五步:持续学习和优化

量化交易不是一蹴而就的,需要不断学习。以下是我推荐的进阶学习路径:

📘

Python 基础

变量、循环、函数、列表、字典。不需要精通,够用就行。

📊

Pandas 数据处理

学会用 Pandas 处理股票数据:筛选、合并、分组、滚动计算。

📈

技术指标与策略

学习常见的量化策略:趋势跟踪、均值回归、动量策略、统计套利。

🤖

机器学习入门

用 scikit-learn 做简单的预测模型:线性回归、随机森林、XGBoost。

常见问题

❓ 我数学不好,能做量化吗?

完全能。大部分量化策略只需要加减乘除和简单的统计概念(均值、标准差)。复杂的数学模型交给现成的库,你只需要理解逻辑。

❓ 需要多高的编程水平?

会写 Python 基础语法就够了。量化交易用到的代码量其实很小,核心逻辑通常不超过100行。关键是理解策略思路。

❓ 量化交易一定能赚钱吗?

不能。量化只是帮你系统化地执行策略,减少情绪干扰。但如果策略本身逻辑有问题,量化只会让你亏得更快。永远记住:没有圣杯

❓ 从学到实盘,大概要多久?

如果每天学1-2小时,大约3个月可以写出一个能跑的回测策略,再花1-2个月优化和模拟盘验证。半年左右可以小资金实盘。

📚 相关课程推荐

想深入学习量化?看看这些课程:

量化交易基础 条件选股策略 多因子模型 全部课程