大家都是如何获取期货数据怎么看的,都什么意思交易需要的数据?比较全面的那种

简介数据是机器学习的核心,garbage in garbage out,而金融数据是量化的基础,对数据提出了更高的要求。不仅是数据准确高速(稳定),而且要求数据丰富全面。金融数据考虑到金融数据非常丰富,能快速入门,降低门槛,因此,本专栏仅对国内A股金融数据入手,熟悉整个量化流程。公开的金融数据可以通过平台API的方式或爬虫抓取的方式获得,也不排除收费的金融平台提供高质量数据。数据平台目前国内数据平台主流有以下几个,BaoStock,tushare,akshare,efina 下面分别讲解各平台优缺点,以及使用方法。为了便于以后的使用说明,将所有的数据保存为本地csv格式。baostock (证券宝)官方网址:http://www.baostock.com/Baostock 是 一个免费、开源的证券数据平台(无需注册)。完整的证券历史行情数据、上市公司财务数据。python API 方式,数据返回格式pandas DataFrame类型优点是免费,缺点是数据不全安装默认安装pip install baostock --upgrade
国内安装pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
使用以下以日K线为例,官方文档的内容,值得注意的事,下面的代码是老版本,新版本可以提升速度。
获取历史A股K线数据:query_history_k_data_plus()方法说明:通过API接口获取A股历史交易数据,可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。返回类型:pandas的DataFrame类型。能获取1990-12-19至当前时间的数据;可查询不复权、前复权、后复权数据。
import baostock as bs
import pandas as pd
#### 登陆系统 ####
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond
error_msg:'+lg.error_msg)
#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
start_date='2017-07-01', end_date='2017-12-31',
frequency="d", adjustflag="3")
print('query_history_k_data_plus respond error_code:'+rs.error_code)
print('query_history_k_data_plus 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_A_stock_k_data.csv", index=False)
print(result)
#### 登出系统 ####
bs.logout()
====================================以下为修改后的新版本,并精简一些打印信息。import baostock as bs
import pandas as pd
#### 登陆系统 ####
lg = bs.login()
# 显示登陆返回信息
#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
start_date='2000-01-01', end_date='2023-3-1',
frequency="d", adjustflag="1")
### 直接获得 DataFrame对象
result= rs.get_data()
#### 结果集输出到csv文件 ####
result.to_csv("./data/sh.600000.csv", index=False)
print(result)
#### 登出系统 ####
bs.logout()
小伙伴,先不要急着执行上面的代码,先把上面的修改部分的代码,作一下说明。
参数含义: 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:前复权。已支持分钟线、日线、周线、月线前后复权。BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介或者BaoStock复权因子简介。
修改了 start 和 end ,这里的时间格式就行,如“2020-01-01” 和 “2023-3-1” 都没有问题;修改了 adjustflag=“1” 即修改为向后复权,为什么要选择“后复权”?如果采用“前复权”,最大好处,可以很直观的看到当前真实价格,但之前的数据可能会出负值,同时,一旦除权,需要重新采集数据。若采用“后复权”的方式,以后获得新数据可以追加的方式进行,减少维护成本;将 while 循环修改为 get_data() 对象,这句话是提升效率关键,之前版本没有,后来新增;另外要注意,baostock 原始数据包含停牌记录,而backtrader不需要停牌记录,所以以上程序中要删除停牌记录。
关于复权数据的说明:BaoStock使用“涨跌幅复权法”进行复权,详细说明参考上文“复权因子简介”。不同系统间采用复权方式可能不一致,导致数据不一致。“涨跌幅复权法的”优点:可以计算出资金收益率,确保初始投入的资金运用率为100%,既不会因为分红而导致投资减少,也不会因为配股导致投资增加。与同花顺、通达信等存在不同。
不同来源的复权数据有时候不一致,tushare 和baostock中600000浦发银行在2006年5月12日的后复权收盘价相差4元多,大家要自己评估哪个是正确的。baostock 是16. 18,tushare 是21. 03,而雪球网站上是21. 03,同花顺软件里是20.75。官方baostock的后复权是分红再投,其他软件后复权都是现金分红,用同花顺选择红利再投资,结果和baostock一致。如果是这样,那么这种方法是可以接受的。根据baostock文档,它采用涨跌幅复权法,假设投资者在除权日前一天卖出全部的股票,然后在除权日用全部资金以昨收盘价买回,即不参加分配。这样的假设基于如下目的,确保初始投入的资金100%得到使用,既不会因为分红而导致投资减少,也不会因为配股而导致投资增加。返回数据说明参数名称参数描述算法说明date交易所行情日期code证券代码open开盘价high最高价low最低价close收盘价preclose前收盘价当日发生除权除息时,“前收盘价”不是前一天的实际收盘价,而是根据股权登记日收盘价与分红现金的数量、配送股的数里和配股价的高低等结合起来算出来的价格。volume成交量(累计 单位:股)amount成交额(单位:人民币元)adjustflag复权状态(1:后复权, 2:前复权,3:不复权)turn换手率[指定交易日的成交量(股)/指定交易日的股票的流通股总股数(股)]*100%tradestatus交易状态(1:正常交易 0:停牌)pctChg涨跌幅(百分比)日涨跌幅=[(指定交易日的收盘价-指定交易日前收盘价)/指定交易日前收盘价]*100%peTTM滚动市盈率(指定交易日的股票收盘价/指定交易日的每股盈余TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/归属母公司股东净利润TTMpbMRQ市净率(指定交易日的股票收盘价/指定交易日的每股净资产)=总市值/(最近披露的归属母公司股东的权益-其他权益工具)psTTM滚动市销率(指定交易日的股票收盘价/指定交易日的每股销售额)=(指定交易日的股票收盘价*截至当日公司总股本)/营业总收入TTMpcfNcfTTM滚动市现率(指定交易日的股票收盘价/指定交易日的每股现金流TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/现金以及现金等价物净增加额TTMisST是否ST股,1是,0否tushare官方网址:https://www.tushare.pro/一个半收费的数据平台,下载数据需要token。数据丰富:拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据获取简单:SDK开发包支持语言,同时提供HTTP Restful接口,最大程度方便不同人群的使用落地方便: 提供多种数据储存方式,如Oracle、MySQL,MongoDB、HDF5、CSV等,为数据获取提供了性能保证tushare pro 在原来老版的基础上升级的,老版api只提供基础日线数据。tushare pro现金积分充值比例是1:10,比如充值50获取500积分,积分有效期一年, 使用数据积分不减少。A股数据2000积分可以使用,但限频次,每分钟限200次请求,每天限10w次api请求。 港美股日线需至少5000积分。安装默认安装pip install tushare--upgrade
国内安装pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host=mirrors.aliyun.com
--upgrade
使用import tushare as ts
pro = ts.pro_api('6a0899533f8a5996f738183dbdf63c0afb3fcc931f08e1233575a339') #token,请注册后替换为自己的token。
df = pro.daily(ts_code='600000.SH', adj='hfq', start_date='20000101', end_date='20230301')
#颠倒顺序,使得按日期升序排。backtrader要求日期升序
df.sort_index(inplace=True, ascending=False)
print('Tushare行情获取\n',df)
df.to_csv("./data/sh.600000tuhfq.csv", index=False)
值得注意的是按日期降序排列的,所以以上代码把它转换了一下,使得按日期升序排列,以符合backtrader的要求。另外,获取的数据应该是后复权的(参数adj=‘hfq’),这样保证数据的一致性。以下是返回数据格式。比 Baostock 要少好几列。ts_codetrade_dateopenhighlowclosepre_closechangepct_chgvolamount5492600000.SH2000010424.9825.7824.7525.5724.750.823.310044961.00113946.7835491600000.SH2000010525.5725.9825.1525.2825.57-0.29-1.130052528.00134465.4275490600000.SH2000010625.1826.3025.0525.9925.280.712.810062297.00160059.7985489600000.SH2000010726.3027.5026.1226.9025.990.913.5000213553.00575751.0825488600000.SH2000011027.0027.8526.7127.2526.900.351.3000165397.00450453.518………………………………akshare官方网址:https://github.com/akfamily/akshare基于 Python 的财经数据接口库, 目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具。akshare api接口变动较频繁,数据格式不通用安装默认安装pip install akshare --upgrade
国内安装pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
--upgrade
使用import akshare as ak
df = ak.stock_zh_a_hist(symbol="300750", period="daily", start_date="20210101", end_date='20220715', adjust="qfq")
print('AKshare行情获取\n',df)
日期开盘收盘最高最低成交量成交额振幅涨跌幅涨跌额换手率02000-01-0424.9825.5725.7824.7544960113946000.04.163.310.821.4112000-01-0525.5725.2825.9825.1552528134465000.03.25-1.13-0.291.6422000-01-0625.1825.9926.3025.0562296160059000.04.942.810.711.9532000-01-0726.3026.9027.5026.12213553575751000.05.313.500.916.6742000-01-1027.0027.2527.8526.71165397450453000.04.241.300.355.17………………………………这个返回的字段是中文的。‘日期’, ‘开盘’, ‘收盘’, ‘最高’, ‘最低’, ‘成交量’, ‘成交额’, ‘振幅’, ‘涨跌幅’, ‘涨跌额’, ‘换手率’其他平台yfinace – yahoo财经数据获取,需要使用代理访问。easyquotation-- python实时获取新浪/腾讯的全市场行情,无法获取历史数据efinance – 用于获取股票、基金、期货、债券数据的免费开源 Python 库。总结上述三个平台均可以满足我们入门级需求,根据个人喜好进行选择,如后续想对基金,期货做量化研究,不建议使用 baostock;专栏仅仅是A股,因此就选择 baostock 工具进行研究。小伙伴们肯定不会仅仅研究一两支股票,如进行选股操作,因此需要下载大量的本地数据,所以这里有两种方式,一种下载保存为 csv 格式文件;另一种方式,用数据库的方式保存。下一节,我将带大家学习保存数据的两种方式。
datahub 是一个基于 Python 的金融数据工具包。提供落地历史数据库和实时数据。目前数据的获取有两种方案:直接通过网盘下载,数据放在datahub目录中,适合只是做点尝试和测试的同学通过 Rsync 从远程服务器拉取数据,定时同步数据(只面向参与项目共建的小伙伴和付费用户)研究数据下载地址:链接: https://pan.baidu.com/s/1nCZIXFtG7Hoe7OvXs1uknA?pwd=n2ru 提取码: n2ru数据存储格式为parquet,使用方式请查看pyarrow 或者 researchub 中的案例。实时交易数据:如有需求,请小窗联系datahub 提供的每日更新的数据包括:国内数据:期货数据/future元数据/meta交易日信息/trading_date_info字段数据类型含义trading_dateDateTime64(3)交易日商品信息/symbol_info字段数据类型含义symbolString交易品种multiplierInt64合约乘数exchange_tqString天勤交易所合约代码exchange_ctpStringctp交易所合约代码合约信息/contract_info字段数据类型含义contractString合约名称symbolString交易品种exchangeString交易所代码multiplierFloat64合约乘数trading_hourString交易时间段listing_dateDateTime64(3)上市日期delisting_dateDateTime64(3)退市日期行情数据/md日行情数据/all_1d字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种contractString合约名称open_interestFloat64持仓量closeFloat64收盘价openFloat64开盘价turnoverFloat64成交额pre_settlementFloat64昨日结算价settlementFloat64结算价down_limitFloat64跌停价highFloat64最高价up_limitFloat64涨停价volumeFloat64成交量lowFloat64最低价pre_closeFloat64昨日收盘价主力合约切换表/main_roll_calendar字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种o_mString当日主力合约,按照持仓量最大选择,单调,切换主力合约后,不再考虑旧主力合约o_nmString当日主力合约,按照持仓量最大选择,非单调,切换主力合约后,仍然考虑旧主力合约v_mString当日主力合约,按照成交量最大选择,单调,切换主力合约后,不再考虑旧主力合约v_nmString当日主力合约,按照成交量最大选择,非单调,切换主力合约后,仍然考虑旧主力合约切片行情数据/throttled_data30分钟数据/all_30m字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种contractString合约名称open_interestFloat64持仓量closeFloat64收盘价openFloat64开盘价turnoverFloat64成交额volumeFloat64成交量lowFloat64最低价5分钟数据/all_5m字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种contractString合约名称open_interestFloat64持仓量closeFloat64收盘价openFloat64开盘价turnoverFloat64成交额volumeFloat64成交量lowFloat64最低价1分钟数据/all_1m字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种contractString合约名称open_interestFloat64持仓量closeFloat64收盘价openFloat64开盘价turnoverFloat64成交额volumeFloat64成交量lowFloat64最低价tick数据(2笔/s)/all_tick字段数据类型含义trading_dateDateTime64(3)交易日datetimeDateTime64(3)交易时间symbolString交易品种contractString合约名称openFloat64开盘价highFloat64最高价lowFloat64最低价pre_closeFloat64昨日收盘价open_interestFloat64持仓量pre_settlementFloat64昨日结算价settlementFloat64结算价turnoverFloat64成交额volumeFloat64成交量up_limitFloat64涨停价down_limitFloat64跌停价last_priceFloat64收盘价bid_price1Float64买一价bid_vol1Float64买一量ask_price1Float64卖一价ask_vol1Float64卖一量bid_price2Float64买二价bid_vol2Float64买二量ask_price2Float64卖二价ask_vol2Float64卖二量bid_price3Float64买三价bid_vol3Float64买三量ask_price3Float64卖三价ask_vol3Float64卖三量bid_price4Float64买四价bid_vol4Float64买四量ask_price4Float64卖四价ask_vol4Float64卖四量bid_price5Float64买五价bid_vol5Float64买五量ask_price5Float64卖五价ask_vol5Float64卖五量委托信息/quote_dataorderbook逐笔委托数据具体到某个账户的订单数据交易数据/trade期货会员持仓数据/memeber_position_info字段数据类型含义字段数据类型含义trading_dateDateTime64(3)交易日contractString合约名称rank_typeString排名方式rank_valueint64排名序号member_nameString会员名称member_open_interestString会员持仓member_open_interest_changeInt64会员持仓变化大客户持仓数据指数数据/index大宗商品指数blablabla ~另类数据/alternative交割库存数据字段数据类型含义trading_dateDateTime64(3)交易日symbolString交易品种warehouse_nameString交割仓库名warehouse_receipt_numberint64库存unitString单位warehouse_receipt_number_changeFloat64库存变化现货价格数据现货库存数据现货上下游数据股票数据/stock元数据/meta交易日信息/trading_date_info字段数据类型含义trading_dateDateTime64(3)交易日上市公司的基本信息/code_info字段数据类型含义codeString证券代码trading_dateDateTime64(3)交易日nameString证券名称exchangeString交易所listing_dateString上市日期delisting_dateString退市日期上市公司的分类信息中信二级行业分类股票交易所的基本规则行情数据/md日行情数据/all_1d字段数据类型含义trading_dateDateTime64(3)交易日期codeString证券代码highFloat64最高价openFloat64开盘价lowFloat64最低价closeFloat64收盘价volumeFloat64成交量turnoverFloat64成交额trade_numFloat64交易笔数pre_closeFloat64昨日收盘价up_limitFloat64涨停价down_limitFloat64涨停价复权因子数据/adjust_factor字段数据类型含义divid_operate_dateDateTime64(3)除权日codeString证券代码qfq_factorFloat64前复权因子hfq_factorFloat64后复权因子切片行情数据/throttled_data30分钟数据/all_30m字段数据类型含义trading_dateDateTime64(3)交易日期codeString证券代码highFloat64最高价openFloat64开盘价lowFloat64最低价closeFloat64收盘价volumeFloat64成交量turnoverFloat64成交额trade_numFloat64交易笔数5分钟数据/all_5m字段数据类型含义trading_dateDateTime64(3)交易日期codeString证券代码highFloat64最高价openFloat64开盘价lowFloat64最低价closeFloat64收盘价volumeFloat64成交量turnoverFloat64成交额trade_numFloat64交易笔数1分钟数据/all_1m字段数据类型含义trading_dateDateTime64(3)交易日期codeString证券代码highFloat64最高价openFloat64开盘价lowFloat64最低价closeFloat64收盘价volumeFloat64成交量turnoverFloat64成交额trade_numFloat64交易笔数tick数据(2笔/s)/all_tick字段数据类型含义trading_dateDateTime64(3)交易日datetimeDateTime64(3)交易时间codeString股票代码openFloat64开盘价highFloat64最高价lowFloat64最低价pre_closeFloat64昨日收盘价turnoverFloat64成交额volumeFloat64成交量up_limitFloat64涨停价down_limitFloat64跌停价last_priceFloat64收盘价bid_price1Float64买一价bid_vol1Float64买一量ask_price1Float64卖一价ask_vol1Float64卖一量bid_price2Float64买二价bid_vol2Float64买二量ask_price2Float64卖二价ask_vol2Float64卖二量bid_price3Float64买三价bid_vol3Float64买三量ask_price3Float64卖三价ask_vol3Float64卖三量bid_price4Float64买四价bid_vol4Float64买四量ask_price4Float64卖四价ask_vol4Float64卖四量bid_price5Float64买五价bid_vol5Float64买五量ask_price5Float64卖五价ask_vol5Float64卖五量委托信息/quote_dataorderbook逐笔委托数据具体到某个账户的订单数据交易数据/trade股票每日资金流入流出数据股票融资融券数据公募基金持仓数据私募基金持仓数据沪深港通每日额度数据北向资金持仓明细数据北向资金实时资金流向龙虎榜数据指数数据/index指数成分/index_component_info字段数据类型含义trading_dateString交易日期codeString证券代码code_nameString证券名称index_codeString指数名称
2. 指数行情
3. 升贴水数据中证500指数成分股每日权重指数价格升贴水数据上证50指数行业指数另类数据/alternative上市公司财务信息上市公司公告/快报上市公司分红数据大宗交易信息十大流通股东信息十大股东信息热点/舆情信息电商数据新闻分析数据基金数据/fund元数据/meta各公募基金的基本信息基金风格/类型数据行情数据/md日数据/daily_data每日净值数据每日规模数据交易数据/trade1.基金持仓信息另类数据/alternative基金评级信息基金费率信息期权数据/option元数据/meta期权合约基本信息行情数据/md日行情数据/daily_data切片行情数据/throttled_data30分钟数据/min305分钟数据/min51分钟数据/min1tick数据(2笔/s)委托信息/quote_dataorderbook逐笔委托数据债券数据/bond银行间拆借利率新加坡数据:期货数据/future元数据/meta商品期货的基本信息交易所的基本规则行情数据/md日行情数据/daily_data指数数据/index大宗商品指数blablabla ~国际数据:加密货币数据元数据/meta商品期货的基本信息交易所的基本规则行情数据/md日行情数据/daily_data切片行情数据/throttled_data30分钟数据/min305分钟数据/min51分钟数据/min1tick数据(2笔/s)委托信息/quote_dataorderbook逐笔委托数据具体到某个账户的订单数据宏观经济数据外汇数据

我要回帖

更多关于 期货数据怎么看的,都什么意思 的文章