11.1 history( )函数

11.1 history( )函数


history( )函数可以查看一只股票或多只股票的历史行情数据,其语法格式如下:

需要注意的是,在获取天数据肘,不包括当天的数据,即使是在收盘后。

关于停牌: 因为获取了多只股票的数据,可能有的股票停牌,有的没有,为了保持时间铀的一致,默认没有跳过停牌的曰期,停牌时使用停牌前的数据填充。

11.1.1 各项参数的意义

history( )函数共有7 项,各项参数意义如下:

1. count

参数count ,表示数量,即返回的结果集的行数。

2. unit

参数unit ,表示单位肘阅长度,几天或者几分钟,即只支持"Xd" 和"Xm" ,其中X 是正整数。

"Xd" 表示具体几天,如10d ,表示单位时间长度为10 天。

"Xm"表示具体几分钟,如10m ,表示单位时间长度为10 分钟。

需要注意的是,当X>1时, fields 只支持[ "open" 、"close" 、"high" 、"low" 、"volume" 、"money"]这几个标准字段。

其中: open 表示时间段股票开始时的价格。

        close 表示时间段股票结束时的价格。

        high 表示时间段股票的最高价格。

        low 表示时间段股票的最低价格。

       volume 表示时间段股票的成交量。

       money 表示时间段股票的成交金额。

参数field ,表示获取的数据类型,支持SecurityUnitData 里面的所有

基本属性,包括[ "open" 、"close" , "low" 、"high" 、"volume" 、"money"factor" 、"high_limit" 、"low_limit" 、avg" 、"pre_close" 、"paused" ]。前面5 个字段的意义同参数山山,这里不再多说。下面来看一下其他字段的意义:

factor :前复权因子。

high_limit :涨停价。

low_limit :跌停价。

avg: 这段时间的平均价,等于money/volume 。

pre_close :前一个单位时间结束时的价格,按天则是前一天的收盘价,按分钟则是前一分钟的结束价格。

paused: 布尔值,用来判断股票是否停牌。需要注意的是,停牌肘

openiclose/low /high/pre一close 值依然存在,都等于停牌前的收盘价。而volume=money=0 。

4. security_list

参数security list ,用来获取数据的股票列表。如果其值为None ,表示查询context.unì verse 中所有股票的数据。context.uni verse 需要使用set_universe 进行设定,形如: set_universe([ ‘ 000001 .xSHE ' , ' 600000.XSHG' ]) 。

5. df

参数df 的值若是True ,返回pandas.DataFrame ,否则返回dict。参数df 的默认值为True 。

6. skip_paused

参数skip_paused 用来设置是否跳过不交易曰期(包括停牌、未上市或者退市后的日期)。如果不跳过,停牌时会使用停牌前的数据填充。上市前或者退市后数据都为nan。需要注意的是,该参数的默认为False ,即不跳过不交易曰期。

7. fq

参数fq 是复权选项。参数值设为"pre" ,表示前复权,为默认设置;参数值设为None ,表示不复权,返回实际价格;参数值设为"pos" ,表示后复权。

11.1.2 history()函数的应用实例

下面利用history()函数显示中国宝安( 000009 )最后5 个交易日每天的收盘价信息,代码如下:

下面同时显示多只股票的每天的收盘价信息,代码如下:

下面利用Print 函数显示平安银行(000001) 过去3 天的每天的开盘价格,代码如下:

前面的实例都是把df 设置为True ,返回的是pandas.DataFrame。下面把df 设置为False ,返回一个dict 对象。dict 对象的值是一个numpy 数组numpy.ndarray 。

创建一个Python3 文件,然后输入代码如下: