上篇文章说到:量化最大的门槛不是技术,是信息差。
今天我就来打破这个信息差。5行代码,拿到沪深300所有成分股的数据。
装好Python
如果你还没有Python环境,去python.org下载3.10以上版本,安装时勾选"Add Python to PATH"。没有比这更简单的了。
装完打开终端(Windows按Win+R输入cmd),输入:
python --version
显示版本号,搞定。
一行代码装数据工具
pip install tushare
Tushare是啥? 一个免费开源的A股数据接口(国产,专门为量化而生)。注册即送5000分/天,对于个人量化学习完全够用。
注册地址:tushare.pro[1] → 注册 → 个人主页 → 拿到你的token。
5行代码拿数据
import tushare as ts
# 你的token
pro = ts.pro_api('你的token在这里')
# 拿到沪深300成分股
stocks = pro.index_weight(index_code='399300.SZ')
print(stocks)
5行,拿到300只大盘股的权重数据。 包括每只股票的代码、权重占比、纳入日期。
就这么简单。不需要充会员,不需要找数据商,不需要去东方财富一个个翻。
下一步:拿到股票的基本面数据
# 拿到所有股票的最新基本面数据
df = pro.daily_basic(trade_date='20260605')
# 看前5只,显示市盈率、市净率、换手率
print(df[['ts_code', 'pe', 'pb', 'turnover_rate']].head())
输出:
ts_code pe pb turnover_rate
0 000001.SZ 6.21 0.68 0.32
1 000002.SZ 8.45 1.12 0.56
2 688981.SH 35.2 5.67 1.23
...
市盈率6倍的银行股,市净率不到1倍的破净股,一眼就能扫出来。 散户花一整天翻F10都不一定有这个效率。
再进一步:拿到历史日线数据
# 拿到贵州茅台过去一年的日线数据
df = pro.daily(ts_code='600519.SH',
start_date='20250601',
end_date='20260605')
print(df[['trade_date', 'open', 'high', 'low', 'close', 'vol']])
一行代码,拿到任何A股的历史数据。 开盘价、最高价、最低价、收盘价、成交量。回测的不就是这些东西吗?
老贾说两句
很多人开始做量化,第一步就卡在"数据从哪里来"。以为要爬虫、要买数据、要各种复杂的东西。
其实不需要。Tushare一行代码就搞定。
你有了数据,就能跑回测。你跑了回测,就能验证策略。你验证了策略,就能实盘。
全部门槛只有一行 pip install tushare。
如果你觉得这篇帮你省了时间,点个文末的「赞赏」(金额随意),回复「已打赏」——完整课程资料发给你。
课程里从环境搭建到完整选股策略,每一步都有可运行的代码,还送社群答疑。
本文仅作量化技术研究分享,不构成任何投资建议。入市有风险,投资需谨慎