本身自己做开发,又刚好对股票有一些兴趣,最近刚好又在学python,python尤其擅长数据分析、数据爬取于是打算用python获取A股所有上市公司历史交易数据,包括指数。但网上找了半天,几乎没有现成的拷贝过来就能用的代码,我说的是免费的,不过功夫不负有心人,最终还是找到了两个办法。以下两种方法是针对有python编程基础的人,没有编程基础的人直接去淘宝搜索A股历史交易记录吧,大淘宝果然啥都有,码农的杂货铺他们家的数据还不错,关键是便宜,废话不多说,下面上代码。
1、方法一从ricequant获取,ricequant是一个量化平台交易网站,在网站上注册一个账号,在我的研究中新建一个python脚本,代码如下,直接运行,之后会在服务端生成一个csv文件。这个csv文件很大,大概500M左右,大家可以在网上下载一个emeditor大文本编辑器,查看对应内容。
主要字段含义如下:
date:交易日期
open:开盘价
high:最高价
close:收盘价
low:最低价
volume:成交量
amount:成交额
code:股票代码或指数代码。
import pandas as pd
file = r'record.txt'
#A股所有上市公司
datas = all_instruments(type='CS')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
#df2 = pd.DataFrame(columns = list)
df2 = pd.DataFrame()
for index,row in datas.iterrows():
id=datas.loc[index]['order_book_id']
print(id)
# if '300144' in id:
//股票上市时