小白如何入门量化?从数据源选择开始(附完整实战示例)
很多人想做量化,但第一步就卡住了:
数据从哪里来?
你可能已经听过这些问题:
- 用什么数据源做量化?
- 有没有免费又稳定的?
- 为什么别人策略能跑,我的却经常报错?
其实答案很简单:
量化入门的第一步,不是策略,而是选对数据源。
这篇文章我会带你一步步搞清楚:
- 小白做量化到底需要什么数据
- 常见数据源怎么选
- 用一个真实数据源(TickFlow)写一个完整策略
一、小白做量化,真的需要什么?
很多人一上来就想做:
- 高频交易
- AI 选股
- 自动交易
但现实是:
👉 你只需要三样东西:
1. 历史行情数据(必须)
- 日 K / 分钟 K
- 用于回测
2. 实时行情(进阶)
- 用于实盘
- 非必须(初期)
3. 稳定的数据接口(关键)
- 不报错
- 不限流
- 数据结构稳定
二、常见数据源怎么选?
❌ 不推荐(新手容易踩坑)
爬虫类(如 Akshare)
问题:
- 接口不稳定
- 容易失效
- 文档不统一
👉 适合玩,不适合长期做策略
⚠️ 可用但有限
标准服务(如 Tushare)
- 数据规范
- 免费有限
- 实时贵
👉 适合学习阶段
✅ 推荐(更适合入门)
API 数据服务(如 TickFlow)
特点:
- 免费可用
- 接口稳定
- 有扩展能力
👉 非常适合小白长期使用
三、为什么推荐 TickFlow 入门?
它比较适合新手的原因很简单:
1️⃣ 免费就能用
from tickflow import TickFlow
tf = TickFlow.free()
- 不用注册
- 不用 API key
2️⃣ 能直接拿到 K 线
df = tf.klines.get("600000.SH", period="1d", count=200, as_dataframe=True)
print(df.tail())
👉 已经可以直接做策略了
3️⃣ 后续可以升级(不用换数据源)
- 实时行情
- 分钟 K
- WebSocket
👉 一套代码,从入门到实盘都能用
四、实战:写一个最简单的量化策略
我们来写一个经典策略:
均线策略(MA5 上穿 MA20 买入)
Step 1:获取数据
from tickflow import TickFlow
import pandas as pd
tf = TickFlow.free()
df = tf.klines.get("600000.SH", period="1d", count=200, as_dataframe=True)
Step 2:计算均线
df["ma5"] = df["close"].rolling(5).mean()
df["ma20"] = df["close"].rolling(20).mean()
Step 3:生成买卖信号
df["signal"] = 0
# MA5 上穿 MA20 → 买入
df.loc[(df["ma5"] > df["ma20"]) & (df["ma5"].shift(1) <= df["ma20"].shift(1)), "signal"] = 1
# MA5 下穿 MA20 → 卖出
df.loc[(df["ma5"] < df["ma20"]) & (df["ma5"].shift(1) >= df["ma20"].shift(1)), "signal"] = -1
Step 4:查看信号
print(df[["trade_date", "close", "ma5", "ma20", "signal"]].tail(20))
👉 到这里,你已经完成了一个最基础的量化策略。
五、进阶:批量跑全市场(核心能力)
真正的量化,不是看一只股票,而是:
跑全市场
TickFlow 的优势就在这里:
symbols = ["600000.SH", "000001.SZ", "600519.SH"]
dfs = tf.klines.batch(symbols, period="1d", count=200, as_dataframe=True)
for symbol, df in dfs.items():
df["ma5"] = df["close"].rolling(5).mean()
df["ma20"] = df["close"].rolling(20).mean()
👉 如果是全市场(5000+ 股票):
- 1–2 分钟可以跑完
- 非常适合做选股
六、进阶方向(你接下来可以做什么)
当你跑通第一个策略后,可以继续:
1. 做回测
- 计算收益
- 评估策略
2. 做选股
- 全市场筛选
- 每天输出股票池
3. 做实盘
使用 TickFlow:
- 实时行情
- WebSocket 推送
七、总结
小白入门量化,最容易走弯路的地方就是:
❌ 一上来研究策略 ✅ 忽略数据源
正确路径应该是:
- 选稳定数据源
- 获取 K 线
- 写简单策略
- 批量运行
相关链接
- 官网:tickflow.org
- 文档:docs.tickflow.org
- Github:github.com/tickflow-or…
最后一句
量化的门槛,从来不是策略,而是数据。 选对数据源,你就已经领先一半的人了。