A股历史交易数据获取 您所在的位置:网站首页 股票大盘历史交易数据 A股历史交易数据获取

A股历史交易数据获取

2023-04-18 00:54| 来源: 网络整理| 查看: 265

无数据不量化。无论任何模型,数据都很重要。

只有大量的数据才能够检测自己模型的正确性。比如均线策略,如果只拿一只股票的数据才检测,其可靠性有待商榷。

作为研究、判断自己的量化模型的准确性,需要一定的数据获取。本文介绍如何获取A股的历史交易数据,可以获取全部历史交易数据,也可以获取部分数据。

使用语言python,平台是akshare。

这里对akshare进行简介:

akshare官网:Welcome to AKShare’s Online Documentation! — AKShare 1.6.57 文档

安装:

pip install akshare pip install pandas1.ahshare介绍AKShare 是基于 Python 的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。 AKShare 的特点是获取的是相对权威的财经数据网站公布的原始数据,通过利用原始数据进行各数据源之间的交叉验证,进而再加工,从而得出科学的结论。 2.ahshare优点

akshare采用的数据源多种,网易,东方财富,新浪等主流财经媒体。

akshare数据采用的pandas的Dateframe格式,可以直接使用。

3.获取单个股票交易数据

获取历史行情

在官网左侧导航栏中以此点击AKShare 数据字典----->AKShare股票数据------->A股------->历史行情数据(如下图)

import akshare as ak # 使用的是东财数据接口,开始结束为空则为全部, # adjust默认返回不复权数据;qfq前复权;hfq后复权数据 stock = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date='20210907', adjust="") print(stock_zh_a_hist_df)

输出如下

日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率 0 2017-03-01 9.49 9.49 9.55 ... 0.84 0.11 0.01 0.21 1 2017-03-02 9.51 9.43 9.54 ... 1.26 -0.63 -0.06 0.24 2 2017-03-03 9.41 9.40 9.43 ... 0.74 -0.32 -0.03 0.20 3 2017-03-06 9.40 9.45 9.46 ... 0.74 0.53 0.05 0.24 4 2017-03-07 9.44 9.45 9.46 ... 0.63 0.00 0.00 0.17 ... ... ... ... ... ... ... ... ... 1100 2021-09-01 17.48 17.88 17.92 ... 5.11 0.45 0.08 1.19 1101 2021-09-02 18.00 18.40 18.78 ... 5.48 2.91 0.52 1.25 1102 2021-09-03 18.50 18.04 18.50 ... 4.35 -1.96 -0.36 0.72 1103 2021-09-06 17.93 18.45 18.60 ... 4.55 2.27 0.41 0.78 1104 2021-09-07 18.60 19.24 19.56 ... 6.56 4.28 0.79 0.84

字段说明

既然是pandas的DataFrame格式,可以直接用pandas的方法进行操作,比例设置索引,列排序等。

以下案例选择较为常用的字段。时间,开盘价,最高价,最低价,收盘价,成交量

使用东方财富的接口。

from akshare import stock_zh_a_hist import pandas as pd stock_history = stock_zh_a_hist(symbol='601318',period='daily',adjust='').iloc[:,0:6] # 列名 stock_history.columns = [ 'date', 'open', 'close', 'high', 'low', 'volume', ] # 对列进行重新排序设置成OHLC stock_history = stock_history[['date','open','high','low','close','volume']] # 设置以日期为索引 stock_history.set_index('date',drop=True,inplace=True) # 保存成csv文件 stock_history.to_csv('./601318.csv') print(stock_history)

输出如下

open high low close volume date 2007-03-01 50.00 50.97 45.80 46.79 1977634 2007-03-02 47.00 47.44 45.88 46.41 425048 2007-03-05 45.98 46.17 43.53 44.38 419197 2022-07-15 43.61 44.09 42.70 42.71 694042 2022-07-18 42.75 43.69 42.72 43.45 355244 2022-07-19 43.42 43.77 42.90 43.40 356106 2022-07-20 43.78 43.83 43.36 43.40 249566 2022-07-21 43.23 43.25 42.65 42.74 405568

生成csv文件如下:

从akshare左侧导航栏中,我们可以很快找到所需要的数据接口。

4.所有全部A股历史交易数据

直接干,所有数据来一遍。还是使用东财的接口。

import akshare as ak # 获取所有的股票代码 stockname = ak.stock_zh_a_spot_em() df = stockname['代码'] for i in df: try: stock_history = ak.stock_zh_a_hist(symbol=i,period='daily',adjust='').iloc[:,0:6] # 列名 stock_history.columns = [ 'date', 'open', 'close', 'high', 'low', 'volume', ] # 对列进行重新排序设置成OHLC stock_history = stock_history[['date','open','high','low','close','volume']] # 设置以日期为索引 stock_history.set_index('date',drop=True,inplace=True) # 保存成csv文件,这里可以设置自己的路径。 stock_history.to_csv(f'./{i}.csv') except: continue

生成如图:

生成五千多个数据文件。

我已经将自己获取的数据进行免费的分享,无套路,可下载。股票的交易日期是截至到20220930

链接:https://pan.baidu.com/s/1DzWKkzFw1mf0hdgXzmUJIw

提取码:3gcl

以前全是分享知识,接下来要给自己做个推广(不喜勿喷)。

以上只是介绍了行情数据的下载,有的朋友可能需要个性化数据。如果有需求的朋友可以加联系方式:

微信:skzhongyi



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有