如果需要获取历史行情数据、实时行情数据,www.baostock.com是个很好的免费、开源的Python证券数据接口包。
特点:使用方便、免费免费免费,返回的绝大部分的数据格式都是pandas DataFrame类型。
入门代码如下:
import baostock as bs
import pandas as pd
#### 登陆系统 ####
lg = bs.login(user_id="anonymous", password="123456")
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond error_msg:'+lg.error_msg)
#### 获取历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",
start_date='2017-06-01', end_date='2017-12-31',
frequency="d", adjustflag="3") #frequency="d"取日k线,adjustflag="3"默认不复权
print('query_history_k_data respond error_code:'+rs.error_code)
print('query_history_k_data respond error_msg:'+rs.error_msg)
#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
# 获取一条记录,将记录合并在一起
data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
#### 结果集输出到csv文件 ####
result.to_csv("D:/history_k_data.csv", encoding="gbk", index=False)
print(result)
#### 登出系统 ####
bs.logout()
各方法及含义如下:
登录
login()
方法说明:登录系统。
使用示例:lg = login(user_id=”anonymous”, password=”123456″)
参数含义:
- user_id:用户id,默认为”anonymous”;
- password:密码,默认为”123456″。
返回信息:
- lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
- lg.error_msg:错误信息,对错误的详细解释。
登出
logout()
方法说明:登出系统
使用示例:lg = logout(user_id=”anonymous”)
参数含义:
- user_id:用户id,默认为”anonymous”。
返回信息:
- lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
- lg.error_msg:错误信息,对错误的详细解释。
获取历史A股K线数据
获取历史A股K线数据:query_history_k_data()
方法说明:获取A股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
返回类型:pandas的DataFrame类型。
V0.5版本只能获取近3年的数据(2015-01-01至当前时间);
可查询不复权、前复权、后复权数据。
参数含义:
- code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
- fields:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节。此参数不可为空;
- start:开始日期(包含),格式“YYYY-MM-DD”,为空时取2015-01-01;
- end:结束日期(不包含),格式“YYYY-MM-DD”,为空时取最近一个交易日;
- frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;周线每周最后一个交易日才可以获取,月线第月最后一个交易日才可以获取。
- adjustflag:复权类型,默认不复权:3;1:后复权;2:前复权。已支持日k线、分钟线前后复权;暂不支持周k线、月k线前后复权。
参数名称 | 参数描述 |
date | 交易所行情日期 |
code | 证券代码 |
open | 开盘价 |
high | 最高价 |
low | 最低价 |
close | 收盘价 |
preclose | 昨日收盘价 |
volume | 成交量(累计 单位:股) |
amount | 成交额(单位:人民币元) |
adjustflag | 复权状态(1:后复权, 2:前复权,3:不复权) |
turn | 换手率 |
tradestatus | 交易状态(1:正常交易 0:停牌) |
pctChg | 涨跌幅 |
peTTM | 动态市盈率 |
pbMRQ | 市净率 |
psTTM | 市销率 |
pcfNcfTTM | 市现率 |
isST | 是否ST股,1是,0否 |