
每天的数据到底从哪来
做股票和期货,没有数据就像开车没油。每天收盘后,你需要的是一份干净、准确、能直接喂给策略的表格。数据来源分几类,各有各的脾气。
交易所官网:最权威但最麻烦
上交所、深交所、中金所、上期所都会公布日线数据,通常是收盘后几小时更新。优点是绝对准确,缺点是下载要填验证码,格式五花八门,期货数据还分散在不同页面。手动下载几天可以,想每天自动拿,得写爬虫,维护成本高。

财经网站:方便但有限制
东方财富、新浪财经、网易财经都有历史数据页面。东方财富的接口比较稳定,可以按股票代码和日期范围拉取。新浪财经的接口速度快,但复权处理需要自己动手。这些网站对频繁请求会封IP,适合小规模手动或低频程序化获取。
开源数据接口:量化新手的最爱
AKShare和Tushare是当前最流行的两个免费Python库。AKShare完全开源,覆盖股票、期货、期权、基金,接口更新快。Tushare需要注册获取token,积分制,基础数据免费,高频或特殊数据要积分。
用AKShare下载股票日线,一行代码:
import akshare as ak
df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20240101", end_date="20241231", adjust="qfq")
print(df.head())
下载期货主力连续合约:
df_futures = ak.futures_main_sina(symbol="RB0", start_date="20240101", end_date="20241231")
print(df_futures.tail())
Tushare的用法类似,但需要先设置token:
import tushare as ts
ts.set_token('你的token')
pro = ts.pro_api()
df = pro.daily(ts_code='000001.SZ', start_date='20240101', end_date='20241231')
券商软件:自带数据但难导出
同花顺、通达信、文华财经都提供本地数据下载。通达信可以导出日线数据为txt或csv,但格式需要转换。文华财经的期货数据全,导出功能藏得深。适合已经用这些软件看盘的人,顺手导出。
付费数据源:省心但花钱
Wind、Choice、聚宽、米筐提供清洗好的数据,支持复权、期货换月、主力合约拼接。机构常用Wind,个人可以用聚宽或米筐的免费额度。付费源的好处是数据质量高,接口稳定,省去自己拼接的麻烦。
股票和期货数据的关键区别
股票数据主要关注复权。前复权适合回测,后复权适合看长期收益。期货数据要处理换月,主力合约拼接方式有差异,不同数据源结果可能不同。
期货还有夜盘,日线数据通常按交易日划分,不是自然日。股票没有夜盘,但除权除息日需要标记。
怎么选适合你的数据源
每天只手动下载几只股票,用东方财富网页导出就行。想跑量化策略,AKShare或Tushare起步,免费且够用。资金量大、要求毫秒级更新,考虑付费源或交易所直连。
数据下载后别急着用。检查缺失值、异常值,确认复权方式一致。股票和期货的日期对齐也要注意,期货夜盘数据可能归属次日。
自动下载的日常流程
用Python写个脚本,每天收盘后定时运行。先拉股票日线,再拉期货主力合约,存成CSV或数据库。加个异常重试,防止网络抖动。数据文件名带日期,方便追溯。
import akshare as ak
import pandas as pd
from datetime import datetime
today = datetime.now().strftime('%Y%m%d')
stocks = ['000001', '600519']
for code in stocks:
df = ak.stock_zh_a_hist(symbol=code, period='daily', start_date=today, end_date=today, adjust='qfq')
df.to_csv(f'stock_{code}_{today}.csv', index=False)
futures = ['RB0', 'CU0']
for sym in futures:
df = ak.futures_main_sina(symbol=sym, start_date=today, end_date=today)
df.to_csv(f'futures_{sym}_{today}.csv', index=False)
跑一段时间后,把CSV合并成历史数据库,回测时直接读取。
数据是交易的粮食,选对来源,每天自动收,省下时间研究策略。