全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
5506 1
2018-06-04

     在做量化分析时,有时会用到股票的交易日序列信息,这些信息可以从上交所官网或深交所官网获取,从官网下载文件并不是很好的方法,如果能通过python接口下载,就可以放入程序中了,而BaoStock接口(官网:http://www.baostock.com)刚好提供了此功能(以下代码来自官网,侵删)。

        根据官网介绍,交易日查询接口:query_trade_dates()。

        方法说明:查询股票交易日信息信息,可以通过参数设置获取起止年份数据,提供2014-2018年数据。 返回类型:pandas的DataFrame类型。(作者注:2014年是最近新增的,原来只有2015-2018,接口是有人在维护的,可以从首页看到版本更新)

        示例代码如下:

[python] view plain copy



  • 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)  
  •   
  • #### 获取交易日信息 ####  
  • rs = bs.query_trade_dates(start_date="2017-01-01", end_date="2017-06-30")  
  • print('query_trade_dates respond error_code:'+rs.error_code)  
  • print('query_trade_dates 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:\\trade_datas.csv", encoding="gbk", index=False)  
  • print(result)  
  •   
  • #### 登出系统 ####  
  • bs.logout()  


参数含义:

  • start_date:开始日期,为空时默认为2015-01-01。
  • end_date:结束日期,为空时默认为当前日期。

        打印结果如下所示:




返回数据说明参数名称参数描述
calendar_date日期
is_trading_day是否交易日(0:非交易日;1:交易日)

        可以看到,1是交易日;0非交易日。

        返回类型是DataFrame类型,很方便处理,赞一个,希望帮到大家。


原文地址:https://blog.csdn.net/dongdong2980/article/details/80566419


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-6-5 09:16:30
可以集成在程序中了,赞一个
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群