"首页\nBaostock知识库\n交易技术商城\n统计与数据\n登录\n注册\n平台介绍\nPython API文档\n--A股K线数据\n--PY开发资源\n--指数数据\n--估值指标(日频)\n--除权除息信息\n--复权因子信息\n--季频盈利能力\n--季频营运能力\n--季频成长能力\n--季频偿债能力\n--季频现金流量\n--季频杜邦指数\n--季频业绩快报\n--季频业绩预告\n--证券基本资料\n--存款利率\n--贷款利率\n--存款准备金率\n--货币供应量\n--货币供应量余额\n--行业分类\n--上证50成分股\n--沪深300成分股\n--中证500成分股\n--证券元信息\n公式与数据说明\n数据调整记录\n好文章\n黑名单\nPython API文档\n目录\n1 入门示例\n1.1 HelloWorld\n2 登录\n2.1 login()\n3 登出\n3.1 logout()\n4 获取历史A股K线数据\n4.1 获取历史A股K线数据：query_history_k_data_plus()\n4.2 历史行情指标参数\n5 查询除权除息信息\n5.1 除权除息信息：query_dividend_data()\n6 查询复权因子信息\n6.1 复权因子：query_adjust_factor()\n7 查询季频财务数据信息\n7.1 季频盈利能力：query_profit_data()\n7.2 季频营运能力：query_operation_data()\n7.3 季频成长能力：query_growth_data()\n7.4 季频偿债能力：query_balance_data()\n7.5 季频现金流量：query_cash_flow_data()\n7.6 季频杜邦指数：query_dupont_data()\n8 查询季频公司报告信息\n8.1 季频公司业绩快报：query_performance_express_report()\n8.2 季频公司业绩预告：query_forecast_report()\n9 证券基本资料\n9.1 证券基本资料：query_stock_basic()\n10 获取证券元信息\n10.1 交易日查询：query_trade_dates()\n10.2 证券代码查询：query_all_stock()\n11 宏观经济数据\n11.1 存款利率：query_deposit_rate_data()\n11.2 贷款利率：query_loan_rate_data()\n11.3 存款准备金率：query_required_reserve_ratio_data()\n11.4 货币供应量：query_money_supply_data_month()\n11.5 货币供应量(年底余额)：query_money_supply_data_year()\n12 板块数据\n12.1 行业分类：query_stock_industry()\n12.2 上证50成分股：query_sz50_stocks()\n12.3 沪深300成分股：query_hs300_stocks()\n12.4 中证500成分股：query_zz500_stocks()\n13 示例程序\n13.1 获取指定日期全部股票的日K线数据：query_history_k_data_plus()\n入门示例\nHelloWorld\n\n此篇为平台入门示例，安装baostock后，可导入包运行此示例。示例数据：下载\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取历史K线数据 ####\n# 详细指标参数，参见“历史行情指标参数”章节\nrs = bs.query_history_k_data_plus(\"sh.600000\",\n    \"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST\",\n    start_date='2017-06-01', end_date='2017-12-31', \n    frequency=\"d\", adjustflag=\"3\") #frequency=\"d\"取日k线，adjustflag=\"3\"默认不复权\nprint('query_history_k_data_plus respond error_code:'+rs.error_code)\nprint('query_history_k_data_plus respond  error_msg:'+rs.error_msg)\n\n#### 打印结果集 ####\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n#### 结果集输出到csv文件 ####\nresult.to_csv(\"D:/history_k_data.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n登录\nlogin()\n\n方法说明：登录系统。\n\n使用示例：lg = login()\n\n返回信息：\n\nlg.error_code：错误代码，当为“0”时表示成功，当为非0时表示失败；\nlg.error_msg：错误信息，对错误的详细解释。\n登出\nlogout()\n\n方法说明：登出系统\n\n使用示例：lg = logout()\n\n返回信息：\n\nlg.error_code：错误代码，当为“0”时表示成功，当为非0时表示失败；\nlg.error_msg：错误信息，对错误的详细解释。\n获取历史A股K线数据\n获取历史A股K线数据：query_history_k_data_plus()\n\n方法说明：通过API接口获取A股历史交易数据，可以通过参数设置获取日k线、周k线、月k线，以及5分钟、15分钟、30分钟和60分钟k线数据，适合搭配均线数据进行选股和分析。\n\n返回类型：pandas的DataFrame类型。\n\n能获取1990-12-19至当前时间的数据；\n\n可查询不复权、前复权、后复权数据。\n\n示例数据：下载\n\n日线使用示例：\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取沪深A股历史K线数据 ####\n# 详细指标参数，参见“历史行情指标参数”章节；“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。\n# 分钟线指标：date,time,code,open,high,low,close,volume,amount,adjustflag\n# 周月线指标：date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg\nrs = bs.query_history_k_data_plus(\"sh.600000\",\n    \"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST\",\n    start_date='2024-07-01', end_date='2024-12-31',\n    frequency=\"d\", adjustflag=\"3\")\nprint('query_history_k_data_plus respond error_code:'+rs.error_code)\nprint('query_history_k_data_plus respond  error_msg:'+rs.error_msg)\n\n#### 打印结果集 ####\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n\n#### 结果集输出到csv文件 ####   \nresult.to_csv(\"D:\\\\history_A_stock_k_data.csv\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n分钟线使用示例：\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取沪深A股历史K线数据 ####\n# 详细指标参数，参见“历史行情指标参数”章节；“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。\n# 分钟线指标：date,time,code,open,high,low,close,volume,amount,adjustflag\n# 周月线指标：date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg\nrs = bs.query_history_k_data_plus(\"sh.600000\",\n    \"date,time,code,open,high,low,close,volume,amount,adjustflag\",\n    start_date='2024-07-01', end_date='2024-12-31',\n    frequency=\"5\", adjustflag=\"3\")\nprint('query_history_k_data_plus respond error_code:'+rs.error_code)\nprint('query_history_k_data_plus respond  error_msg:'+rs.error_msg)\n\n#### 打印结果集 ####\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n\n#### 结果集输出到csv文件 ####   \nresult.to_csv(\"D:\\\\history_A_stock_k_data.csv\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nfields：指示简称，支持多指标输入，以半角逗号分隔，填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节，日线与分钟线参数不同。此参数不可为空；\nstart：开始日期（包含），格式“YYYY-MM-DD”，为空时取2015-01-01；\nend：结束日期（包含），格式“YYYY-MM-DD”，为空时取最近一个交易日；\nfrequency：数据类型，默认为d，日k线；d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据，不区分大小写；指数没有分钟线数据；周线每周最后一个交易日才可以获取，月线每月最后一个交易日才可以获取。\nadjustflag：复权类型，默认不复权：3；1：后复权；2：前复权。已支持分钟线、日线、周线、月线前后复权。 BaoStock提供的是涨跌幅复权算法复权因子，具体介绍见：BaoStock复权因子简介。\n\n注意：\n\n股票停牌时，对于日线，开、高、低、收价都相同，且都为前一交易日的收盘价，成交量、成交额为0，换手率为空。\n\n如果需要将换手率转为float类型，可使用如下方法转换：result[\"turn\"] = [0 if x == \"\" else float(x) for x in result[\"turn\"]]\n\n关于复权数据的说明：\n\nBaoStock使用“涨跌幅复权法”进行复权，详细说明参考上文“复权因子简介”。不同系统间采用复权方式可能不一致，导致数据不一致。\n\n“涨跌幅复权法的”优点：可以计算出资金收益率，确保初始投入的资金运用率为100%，既不会因为分红而导致投资减少，也不会因为配股导致投资增加。\n\n与同花顺、通达信等存在不同。\n\n返回示例数据\n\ndate\tcode\topen\thigh\tlow\tclose\tpreclose\tvolume\tamount\tadjustflag\tturn\ttradestatus\tpctChg\tisST\n2017-07-03\tsh.600000\t12.64\t12.65\t12.47\t12.56\t12.65\t38778949\t486264672\t3\t0.137985\t1\t-0.711456\t0\n2017-07-04\tsh.600000\t12.55\t12.58\t12.41\t12.55\t12.56\t36659128\t458434432\t3\t0.130442\t1\t-0.07962\t0\n2017-07-05\tsh.600000\t12.5\t12.65\t12.47\t12.62\t12.55\t26470507\t332542464\t3\t0.094188\t1\t0.557767\t0\n2017-07-06\tsh.600000\t12.62\t12.72\t12.51\t12.66\t12.62\t37414241\t471582096\t3\t0.133129\t1\t0.316957\t0\n2017-07-07\tsh.600000\t12.62\t12.69\t12.55\t12.6\t12.66\t24667294\t311101536\t3\t0.087772\t1\t-0.473929\t0\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ndate\t交易所行情日期\t\ncode\t证券代码\t\nopen\t开盘价\t\nhigh\t最高价\t\nlow\t最低价\t\nclose\t收盘价\t\npreclose\t前收盘价\t见表格下方详细说明\nvolume\t成交量（累计，单位：股）\t\namount\t成交额（单位：人民币元）\t\nadjustflag\t复权状态（1：后复权，2：前复权，3：不复权）\t\nturn\t换手率\t[指定交易日的成交量(股)/指定交易日的股票的流通股总数(股)]*100%\ntradestatus\t交易状态（1：正常交易，0：停牌）\t\npctChg\t涨跌幅（百分比）\t日涨跌幅=[(指定交易日的收盘价-指定交易日前收盘价)/指定交易日前收盘价]*100%\npeTTM\t滚动市盈率\t(指定交易日的股票收盘价/指定交易日的每股盈余TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/归属母公司股东净利润TTM\npbMRQ\t市净率\t(指定交易日的股票收盘价/指定交易日的每股净资产)=总市值/(最近披露的归属母公司股东的权益-其他权益工具)\npsTTM\t滚动市销率\t(指定交易日的股票收盘价/指定交易日的每股销售额)=(指定交易日的股票收盘价*截至当日公司总股本)/营业总收入TTM\npcfNcfTTM\t滚动市现率\t(指定交易日的股票收盘价/指定交易日的每股现金流TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/现金以及现金等价物净增加额TTM\nisST\t是否ST股,1：是，0：否\t\n\n注意“前收盘价”说明：\n\n证券在指定交易日行情数据的前收盘价，当日发生除权除息时，“前收盘价”不是前一天的实际收盘价，而是根据股权登记日收盘价与分红现金的数量、配送股的数里和配股价的高低等结合起来算出来的价格。\n\n具体计算方法如下:\n\n1、计算除息价:\n\n除息价=股息登记日的收盘价-每股所分红利现金额\n\n2、计算除权价:\n\n送红股后的除权价=股权登记日的收盘价/(1+每股送红股数)\n\n配股后的除权价=(股权登记日的收盘价+配股价*每股配股数)/(1+每股配股数)\n\n3、计算除权除息价\n\n除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价*每股配股数)/(1+每股送红股数+每股配股数)\n\n“前收盘价”由交易所计算并公布。首发日的“前收盘价”等于“首发价格”。\n\n历史行情指标参数\n\n日线指标参数（包含停牌证券）\n\n参数名称\t参数描述\t说明\ndate\t交易所行情日期\t格式：YYYY-MM-DD\ncode\t证券代码\t格式：sh.600000。sh：上海，sz：深圳\nopen\t今开盘价格\t精度：小数点后4位；单位：人民币元\nhigh\t最高价\t精度：小数点后4位；单位：人民币元\nlow\t最低价\t精度：小数点后4位；单位：人民币元\nclose\t今收盘价\t精度：小数点后4位；单位：人民币元\npreclose\t昨日收盘价\t精度：小数点后4位；单位：人民币元\nvolume\t成交数量\t单位：股\namount\t成交金额\t精度：小数点后4位；单位：人民币元\nadjustflag\t复权状态\t不复权、前复权、后复权\nturn\t换手率\t精度：小数点后6位；单位：%\ntradestatus\t交易状态\t1：正常交易 0：停牌\npctChg\t涨跌幅（百分比）\t精度：小数点后6位\npeTTM\t滚动市盈率\t精度：小数点后6位\npsTTM\t滚动市销率\t精度：小数点后6位\npcfNcfTTM\t滚动市现率\t精度：小数点后6位\npbMRQ\t市净率\t精度：小数点后6位\nisST\t是否ST\t1是，0否\n\n周、月线指标参数\n\n参数名称\t参数描述\t说明\t算法说明\ndate\t交易所行情日期\t格式：YYYY-MM-DD\t\ncode\t证券代码\t格式：sh.600000。sh：上海，sz：深圳\t\nopen\t开盘价格\t精度：小数点后4位；单位：人民币元\t\nhigh\t最高价\t精度：小数点后4位；单位：人民币元\t\nlow\t最低价\t精度：小数点后4位；单位：人民币元\t\nclose\t收盘价\t精度：小数点后4位；单位：人民币元\t\nvolume\t成交数量\t单位：股\t\namount\t成交金额\t精度：小数点后4位；单位：人民币元\t\nadjustflag\t复权状态\t不复权、前复权、后复权\t\nturn\t换手率\t精度：小数点后6位；单位：%\t\npctChg\t涨跌幅（百分比）\t精度：小数点后6位\t涨跌幅=[(区间最后交易日收盘价-区间首个交易日前收盘价)/区间首个交易日前收盘价]*100%\n\n5、15、30、60分钟线指标参数(不包含指数)\n\n参数名称\t参数描述\t说明\ndate\t交易所行情日期\t格式：YYYY-MM-DD\ntime\t交易所行情时间\t格式：YYYYMMDDHHMMSSsss\ncode\t证券代码\t格式：sh.600000。sh：上海，sz：深圳\nopen\t开盘价格\t精度：小数点后4位；单位：人民币元\nhigh\t最高价\t精度：小数点后4位；单位：人民币元\nlow\t最低价\t精度：小数点后4位；单位：人民币元\nclose\t收盘价\t精度：小数点后4位；单位：人民币元\nvolume\t成交数量\t单位：股； 时间范围内的累计成交数量\namount\t成交金额\t精度：小数点后4位；单位：人民币元； 时间范围内的累计成交金额\nadjustflag\t复权状态\t不复权、前复权、后复权\n查询除权除息信息\n除权除息信息：query_dividend_data()\n\n通过API接口获取除权除息信息数据（预披露、预案、正式都已通过）。示例数据：下载\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 查询除权除息信息####\n# 查询2015年除权除息信息\nrs_list = []\nrs_dividend_2015 = bs.query_dividend_data(code=\"sh.600000\", year=\"2015\", yearType=\"report\")\nwhile (rs_dividend_2015.error_code == '0') & rs_dividend_2015.next():\n    rs_list.append(rs_dividend_2015.get_row_data())\n\n# 查询2016年除权除息信息\nrs_dividend_2016 = bs.query_dividend_data(code=\"sh.600000\", year=\"2016\", yearType=\"report\")\nwhile (rs_dividend_2016.error_code == '0') & rs_dividend_2016.next():\n    rs_list.append(rs_dividend_2016.get_row_data())\n\n# 查询2017年除权除息信息\nrs_dividend_2017 = bs.query_dividend_data(code=\"sh.600000\", year=\"2017\", yearType=\"report\")\nwhile (rs_dividend_2017.error_code == '0') & rs_dividend_2017.next():\n    rs_list.append(rs_dividend_2017.get_row_data())\n\nresult_dividend = pd.DataFrame(rs_list, columns=rs_dividend_2017.fields)\n# 打印输出\nprint(result_dividend)\n\n#### 结果集输出到csv文件 ####   \nresult_dividend.to_csv(\"D:\\\\history_Dividend_data.csv\", encoding=\"gbk\",index=False)\n\n#### 登出系统 ####\nbs.logout()\n\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：年份，如：2017。此参数不可为空；\nyearType：年份类别，默认为\"report\":预案公告年份，可选项\"operate\":除权除息年份。此参数不可为空。\n\n返回示例数据\n\ncode\tdividPreNoticeDate\tdividAgmPumDate\tdividPlanAnnounceDate\tdividPlanDate\tdividRegistDate\tdividOperateDate\tdividPayDate\nsh.600000\t\t2015-05-16\t2015-03-19\t2015-06-16\t2015-06-19\t2015-06-23\t2015-06-23\nsh.600000\t\t2016-04-29\t2016-04-07\t2016-06-16\t2016-06-22\t2016-06-23\t2016-06-23\nsh.600000\t\t2017-04-26\t2017-04-01\t2017-05-19\t2017-05-24\t2017-05-25\t2017-05-25\n\n返回示例数据\n\ndividStockMarketDate\tdividCashPsBeforeTax\tdividCashPsAfterTax\tdividStocksPs\tdividCashStock\tdividReserveToStockPs\n\t0.757\t0.6813或0.71915\t0.000000\t10派7.57元（含税，扣税后6.813或7.1915元）\t\n2016-06-24\t0.515\t0.4635或0.515\t0.000000\t10转1派5.15元（含税，扣税后4.635或5.15元）\t0.100000\n2017-05-26\t0.2\t0.18或0.2\t0.000000\t10转3派2元（含税，扣税后1.8或2元）\t0.300000\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\ndividPreNoticeDate\t预批露公告日\t\ndividAgmPumDate\t股东大会公告日期\t\ndividPlanAnnounceDate\t预案公告日\t\ndividPlanDate\t分红实施公告日\t\ndividRegistDate\t股权登记告日\t\ndividOperateDate\t除权除息日期\t\ndividPayDate\t派息日\t\ndividStockMarketDate\t红股上市交易日\t\ndividCashPsBeforeTax\t每股股利税前\t派息比例分子(税前)/派息比例分母\ndividCashPsAfterTax\t每股股利税后\t派息比例分子(税后)/派息比例分母\ndividStocksPs\t每股红股\t\ndividCashStock\t分红送转\t每股派息数(税前)+每股送股数+每股转增股本数\ndividReserveToStockPs\t每股转增资本\t\n查询复权因子信息\n复权因子：query_adjust_factor()\n\n通过API接口获取复权因子信息数据。示例数据：下载\n\nBaoStock提供的是涨跌幅复权算法复权因子，具体介绍见： 媒体文件:BaoStock复权因子简介.pdf。\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 查询2015至2017年复权因子\nrs_list = []\nrs_factor = bs.query_adjust_factor(code=\"sh.600000\", start_date=\"2015-01-01\", end_date=\"2017-12-31\")\nwhile (rs_factor.error_code == '0') & rs_factor.next():\n    rs_list.append(rs_factor.get_row_data())\nresult_factor = pd.DataFrame(rs_list, columns=rs_factor.fields)\n# 打印输出\nprint(result_factor)\n\n# 结果集输出到csv文件\nresult_factor.to_csv(\"D:\\\\adjust_factor_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nstart_date：开始日期，为空时默认为2015-01-01，包含此日期；\nend_date：结束日期，为空时默认当前日期，包含此日期。\n\n返回示例数据\n\ncode\tdividOperateDate\tforeAdjustFactor\tbackAdjustFactor\tadjustFactor\nsh.600000\t2015-06-23\t0.663792\t6.295967\t6.295967\nsh.600000\t2016-06-23\t0.751598\t7.128788\t7.128788\nsh.600000\t2017-05-25\t0.989551\t9.385732\t9.385732\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\ndividOperateDate\t除权除息日期\t\nforeAdjustFactor\t向前复权因子\t除权除息日前一个交易日的收盘价/除权除息日最近的一个交易日的前收盘价\nbackAdjustFactor\t向后复权因子\t除权除息日最近的一个交易日的前收盘价/除权除息日前一个交易日的收盘价\nadjustFactor\t本次复权因子\t\n查询季频财务数据信息\n季频盈利能力：query_profit_data()\n\n方法说明：通过API接口获取季频盈利能力信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n\n返回类型：pandas的DataFrame类型。\n\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 查询季频估值指标盈利能力\nprofit_list = []\nrs_profit = bs.query_profit_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_profit.error_code == '0') & rs_profit.next():\n    profit_list.append(rs_profit.get_row_data())\nresult_profit = pd.DataFrame(profit_list, columns=rs_profit.fields)\n# 打印输出\nprint(result_profit)\n# 结果集输出到csv文件\nresult_profit.to_csv(\"D:\\\\profit_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，可为空，默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\troeAvg\tnpMargin\tgpMargin\tnetProfit\tepsTTM\tMBRevenue\ttotalShare\tliqaShare\nsh.600000\t2017-08-30\t2017-06-30\t0.074617\t0.342179\t\t28522000000.000000\t1.939029\t83354000000.000000\t28103763899.00\t28103763899.00\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\nroeAvg\t净资产收益率(平均)(%)\t归属母公司股东净利润/[(期初归属母公司股东的权益+期末归属母公司股东的权益)/2]*100%\nnpMargin\t销售净利率(%)\t净利润/营业收入*100%\ngpMargin\t销售毛利率(%)\t毛利/营业收入*100%=(营业收入-营业成本)/营业收入*100%\nnetProfit\t净利润(元)\t\nepsTTM\t每股收益\t归属母公司股东的净利润TTM/最新总股本\nMBRevenue\t主营营业收入(元)\t\ntotalShare\t总股本\t\nliqaShare\t流通股本\t\n季频营运能力：query_operation_data()\n\n方法说明：通过API接口获取季频营运能力信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n\n返回类型：pandas的DataFrame类型。\n\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 营运能力\noperation_list = []\nrs_operation = bs.query_operation_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_operation.error_code == '0') & rs_operation.next():\n    operation_list.append(rs_operation.get_row_data())\nresult_operation = pd.DataFrame(operation_list, columns=rs_operation.fields)\n# 打印输出\nprint(result_operation)\n# 结果集输出到csv文件\nresult_operation.to_csv(\"D:\\\\operation_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，为空时默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\tNRTurnRatio\tNRTurnDays\tINVTurnRatio\tINVTurnDays\tCATurnRatio\tAssetTurnRatio\nsh.600000\t2017-08-30\t2017-06-30\t\t\t\t\t\t0.014161\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\nNRTurnRatio\t应收账款周转率(次)\t营业收入/[(期初应收票据及应收账款净额+期末应收票据及应收账款净额)/2]\nNRTurnDays\t应收账款周转天数(天)\t季报天数/应收账款周转率(一季报：90天，中报：180天，三季报：270天，年报：360天)\nINVTurnRatio\t存货周转率(次)\t营业成本/[(期初存货净额+期末存货净额)/2]\nINVTurnDays\t存货周转天数(天)\t季报天数/存货周转率(一季报：90天，中报：180天，三季报：270天，年报：360天)\nCATurnRatio\t流动资产周转率(次)\t营业总收入/[(期初流动资产+期末流动资产)/2]\nAssetTurnRatio\t总资产周转率\t营业总收入/[(期初资产总额+期末资产总额)/2]\n季频成长能力：query_growth_data()\n\n方法说明：通过API接口获取季频成长能力信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 成长能力\ngrowth_list = []\nrs_growth = bs.query_growth_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_growth.error_code == '0') & rs_growth.next():\n    growth_list.append(rs_growth.get_row_data())\nresult_growth = pd.DataFrame(growth_list, columns=rs_growth.fields)\n# 打印输出\nprint(result_growth)\n# 结果集输出到csv文件\nresult_growth.to_csv(\"D:\\\\growth_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，为空时默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\tYOYEquity\tYOYAsset\tYOYNI\tYOYEPSBasic\tYOYPNI\nsh.600000\t2017-08-30\t2017-06-30\t0.120243\t0.101298\t0.054808\t0.021053\t0.052111\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\nYOYEquity\t净资产同比增长率\t(本期净资产-上年同期净资产)/上年同期净资产的绝对值*100%\nYOYAsset\t总资产同比增长率\t(本期总资产-上年同期总资产)/上年同期总资产的绝对值*100%\nYOYNI\t净利润同比增长率\t(本期净利润-上年同期净利润)/上年同期净利润的绝对值*100%\nYOYEPSBasic\t基本每股收益同比增长率\t(本期基本每股收益-上年同期基本每股收益)/上年同期基本每股收益的绝对值*100%\nYOYPNI\t归属母公司股东净利润同比增长率\t(本期归属母公司股东净利润-上年同期归属母公司股东净利润)/上年同期归属母公司股东净利润的绝对值*100%\n季频偿债能力：query_balance_data()\n\n方法说明：通过API接口获取季频偿债能力信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 偿债能力\nbalance_list = []\nrs_balance = bs.query_balance_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_balance.error_code == '0') & rs_balance.next():\n    balance_list.append(rs_balance.get_row_data())\nresult_balance = pd.DataFrame(balance_list, columns=rs_balance.fields)\n# 打印输出\nprint(result_balance)\n# 结果集输出到csv文件\nresult_balance.to_csv(\"D:\\\\balance_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，为空时默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\tcurrentRatio\tquickRatio\tcashRatio\tYOYLiability\tliabilityToAsset\tassetToEquity\nsh.600000\t2017-08-30\t2017-06-30\t\t\t\t0.100020\t0.933703\t15.083598\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\ncurrentRatio\t流动比率\t流动资产/流动负债\nquickRatio\t速动比率\t(流动资产-存货净额)/流动负债\ncashRatio\t现金比率\t(货币资金+交易性金融资产)/流动负债\nYOYLiability\t总负债同比增长率\t(本期总负债-上年同期总负债)/上年同期中负债的绝对值*100%\nliabilityToAsset\t资产负债率\t负债总额/资产总额\nassetToEquity\t权益乘数\t资产总额/股东权益总额=1/(1-资产负债率)\n季频现金流量：query_cash_flow_data()\n\n方法说明：通过API接口获取季频现金流量信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 季频现金流量\ncash_flow_list = []\nrs_cash_flow = bs.query_cash_flow_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_cash_flow.error_code == '0') & rs_cash_flow.next():\n    cash_flow_list.append(rs_cash_flow.get_row_data())\nresult_cash_flow = pd.DataFrame(cash_flow_list, columns=rs_cash_flow.fields)\n# 打印输出\nprint(result_cash_flow)\n# 结果集输出到csv文件\nresult_cash_flow.to_csv(\"D:\\\\cash_flow_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，为空时默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\tCAToAsset\tNCAToAsset\ttangibleAssetToAsset\tebitToInterest\tCFOToOR\tCFOToNP\tCFOToGr\nsh.600000\t2017-08-30\t2017-06-30\t\t\t\t\t—3.071550\t—8.976439\t—3.071550\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\nCAToAsset\t流动资产除以总资产\t\nNCAToAsset\t非流动资产除以总资产\t\ntangibleAssetToAsset\t有形资产除以总资产\t\nebitToInterest\t已获利息倍数\t息税前利润/利息费用\nCFOToOR\t经营活动产生的现金流量净额除以营业收入\t\nCFOToNP\t经营性现金净流量除以净利润\t\nCFOToGr\t经营性现金净流量除以营业总收入\t\n季频杜邦指数：query_dupont_data()\n\n方法说明：通过API接口获取季频杜邦指数信息，可以通过参数设置获取对应年份、季度数据，提供2007年至今数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 查询杜邦指数\ndupont_list = []\nrs_dupont = bs.query_dupont_data(code=\"sh.600000\", year=2017, quarter=2)\nwhile (rs_dupont.error_code == '0') & rs_dupont.next():\n    dupont_list.append(rs_dupont.get_row_data())\nresult_dupont = pd.DataFrame(dupont_list, columns=rs_dupont.fields)\n# 打印输出\nprint(result_dupont)\n# 结果集输出到csv文件\nresult_dupont.to_csv(\"D:\\\\dupont_data.csv\", encoding=\"gbk\", index=False)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nyear：统计年份，为空时默认当前年；\nquarter：统计季度，为空时默认当前季度。不为空时只有4个取值：1，2，3，4。\n\n返回示例数据\n\ncode\tpubDate\tstatDate\tdupontROE\tdupontAssetStoEquity\tdupontAssetTurn\tdupontPnitoni\nsh.600000\t2017-08-30\t2017-06-30\t0.074617\t15.594453\t0.014161\t0.987483\n\n返回示例数据\n\ndupontNitogr\tdupontTaxBurden\tdupontIntburden\tdupontEbittogr\n0.342179\t0.776088\t\t\n\n返回数据说明\n\n参数名称\t参数描述\t算法说明\ncode\t证券代码\t\npubDate\t公司发布财报的日期\t\nstatDate\t财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30\t\ndupontROE\t净资产收益率\t归属母公司股东净利润/[(期初归属母公司股东的权益+期末归属母公司股东的权益)/2]*100%\ndupontAssetStoEquity\t权益乘数，反映企业财务杠杆效应强弱和财务风险\t平均总资产/平均归属于母公司的股东权益\ndupontAssetTurn\t总资产周转率，反映企业资产管理效率的指标\t营业总收入/[(期初资产总额+期末资产总额)/2]\ndupontPnitoni\t归属母公司股东的净利润/净利润，反映母公司控股子公司百分比。如果企业追加投资，扩大持股比例，则本指标会增加。\t\ndupontNitogr\t净利润/营业总收入，反映企业销售获利率\t\ndupontTaxBurden\t净利润/利润总额，反映企业税负水平，该比值高则税负较低。净利润/利润总额=1-所得税/利润总额\t\ndupontIntburden\t利润总额/息税前利润，反映企业利息负担，该比值高则税负较低。利润总额/息税前利润=1-利息费用/息税前利润\t\ndupontEbittogr\t息税前利润/营业总收入，反映企业经营利润率，是企业经营获得的可供全体投资人（股东和债权人）分配的盈利占企业全部营收收入的百分比\t\n查询季频公司报告信息\n季频公司业绩快报：query_performance_express_report()\n\n方法说明：通过API接口获取季频公司业绩快报信息，可以通过参数设置获取起止年份数据，提供2006年至今数据。除几种特殊情况外，交易所未要求必须发布。\n\n返回类型：pandas的DataFrame类型。\n\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取公司业绩快报 ####\nrs = bs.query_performance_express_report(\"sh.600000\", start_date=\"2015-01-01\", end_date=\"2017-12-31\")\nprint('query_performance_express_report respond error_code:'+rs.error_code)\nprint('query_performance_express_report respond  error_msg:'+rs.error_msg)\n\nresult_list = []\nwhile (rs.error_code == '0') & rs.next():\n    result_list.append(rs.get_row_data())\n    # 获取一条记录，将记录合并在一起\nresult = pd.DataFrame(result_list, columns=rs.fields)\n#### 结果集输出到csv文件 ####\nresult.to_csv(\"D:\\\\performance_express_report.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nstart_date：开始日期，发布日期或更新日期在这个范围内；\nend_date：结束日期，发布日期或更新日期在这个范围内。\n\n返回示例数据\n\ncode\tperformanceExpPubDate\tperformanceExpStatDate\tperformanceExpUpdateDate\tperformanceExpressTotalAsset\tperformanceExpressNetAsset\nsh.600000\t2015-01-06\t2014-12-31\t2015-01-06\t4195602000000.000000\t260011000000.000000\nsh.600000\t2016-01-05\t2015-12-31\t2016-01-05\t5043060000000.000000\t285245000000.000000\nsh.600000\t2017-01-04\t2016-12-31\t2017-01-04\t5857263000000.000000\t338027000000.000000\n\n返回示例数据\n\nperformanceExpressEPSChgPct\tperformanceExpressROEWa\tperformanceExpressEPSDiluted\tperformanceExpressGRYOY\tperformanceExpressOPYOY\n0.326910\t21.020000\t2.520000\t0.228390\t0.153803\n0.191493\t18.820000\t2.660000\t0.192395\t0.069764\n0.115412\t16.350000\t2.400000\t0.097234\t0.054384\n\n返回数据说明\n\n参数名称\t参数描述\ncode\t证券代码\nperformanceExpPubDate\t业绩快报披露日\nperformanceExpStatDate\t业绩快报统计日期\nperformanceExpUpdateDate\t业绩快报披露日(最新)\nperformanceExpressTotalAsset\t业绩快报总资产\nperformanceExpressNetAsset\t业绩快报净资产\nperformanceExpressEPSChgPct\t业绩每股收益增长率\nperformanceExpressROEWa\t业绩快报净资产收益率ROE-加权\nperformanceExpressEPSDiluted\t业绩快报每股收益EPS-摊薄\nperformanceExpressGRYOY\t业绩快报营业总收入同比\nperformanceExpressOPYOY\t业绩快报营业利润同比\n季频公司业绩预告：query_forecast_report()\n\n方法说明：通过API接口获取季频公司业绩预告信息，可以通过参数设置获取起止年份数据，提供2003年至今数据。除几种特殊情况外，交易所未要求必须发布。\n\n返回类型：pandas的DataFrame类型。\n\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取公司业绩预告 ####\nrs_forecast = bs.query_forecast_report(\"sh.600000\", start_date=\"2010-01-01\", end_date=\"2017-12-31\")\nprint('query_forecast_reprot respond error_code:'+rs_forecast.error_code)\nprint('query_forecast_reprot respond  error_msg:'+rs_forecast.error_msg)\nrs_forecast_list = []\nwhile (rs_forecast.error_code == '0') & rs_forecast.next():\n    # 分页查询，将每页信息合并在一起\n    rs_forecast_list.append(rs_forecast.get_row_data())\nresult_forecast = pd.DataFrame(rs_forecast_list, columns=rs_forecast.fields)\n#### 结果集输出到csv文件 ####\nresult_forecast.to_csv(\"D:\\\\forecast_report.csv\", encoding=\"gbk\", index=False)\nprint(result_forecast)\n\n#### 登出系统 ####\nbs.logout()\n\n\n参数含义：\n\ncode：股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。此参数不可为空；\nstart_date：开始日期，发布日期或更新日期在这个范围内；\nend_date：结束日期，发布日期或更新日期在这个范围内。\n\n返回示例数据\n\ncode\tprofitForcastExpPubDate\tprofitForcastExpStatDate\tprofitForcastType\tprofitForcastAbstract\nsh.600000\t2010-01-05\t2009-12-31\t略增\t预计2009年归属于上市公司股东净利润1319500万元，同比增长5.43%。\nsh.600000\t2011-01-05\t2010-12-31\t略增\t预计公司2010年年度归属于上市公司股东净利润为190.76亿元，较上年同期增长44.33％。\nsh.600000\t2012-01-05\t2011-12-31\t略增\t预计2011年1月1日至2011年12月31日，归属于上市公司股东的净利润：盈利272.36亿元，与上年同期相比增加了42.02%。\n\n返回示例数据\n\nprofitForcastChgPctUp\tprofitForcastChgPctDwn\n5.430000\t0.000000\n44.330000\t44.330000\n42.020000\t42.020000\n\n返回数据说明\n\n参数名称\t参数描述\ncode\t证券代码\nprofitForcastExpPubDate\t业绩预告发布日期\nprofitForcastExpStatDate\t业绩预告统计日期\nprofitForcastType\t业绩预告类型\nprofitForcastAbstract\t业绩预告摘要\nprofitForcastChgPctUp\t预告归属于母公司的净利润增长上限(%)\nprofitForcastChgPctDwn\t预告归属于母公司的净利润增长下限(%)\n证券基本资料\n证券基本资料：query_stock_basic()\n\n方法说明：通过API接口获取证券基本资料，可以通过参数设置获取对应证券代码、证券名称的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取证券基本资料\nrs = bs.query_stock_basic(code=\"sh.600000\")\n# rs = bs.query_stock_basic(code_name=\"浦发银行\")  # 支持模糊查询\nprint('query_stock_basic respond error_code:'+rs.error_code)\nprint('query_stock_basic respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/stock_basic.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ncode：A股股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。可以为空；\ncode_name：股票名称，支持模糊查询，可以为空。\n当参数为空时，输出全部股票的基本信息。\n\n返回示例数据\n\ncode\tcode_name\tipoDate\toutDate\ttype\tstatus\nsh.600000\t浦发银行\t1999-11-10\t\t1\t1\n\n返回数据说明\n\n参数名称\t参数描述\ncode\t证券代码\ncode_name\t证券名称\nipoDate\t上市日期\noutDate\t退市日期\ntype\t证券类型，其中1：股票，2：指数，3：其它，4：可转债，5：ETF\nstatus\t上市状态，其中1：上市，0：退市\n获取证券元信息\n交易日查询：query_trade_dates()\n\n方法说明：通过API接口获取股票交易日信息，可以通过参数设置获取起止年份数据，提供上交所1990-今年数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取交易日信息 ####\nrs = bs.query_trade_dates(start_date=\"2017-01-01\", end_date=\"2017-06-30\")\nprint('query_trade_dates respond error_code:'+rs.error_code)\nprint('query_trade_dates respond  error_msg:'+rs.error_msg)\n\n#### 打印结果集 ####\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n\n#### 结果集输出到csv文件 ####   \nresult.to_csv(\"D:\\\\trade_datas.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，为空时默认为2015-01-01。\nend_date：结束日期，为空时默认为当前日期。\n\n返回示例数据\n\ncalendar_date\tis_trading_day\n2017-01-01\t0\n2017-01-02\t0\n2017-01-03\t1\n\n返回数据说明\n\n参数名称\t参数描述\ncalendar_date\t日期\nis_trading_day\t是否交易日(0:非交易日;1:交易日)\n证券代码查询：query_all_stock()\n\n方法说明：获取指定交易日期所有股票列表。通过API接口获取证券代码及股票交易状态信息，与日K线数据同时更新。可以通过参数‘某交易日’获取数据（包括：A股、指数），数据范围同接口query_history_k_data_plus()。\n\n返回类型：pandas的DataFrame类型。\n\n更新时间：与日K线同时更新。\n\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n#### 登陆系统 ####\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n#### 获取证券信息 ####\nrs = bs.query_all_stock(day=\"2017-06-30\")\nprint('query_all_stock respond error_code:'+rs.error_code)\nprint('query_all_stock respond  error_msg:'+rs.error_msg)\n\n#### 打印结果集 ####\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n\n#### 结果集输出到csv文件 ####   \nresult.to_csv(\"D:\\\\all_stock.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n#### 登出系统 ####\nbs.logout()\n\n\n参数含义：\n\nday：需要查询的交易日期，为空时默认当前日期。\n\n返回示例数据\n\ncode\ttradeStatus\tcode_name\nsh.000001\t1\t上证综合指数\nsh.000002\t1\t上证A股指数\nsh.000003\t1\t上证B股指数\n\n返回数据说明\n\n参数名称\t参数描述\ncode\t证券代码\ntradeStatus\t交易状态(1：正常交易 0：停牌）\ncode_name\t证券名称\n宏观经济数据\n存款利率：query_deposit_rate_data()\n\n方法说明：通过API接口获取存款利率，可以通过参数设置获取对应起止日期的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取存款利率\nrs = bs.query_deposit_rate_data(start_date=\"2015-01-01\", end_date=\"2015-12-31\")\nprint('query_deposit_rate_data respond error_code:'+rs.error_code)\nprint('query_deposit_rate_data respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/deposit_rate.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空；\nend_date：结束日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空。\n\n返回示例数据\n\npubDate\tdemandDepositRate\tfixedDepositRate3Month\tfixedDepositRate6Month\tfixedDepositRate1Year\tfixedDepositRate2Year\tfixedDepositRate3Year\n2015-03-01\t0.350000\t2.100000\t2.300000\t2.500000\t3.100000\t3.750000\n2015-05-11\t0.350000\t1.850000\t2.050000\t2.250000\t2.850000\t3.500000\n\n返回示例数据\n\nfixedDepositRate5Year\tinstallmentFixedDepositRate1Year\tinstallmentFixedDepositRate3Year\tinstallmentFixedDepositRate5Year\n\t2.100000\t2.300000\t\n\t1.850000\t2.050000\t\n\n返回数据说明\n\n参数名称\t参数描述\npubDate\t发布日期\ndemandDepositRate\t活期存款(不定期)\nfixedDepositRate3Month\t定期存款(三个月)\nfixedDepositRate6Month\t定期存款(半年)\nfixedDepositRate1Year\t定期存款整存整取(一年)\nfixedDepositRate2Year\t定期存款整存整取(二年)\nfixedDepositRate3Year\t定期存款整存整取(三年)\nfixedDepositRate5Year\t定期存款整存整取(五年)\ninstallmentFixedDepositRate1Year\t零存整取、整存零取、存本取息定期存款(一年)\ninstallmentFixedDepositRate3Year\t零存整取、整存零取、存本取息定期存款(三年)\ninstallmentFixedDepositRate5Year\t零存整取、整存零取、存本取息定期存款(五年)\n贷款利率：query_loan_rate_data()\n\n方法说明：通过API接口获取贷款利率，可以通过参数设置获取对应起止日期的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取贷款利率\nrs = bs.query_loan_rate_data(start_date=\"2010-01-01\", end_date=\"2015-12-31\")\nprint('query_loan_rate_data respond error_code:'+rs.error_code)\nprint('query_loan_rate_data respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/loan_rate.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空；\nend_date：结束日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空。\n\n返回示例数据\n\npubDate\tloanRate6Month\tloanRate6MonthTo1Year\tloanRate1YearTo3Year\tloanRate3YearTo5Year\n2010-10-20\t5.100000\t5.560000\t5.600000\t5.960000\n2010-12-26\t5.350000\t5.810000\t5.850000\t6.220000\n\n返回示例数据\n\nloanRateAbove5Year\tmortgateRateBelow5Year\tmortgateRateAbove5Year\n6.140000\t3.500000\t4.050000\n6.400000\t3.750000\t4.300000\n\n返回数据说明\n\n参数名称\t参数描述\npubDate\t发布日期\nloanRate6Month\t6个月贷款利率\nloanRate6MonthTo1Year\t6个月至1年贷款利率\nloanRate1YearTo3Year\t1年至3年贷款利率\nloanRate3YearTo5Year\t3年至5年贷款利率\nloanRateAbove5Year\t5年以上贷款利率\nmortgateRateBelow5Year\t5年以下住房公积金贷款利率\nmortgateRateAbove5Year\t5年以上住房公积金贷款利率\n存款准备金率：query_required_reserve_ratio_data()\n\n方法说明：通过API接口获取存款准备金率，可以通过参数设置获取对应起止日期的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取存款准备金率\nrs = bs.query_required_reserve_ratio_data(start_date=\"2010-01-01\", end_date=\"2015-12-31\")\nprint('query_required_reserve_ratio_data respond error_code:'+rs.error_code)\nprint('query_required_reserve_ratio_data respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/required_reserve_ratio.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空；\nend_date：结束日期，格式XXXX-XX-XX，发布日期在这个范围内，可以为空；\nyearType:年份类别，默认为0，查询公告日期；1查询生效日期。\n\n返回示例数据\n\npubDate\teffectiveDate\tbigInstitutionsRatioPre\tbigInstitutionsRatioAfter\n2010-01-12\t2010-01-18\t15.5\t16.0\n2010-02-12\t2010-02-25\t16.0\t16.5\n\n返回示例数据\n\nmediumInstitutionsRatioPre\tmediumInstitutionsRatioAfter\n13.5\t14.0\n14.0\t14.5\n\n返回数据说明\n\n参数名称\t参数描述\npubDate\t公告日期\neffectiveDate\t生效日期\nbigInstitutionsRatioPre\t人民币存款准备金率：大型存款类金融机构 调整前\nbigInstitutionsRatioAfter\t人民币存款准备金率：大型存款类金融机构 调整后\nmediumInstitutionsRatioPre\t人民币存款准备金率：中小型存款类金融机构 调整前\nmediumInstitutionsRatioAfter\t人民币存款准备金率：中小型存款类金融机构 调整后\n货币供应量：query_money_supply_data_month()\n\n方法说明：通过API接口获取货币供应量，可以通过参数设置获取对应起止日期的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取货币供应量\nrs = bs.query_money_supply_data_month(start_date=\"2010-01\", end_date=\"2015-12\")\nprint('query_money_supply_data_month respond error_code:'+rs.error_code)\nprint('query_money_supply_data_month respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/money_supply_data_month.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，格式XXXX-XX，发布日期在这个范围内，可以为空；\nend_date：结束日期，格式XXXX-XX，发布日期在这个范围内，可以为空。\n\n返回示例数据\n\nstatYear\tstatMonth\tm0Month\tm0YOY\tm0ChainRelative\tm1Month\tm1YOY\tm1ChainRelative\n2010\t01\t40758.580000\t—0.790000\t6.566809\t229588.980000\t38.960000\t3.677276\n2010\t02\t42865.790000\t21.980000\t5.169979\t224286.950000\t34.990000\t—2.309357\n\n返回示例数据\n\nm2Month\tm2YOY\tm2ChainRelative\n625609.290000\t25.980000\t2.521165\n636072.260000\t25.520000\t1.672445\n\n返回数据说明\n\n参数名称\t参数描述\nstatYear\t统计年度\nstatMonth\t统计月份\nm0Month\t货币供应量M0（月）\nm0YOY\t货币供应量M0（同比）\nm0ChainRelative\t货币供应量M0（环比）\nm1Month\t货币供应量M1（月）\nm1YOY\t货币供应量M1（同比）\nm1ChainRelative\t货币供应量M1（环比）\nm2Month\t货币供应量M2（月）\nm2YOY\t货币供应量M2（同比）\nm2ChainRelative\t货币供应量M2（环比）\n货币供应量(年底余额)：query_money_supply_data_year()\n\n方法说明：通过API接口获取货币供应量(年底余额)，可以通过参数设置获取对应起止日期的数据。\n返回类型：pandas的DataFrame类型。\n使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取货币供应量(年底余额)\nrs = bs.query_money_supply_data_year(start_date=\"2010\", end_date=\"2015\")\nprint('query_money_supply_data_year respond error_code:'+rs.error_code)\nprint('query_money_supply_data_year respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\ndata_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    data_list.append(rs.get_row_data())\nresult = pd.DataFrame(data_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/money_supply_data_year.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n参数含义：\n\nstart_date：开始日期，格式XXXX，发布日期在这个范围内，可以为空；\nend_date：结束日期，格式XXXX，发布日期在这个范围内，可以为空。\n\n返回示例数据\n\nstatYear\tm0Year\tm0YearYOY\tm1Year\tm1YearYOY\tm2Year\tm2YearYOY\n2010\t44628.170000\t16.700000\t266621.540000\t21.200000\t725851.800000\t19.700000\n2011\t50748.460000\t13.760000\t289847.700000\t7.850000\t851590.900000\t13.610000\n\n返回数据说明\n\n参数名称\t参数描述\nstatYear\t统计年度\nm0Year\t年货币供应量M0（亿元）\nm0YearYOY\t年货币供应量M0（同比）\nm1Year\t年货币供应量M1（亿元）\nm1YearYOY\t年货币供应量M1（同比）\nm2Year\t年货币供应量M2（亿元）\nm2YearYOY\t年货币供应量M2（同比）\n板块数据\n行业分类：query_stock_industry()\n\n方法说明：通过API接口获取行业分类信息，更新频率：每周一更新。返回类型：pandas的DataFrame类型。 使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取行业分类数据\nrs = bs.query_stock_industry()\n# rs = bs.query_stock_basic(code_name=\"浦发银行\")\nprint('query_stock_industry error_code:'+rs.error_code)\nprint('query_stock_industry respond  error_msg:'+rs.error_msg)\n\n# 打印结果集\nindustry_list = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    industry_list.append(rs.get_row_data())\nresult = pd.DataFrame(industry_list, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/stock_industry.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ncode：A股股票代码，sh或sz.+6位数字代码，或者指数代码，如：sh.601398。sh：上海；sz：深圳。可以为空；\ndate：查询日期，格式XXXX-XX-XX，为空时默认最新日期。\n\n返回示例数据\n\nupdateDate\tcode\tcode_name\tindustry\tindustryClassification\n2018-11-26\tsh.600000\t浦发银行\t银行\t申万一级行业\n2018-11-26\tsh.600001\t邯郸钢铁\t\t申万一级行业\n\n返回数据说明\n\n参数名称\t参数描述\nupdateDate\t更新日期\ncode\t证券代码\ncode_name\t证券名称\nindustry\t所属行业\nindustryClassification\t所属行业类别\n上证50成分股：query_sz50_stocks()\n\n方法说明：通过API接口获取上证50成分股信息，更新频率：每周一更新。返回类型：pandas的DataFrame类型。 使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取上证50成分股\nrs = bs.query_sz50_stocks()\nprint('query_sz50 error_code:'+rs.error_code)\nprint('query_sz50  error_msg:'+rs.error_msg)\n\n# 打印结果集\nsz50_stocks = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    sz50_stocks.append(rs.get_row_data())\nresult = pd.DataFrame(sz50_stocks, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/sz50_stocks.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ndate：查询日期，格式XXXX-XX-XX，为空时默认最新日期。\n\n返回示例数据\n\nupdateDate\tcode\tcode_name\n2018-11-26\tsh.600000\t浦发银行\n2018-11-26\tsh.600016\t民生银行\n\n返回数据说明\n\n参数名称\t参数描述\nupdateDate\t更新日期\ncode\t证券代码\ncode_name\t证券名称\n沪深300成分股：query_hs300_stocks()\n\n方法说明：通过API接口获取沪深300成分股信息，更新频率：每周一更新。返回类型：pandas的DataFrame类型。 使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取沪深300成分股\nrs = bs.query_hs300_stocks()\nprint('query_hs300 error_code:'+rs.error_code)\nprint('query_hs300  error_msg:'+rs.error_msg)\n\n# 打印结果集\nhs300_stocks = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    hs300_stocks.append(rs.get_row_data())\nresult = pd.DataFrame(hs300_stocks, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/hs300_stocks.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ndate：查询日期，格式XXXX-XX-XX，为空时默认最新日期。\n\n返回示例数据\n\nupdateDate\tcode\tcode_name\n2018-11-26\tsh.600000\t浦发银行\n2018-11-26\tsh.600008\t首创股份\n\n返回数据说明\n\n参数名称\t参数描述\nupdateDate\t更新日期\ncode\t证券代码\ncode_name\t证券名称\n中证500成分股：query_zz500_stocks()\n\n方法说明：通过API接口获取中证500成分股信息，更新频率：每周一更新。返回类型：pandas的DataFrame类型。 使用示例\n\n\nimport baostock as bs\nimport pandas as pd\n\n# 登陆系统\nlg = bs.login()\n# 显示登陆返回信息\nprint('login respond error_code:'+lg.error_code)\nprint('login respond  error_msg:'+lg.error_msg)\n\n# 获取中证500成分股\nrs = bs.query_zz500_stocks()\nprint('query_zz500 error_code:'+rs.error_code)\nprint('query_zz500  error_msg:'+rs.error_msg)\n\n# 打印结果集\nzz500_stocks = []\nwhile (rs.error_code == '0') & rs.next():\n    # 获取一条记录，将记录合并在一起\n    zz500_stocks.append(rs.get_row_data())\nresult = pd.DataFrame(zz500_stocks, columns=rs.fields)\n# 结果集输出到csv文件\nresult.to_csv(\"D:/zz500_stocks.csv\", encoding=\"gbk\", index=False)\nprint(result)\n\n# 登出系统\nbs.logout()\n\n\n\n参数含义：\n\ndate：查询日期，格式XXXX-XX-XX，为空时默认最新日期。\n\n返回示例数据\n\nupdateDate\tcode\tcode_name\n2018-11-26\tsh.600004\t白云机场\n2018-11-26\tsh.600006\t东风汽车\n\n返回数据说明\n\n参数名称\t参数描述\nupdateDate\t更新日期\ncode\t证券代码\ncode_name\t证券名称\n示例程序\n获取指定日期全部股票的日K线数据\n\n示例代码如下：\n\n\nimport baostock as bs\nimport pandas as pd\n\n\ndef download_data(date):\n    bs.login()\n\n    # 获取指定日期的指数、股票数据\n    stock_rs = bs.query_all_stock(date)\n    stock_df = stock_rs.get_data()\n    data_df = pd.DataFrame()\n    for code in stock_df[\"code\"]:\n        print(\"Downloading :\" + code)\n        k_rs = bs.query_history_k_data_plus(code, \"date,code,open,high,low,close\", date, date)\n        data_df = data_df.append(k_rs.get_data())\n    bs.logout()\n    data_df.to_csv(\"D:\\\\demo_assignDayData.csv\", encoding=\"gbk\", index=False)\n    print(data_df)\n\n\nif __name__ == '__main__':\n    # 获取指定日期全部股票的日K线数据\n    download_data(\"2019-02-25\")\n\n沪ICP备19029036号-3\n|\n沪公网安备31011502404449号\n|\n电信业务增值许可证：沪B2-20240133\n|\n隐私政策\n|\n关于www.baostock.com\n|\n免责声明"
