pyhon可用在线金融数据汇总
一、数据源
Tushare
Tushare社区门户(https://waditu.com),点击右上角“注册”,
获取token,登录成功后,点击右上角->个人主页->“用户中心”中点击“接口TOKEN”->复制token
注意:token是Tushare调取数据的唯一凭证,请妥善保管,如发现别人盗用,可在本页面点击“刷新”操作,之前的token将失效。
安装:pip install tushare
1.导入tushare
import tushare as ts
ts.set_token('your token here')
#以上方法只需要在第一次或者token失效后调用,完成调取tushare数据凭证的设置,正常情况下不需要重复设置。也可以忽略此步骤,直接用pro_api('your token')完成初始化
pro = ts.pro_api() #初始化pro接口
如果上一步骤ts.set_token('your token')无效或不想保存token到本地,也可以在初始化接口里直接设置token:
pro = ts.pro_api('your token')
2.数据调取
以获取交易日历信息为例:
df = pro.trade_cal(exchange='', start_date='20180901', end_date='20181001', fields='exchange,cal_date,is_open,pretrade_date', is_open='0')
或者
df = pro.query('trade_cal', exchange='', start_date='20180901', end_date='20181001', fields='exchange,cal_date,is_open,pretrade_date', is_open='0')
调取结果:
exchange cal_date is_open pretrade_date
0 SSE 20180901 0 20180831
1 SSE 20180902 0 20180831
2 SSE 20180908 0 20180907
3 SSE 20180909 0 20180907
Tushare提供的数据类型:https://waditu.com/document/2?doc_id=148
AKSHARE
GITHUB:https://github.com/jindaxiang/akshare
AKSHARE: https://www.akshare.xyz/
https://www.akshare.xyz/zh_CN/latest/
一般安装
pip install akshare
或
pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --upgrade
使用范例:
import akshare as ak
hist_df = ak.stock_us_daily(symbol="AMZN") # Get U.S. stock Amazon's price info
print(hist_df)
#Output
open high low close volume
date
1997-05-15 29.25 30.0000 23.1300 23.5000 6013000.0
1997-05-16 23.63 23.7500 20.5000 20.7500 1225000.0
1997-05-19 21.13 21.2500 19.5000 20.5000 508900.0
gopup 开源数据库
项目的地址为:
https://github.com/justinzm/gopup
GoPUP数据
指数数据:微博指数数据,百度指数数据,百度搜索数据,百度资讯指数,百度媒体指数,百度需求图谱,百度人群画像年龄分布,百度人群画像性别分布,百度人群画像兴趣分布;算数数据:算数指数数据,算数相关性分析,算数地域分析,算数城市分析,算数年龄分析,算数性别分析,算数用户阅读兴趣分类,谷歌指数数据,谷歌指数数据,谷歌事实查证;宏观数据:中国宏观数据,中国宏观杠杆率数据,货币汇率数据;利率数据:Shibor数据,Shibor报价数据,Shibor均值数据,LPR数据;新经济公司:千里马公司,独角兽公司,倒闭公司,商业特许经营公司;信息数据:新闻联播文字稿;生活数据:中国油价数据,汽柴油历史调价信息,调价日的地区油价历史数据;诗词数据:唐代诗人,唐诗数据;影视数据:实时电影票房数据,单日电影票房数据,单日影院票房数据,实时电视剧播映指数,实时综艺播映指数,艺人商业价值,艺人流量价值;全国高校:全国普通高等学校名单,全国成人高等学校名单,全国高等学校详情数据;疫情数据:网易疫情数据,丁香园疫情数据……
安装方法:pip install gopup
使用文档:gopup-cookbook http://www.gopup.cn/login
当前版本:v0.3.0
https://github.com/cqkenuo/gopup
Quandl (部分免费)
https://data.nasdaq.com/
旧名:https://www.quandl.com/
先注册,后使用
quandl.get("ABMI/INT_RATE_SPREAD_2YRVS10YR_CHN", authtoken="******") #token自己申请
CurrencyScoop
最新报价数据-免费账号每月限量访问 5000 次
https://currencyscoop.com/
使用方法:https://currencyscoop.com/api-documentation
Currencyscoop provides a simple REST API with real-time and historical exchange rates for 168 world currencies. We deliver currency pairs and data in universally usable JSON format - compatible with any programming languages and any of your applications.
Our real-time and historical exchange rate data is retrieved from several major forex data providers, central banks and various commercial vendors in real-time, validated, processed and delivered in seconds within the market window.
By providing the most representative forex market value available ("midpoint" value) for every API request, our API powers currency converters, mobile applications, financial software components and back-office systems all around the world.
Central banks and currency traders define the rates at which they are willing to buy/sell a specific currency. The real-time mid-market rate is the midpoint between demand and supply at any point in time, making it the most accurate rate. The mid-market rate is the rate you will find on independent sources such as Yahoo Finance, Google Finance, Xignite and XE.
yfinance
Install yfinance using pip:
pip install yfinance --upgrade --no-cache-dir
源地址:https://github.com/ranaroussi/yfinance
Yahoo提供了丰富的金融市场数据,可以当作API来调用。
支持代理取数:If you want to use a proxy server for downloading data, use:
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.history(..., proxy="PROXY_SERVER")
msft.get_actions(proxy="PROXY_SERVER")
msft.get_dividends(proxy="PROXY_SERVER")
msft.get_splits(proxy="PROXY_SERVER")
msft.get_capital_gains(proxy="PROXY_SERVER")
msft.get_balance_sheet(proxy="PROXY_SERVER")
msft.get_cashflow(proxy="PROXY_SERVER")
msft.option_chain(..., proxy="PROXY_SERVER")
证券宝baostock
http://baostock.com/
证券宝www.baostock.com是一个免费、开源的证券数据平台(无需注册)。
提供大量准确、完整的证券历史行情数据、上市公司财务数据等。
通过python API获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。
返回的数据格式:pandas DataFrame类型,以便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
同时支持通过BaoStock的数据存储功能,将数据全部保存到本地后进行分析。
支持语言:目前版本BaoStock.com目前只支持Python3.5及以上(暂不支持python 2.x)。
持续更新:BaoStock.com还在不断的完善和优化,后续将逐步增加港股、期货、外汇和基金等方面的金融数据,为成为一个免费金融数据平台努力。
分享优化:请通过微信、网站博客或者知乎文章等方式分享给大家,使它能在大家的使用过程中逐步得到改进与提升,以便于更好地为大家提供免费服务。
平台麦克:证券宝BaoStock.com从发布到现在,已经帮助很多用户在数据方面减轻了工作量,同时也得到很多用户的反馈。它将一如既往的以免费、开源的形式分享出来,希望给有需要的朋友带来一些帮助。
联系方式:服务QQ群:873161321(发布维护、量化投资讨论);EMail:baostock@163.com。
下载安装
方式1:pip install baostock
必盈数据
https://www.biyingapi.com/
API文档:https://ad.biyingapi.com/apidoc.html
数据分类标准:https://www.biyingapi.com/licencelt.html
第一步 申请证书
为保证用户隐私,申请必盈数据licence证书无需注册用户可直接申请,必盈数据licence接口证书分为免费版、包月版、包年版、黄金版、白金版、钻石版共计6个版本,各个版本的详情说明请至证书获取页面查阅申请。
第二步 查看API文档
您需要根据自己对于数据接口的实际需求,查阅对应的API文档,了解API接口的说明、规则、链接,以及API接口所提供的数据字段说明情况。您可以在PostMan软件中测试接口,亦可直接在谷歌浏览器中测试所有API接口。
第三步 接入API
您需要根据自己的实际开发需求,对照API开发文档,接入自己的应用即可。
二、宏观数据
提供银行和政府公布的利率数据,日度更新。目前主要数据有以下几种:
利率数据
Shibor利率
官方数据:www.shibor.org
import tushare as ts
ts.set_token('your token here')
pro = ts.pro_api()
df = pro.shibor(start_date='20180101', end_date='20181101')
#数据样例
date on 1w 2w 1m 3m 6m 9m 1y
0 20181101 2.5470 2.6730 2.6910 2.6960 2.9760 3.2970 3.5040 3.5500
1 20181031 2.3700 2.7150 2.7300 2.6890 2.9630 3.2980 3.5040 3.5500
2 20181030 1.5660 2.5980 2.6400 2.6630 2.9570 3.2950 3.5010 3.5500
LPR贷款基础利率
pro = ts.pro_api()
df = pro.shibor_lpr(start_date='20180101', end_date='20181130')
#数据样例
date 1y
0 20181130 4.31
1 20181129 4.31
2 20181128 4.31
Libor利率
pro = ts.pro_api()
df = pro.libor(curr_type='USD', start_date='20180101', end_date='20181130')
#数据样例
date curr_type on 1w 1m 2m 3m 6m \
0 20181130 USD 2.17750 2.22131 2.34694 2.51006 2.73613 2.89463
1 20181129 USD 2.18275 2.22881 2.34925 2.51125 2.73813 2.88519
2 20181128 USD 2.18250 2.22450 2.34463 2.49500 2.70663 2.88663
Hibor利率
df = pro.hibor(start_date='20180101', end_date='20181130')
#数据样例
date on 1w 2w 1m 2m 3m 6m \
0 20181130 1.52500 1.10125 1.08000 1.20286 1.83030 2.03786 2.32821
1 20181129 0.76143 0.95643 1.01036 1.12357 1.80493 2.01018 2.31643
2 20181128 0.66786 0.95607 0.99929 1.10964 1.77104 1.97643 2.30143
宏观数据
货币供应量
df = pro.cn_m(start_m='201901', end_m='202003')
#获取指定字段
df = pro.cn_m(start_m='201901', end_m='202003', fields='month,m0,m1,m2')
#数据样例
#
month m0 m0_yoy m0_mom m1 m1_yoy m1_mom m2 m2_yoy m2_mom
0 202003 83000.00 10.80 -5.90 575100.00 5.00 4.05 2080900.00 10.10 2.47
1 202002 88200.00 10.90 -5.36 552700.00 4.80 1.32 2030800.00 8.80 0.38
2 202001 93200.00 6.60 20.73 545500.00 0.00 -5.30 2023100.00 8.40 1.84
GDP数据
pro = ts.pro_api()
df = pro.cn_gdp(start_q='2018Q1', end_q='2019Q3')
#获取指定字段
df = pro.us_tycr(start_q='2018Q1', end_q='2019Q3', fields='quarter,gdp,gdp_yoy')
#数据样例
quarter gdp gdp_yoy pi pi_yoy si si_yoy ti ti_yoy
0 2019Q4 990865.1000 6.10 70466.7000 3.10 386165.3000 5.70 534233.1000 6.90
1 2019Q3 712845.4000 6.20 43005.0000 2.90 276912.5000 5.60 392927.9000 7.00
2 2019Q2 460636.7000 6.30 23207.0000 3.00 179122.1000 5.80 258307.5000 7.00
居民消费价格指数(CPI)
pro = ts.pro_api()
df = pro.cn_cpi(start_m='201801', end_m='201903')
#获取指定字段
df = pro.us_cpi(start_q='201801', end_q='201903', fields='month,nt_val,nt_yoy')
#数据样例
month nt_val nt_yoy nt_mom nt_accu town_val town_yoy town_mom town_accu cnt_val cnt_yoy cnt_mom cnt_accu
0 201903 102.30 2.30 -0.40 101.80 102.30 2.30 -0.40 101.90 102.30 2.30 -0.30 101.80
1 201902 101.50 1.50 1.00 101.60 101.50 1.50 1.00 101.60 101.40 1.40 0.90 101.50
工业生产者出厂价格指数(PPI)
pro = ts.pro_api()
df = pro.cn_ppi(start_m='201905', end_m='202005')
#获取指定字段
df = pro.cn_ppi(start_m='201905', end_m='202005', fields='month,ppi_yoy,ppi_mom,ppi_accu')
#数据样例
month ppi_yoy ppi_mom ppi_accu
0 202005 -3.70 -0.40 -1.70
1 202004 -3.10 -1.30 -1.20
2 202003 -1.50 -1.00 -0.60
三、债券数据
债券基础信息
和讯网银行间债券数据
http://bond.money.hexun.com/quote/bondtype/gzyh.aspx
和讯网交易所市场债券数据
http://bond.money.hexun.com/quote/bondtype/gzsh.aspx
个债资料
http://bond.money.hexun.com/all_bond/030004_gz.shtml
AKSHARE获取债券市场数据
1. 现券市场报价行情(AKSHARE)
- 现券市场报价行情
接口: bond_spot_quote
https://www.akshare.xyz/zh_CN/latest/data/bond/bond.html
目标地址: http://www.chinamoney.com.cn/chinese/mkdatabond/
描述: 提供中国外汇交易中心暨全国银行间同业拆借中心-市场数据-市场行情-债券市场行情-现券市场报价行情
限量: 单次返回所有数据
bond_quote = ak.bond_spot_quote()
print(bond_quote)
债券简称 报价机构 买入/卖出净价(元) 买入/卖出收益率(%)
0 17附息国债04 上海银行 101.26 / 103.01 3.1717 / 2.8601
1 20附息国债11 中金公司 99.51 / 99.97 2.9500 / 2.6550
2 19附息国债15 摩根大通银行 98.17 / 99.61 3.3700 / 3.1800
3 20附息国债03 摩根大通银行 98.47 / 98.91 2.9700 / 2.7600
4 19附息国债16 摩根大通银行 99.36 / 100.37 3.2400 / 3.0500
这个结果可读性不高,而且数字没有分离,我自己写了以下代码重构一个bond_quote_new 代替bond_quote
price_buy = []
price_sell = []
for i in bond_quote['买入/卖出净价(元)']:
data=i.split('/')
if data[0].strip() == '---':
price_buy.append('')
else:
price_buy.append(float(data[0].strip()))
if data[1].strip() == '---':
price_sell.append('')
price_sell.append(float(data[1].strip()))
yield_buy = []
yield_sell = []
for i in bond_quote['买入/卖出收益率(%)']:
data=i.split('/')
if data[0].strip() == '---':
yield_buy.append('')
else:
yield_buy.append(float(data[0].strip()))
if data[1].strip() == '---':
yield_sell.append('')
else:
yield_sell.append(float(data[1].strip()))
bond_quote_new = bond_quote[['债券简称','报价机构']]
bond_quote_new['买入净价']=price_buy
bond_quote_new['卖出净价']=price_sell
bond_quote_new['买入收益率']=yield_buy
bond_quote_new['卖出收益率']=yield_sell
注意处理bond_quote空值'---':
bond_quote_new[bond_quote_new['买入收益率']=='']
Out[]:
债券简称 报价机构 买入净价 卖出净价 买入收益率 卖出收益率
3798 18建元21A2_bc 中金公司 60.82 64.82
最终得到:
bond_quote_new
Out[51]:
债券简称 报价机构 买入净价 卖出净价 买入收益率 卖出收益率
0 19农发08 上海银行 100.68 101.26 3.49 3.375
1 20光大银行CD121 开发银行 98.14 98.21 2.8498 2.5506
2 20交通银行CD062 开发银行 97.86 97.97 2.95 2.6507
3 20交通银行CD051 开发银行 97.99 98.08 2.9099 2.6106
4 20交通银行CD046 开发银行 98.06 98.14 2.8999 2.6005
... ... ... ... ... ...
4843 20华夏银行CD404 第一创业 97.68 97.96 3.16 2.66
4844 20光大银行CD275 第一创业 97.68 97.96 3.16 2.66
4845 20华夏银行CD408 第一创业 96.85 97.26 3.2401 2.74
4846 20华夏银行CD433 第一创业 96.85 97.27 3.24 2.74
4847 20中国银行CD092 第一创业 97.68 97.96 3.1499 2.65
2. 现券市场成交行情(AKSHARE)
接口: bond_spot_deal
目标地址: http://www.chinamoney.com.cn/chinese/mkdatabond/
描述: 提供中国外汇交易中心暨全国银行间同业拆借中心-市场数据-市场行情-债券市场行情-现券市场成交行情
限量: 单次返回所有即期数据
bond_deal = ak.bond_spot_deal()
print(bond_deal)
债券简称 成交净价(元) 最新收益率(%) 涨跌(BP) 加权收益率(%) 交易量(亿)
0 20附息国债12 100.44 3.7850 -1.50 3.7917 None
1 20附息国债16 100.40 3.2225 -0.69 3.2189 None
2 20农发06 99.70 2.6700 0.01 2.6700 None
3 20国开10 95.34 3.6800 -0.25 3.6761 None
4 20附息国债13 99.99 3.0200 -1.50 3.0233 None
米筐量化债券数据规范:
https://www.ricequant.com/
RQSDK 安装及配置:
RQSDK使用文档链接(必读):https://www.ricequant.com/doc/rqsdk
请参考以上文档安装RQSDK并配置许可证(License Key)。RQSDK默认包含RQData组件,无需额外安装及配置。 您可以根据需求进一步安装RQFactor、RQAlpha Plus及RQOptimizer,详见使用文档。请放心,安装过程非常简便快捷。
如何使用RQSDK产品的丰富功能:
以RQData为例,在您完成RQSDK的安装配置后,通过以下语句初始化RQData:
import rqdatac
rqdatac.init()
快速参考链接:
- RQData Python API文档:www.ricequant.com/doc/rqdata/python/
- RQOptimizer API文档:www.ricequant.com/doc/rqoptimizer/api/
- RQFactor使用文档:www.ricequant.com/doc/rqfactor/manual.html
- RQFactor API文档:www.ricequant.com/doc/rqfactor/api.html
- RQAlpha Plus使用教程:www.ricequant.com/doc/rqalpha-plus/tutorial.html
- RQAlpha Plus API文档:www.ricequant.com/doc/rqalpha-plus/api/
四、监管公开数据
1.文件名称:银行业金融机构法人名单**
数据源:银保监会官网
查询方法:登录 http://www.cbirc.gov.cn/ , 搜索框输入‘银行业金融机构法人名单’
http://www.cbirc.gov.cn/cn/view/pages/index/jiansuo.html?keyWords=银行业金融机构法人名单
数据样例:
2.外汇交易中心成员名单**
人民币外汇做市商
人民币外汇尝试做市机构
人民币外汇会员
外币对会员
外币货币市场会员
集中办理人民币购售名单
人民币外汇即期会员
人民币外汇远期会员
人民币外汇掉期会员
人民币外汇货币掉期会员
人民币外汇期权会员
债券通香港结算行
数据源:中国外汇交易中心
http://www.chinamoney.com.cn/chinese/mtmemfxmk/
数据样例:
3.中国票据交易系统参与者名单汇总表**
数据源:上海票据交易所
查询方法:登录 http://www.shcpe.com.cn , 搜索框输入‘系统参与者名单汇总表’
http://www.shcpe.com.cn/content/shcpe/index/search.html?keyword=系统参与者名单
数据样例:
4.《中国银行间市场金融衍生产品交易主协议(2009年版)》协议备案名单
数据源:中国银行间市场交易商协会
http://www.nafmii.org.cn/zlgl/scjy/xymd/201207/t20120706_80771.html
数据样例:
《票据交易主协议(2016年版)》
数据源:中国银行间市场交易商协会
http://www.nafmii.org.cn/zlgl/scjy/xymd/201701/t20170120_80773.html
数据样例:
5.中国公历/农历数据,年份(1901-2100)
数据来源:香港天文台
https://www.hko.gov.hk/tc/gts/time/conversion1_text.htm#
五、其他数据
大数据导航: https://hao.199it.com/
开放广东: https://gddata.gd.gov.cn/index