基础数据类型¶
日期时间¶
日期时间及其运算主要涉及 Datetime
,TimeDelta
。
两者及其相关运算规则可参考 python datetime 模块中的 datetime 和 timedelta 帮助, 并且两者可和 datetime、timedelta 相互转换,并直接进行运算操作。
TimeDelta 的运算规则基本与 datetime.timedelta 相同。
-
class
hikyuu.
Datetime
¶ 日期时间类(精确到微秒),通过以下方式构建:
- 通过字符串:Datetime(“2010-1-1 10:00:00”)、Datetime(“2001-1-1”)、Datetime(“20010101”)、Datetime(“20010101T232359)
- 通过 Python 的date:Datetime(date(2010,1,1))
- 通过 Python 的datetime:Datetime(datetime(2010,1,1,10)
- 通过 YYYYMMDDHHMM 或 YYYYMMDD 形式的整数:Datetime(201001011000)、Datetime(20010101)
- Datetime(year, month, day, hour=0, minute=0, second=0, millisecond=0, microsecond=0)
获取日期列表参见:
getDateRange()
获取交易日日期参见:
StockManager.getTradingCalendar()
-
year 年,如果是 Null 将抛出异常
-
month 月,如果是 Null 将抛出异常
-
day 日,如果是 Null 将抛出异常
-
hour 时,如果是 Null 将抛出异常
-
minute 分,如果是 Null 将抛出异常
-
second 秒,如果是 Null 将抛出异常
-
millisecond 毫秒,如果是 Null 将抛出异常
-
microsecond 微秒,如果是 Null 将抛出异常
-
number YYYYMMDDHHMM 形式的整数,精度只到分钟
-
date
(self)¶ 转化生成 python 的 date
-
datetime
(self)¶ 转化生成 python 的datetime
-
is_null
(self)¶ 是否是Null值, 即是否等于 constant.null_datetime
-
__add__
(self, td)¶ 加上指定时长,时长对象可为 TimeDelta 或 datetime.timedelta 类型
参数: td (TimeDelta) – 时长 返回类型: Datetime
-
__sub__
(self, td)¶ 减去指定的时长, 时长对象可为 TimeDelta 或 datetime.timedelta 类型
参数: td (TimeDelta) – 指定时长 返回类型: Datetime
-
day_of_week
(self)¶ 返回是一周中的第几天,周日为0,周一为1
返回类型: int
-
date_of_week
(self, day)¶ 返回指定的本周中第几天的日期,周日为0天,周六为第6天
参数: day (int) – 指明本周的第几天,如小于则认为为第0天,如大于6则认为为第6天 返回类型: Datetime
-
day_of_year
(self)¶ 返回一年中的第几天,1月1日为一年中的第1天
返回类型: int
-
start_of_day
(self)¶ 返回当天 0点0分0秒
-
end_of_day
(self)¶ 返回当日 23点59分59秒
-
start_of_week
(self)¶ 返回周起始日期(周一)
-
end_of_week
(self)¶ 返回周结束日期(周日)
-
start_of_month
(self)¶ 返回月度起始日期
-
end_of_month
(self)¶ 返回月末最后一天日期
-
start_of_quarter
(self)¶ 返回季度起始日期
-
end_of_quarter
(self)¶ 返回季度结束日期
-
start_of_halfyear
(self)¶ 返回半年度起始日期
-
end_of_halfyear
(self)¶ 返回半年度结束日期
-
start_of_year
(self)¶ 返回年度起始日期
-
end_of_year
(self)¶ 返回年度结束日期
-
next_day
(self)¶ 返回下一自然日
-
next_week
(self)¶ 返回下周周一日期
-
next_month
(self)¶ 返回下月首日日期
-
next_quarter
(self)¶ 返回下一季度首日日期
-
next_halfyear
(self)¶ 返回下一半年度首日日期
-
next_year
(self)¶ 返回下一年度首日日期
-
pre_day
(self)¶ 返回前一自然日日期
-
pre_week
(self)¶ 返回上周周一日期
-
pre_month
(self)¶ 返回上月首日日期
-
pre_quarter
(self)¶ 返回上一季度首日日期
-
pre_halfyear
(self)¶ 返回上一半年度首日日期
-
pre_year
(self)¶ 返回上一年度首日日期
-
static
max
()¶ 获取支持的最大日期时间
-
static
min
()¶ 获取支持的最小日期时间
-
static
now
()¶ 获取当前的日期时间
-
static
today
()¶ 获取当前的日期
-
class
hikyuu.
TimeDelta
¶ 时间时长,用于时间计算。可通过以下方式构建:
通过 datetime.timedelta 构建。TimdeDelta(timedelta实例)
TimeDelta(days=0, hours=0, minutes=0, seconds=0, milliseconds=0, microseconds=0)
- -99999999 <= days <= 99999999
- -100000 <= hours <= 100000
- -100000 <= minutes <= 100000
- -8639900 <= seconds <= 8639900
- -86399000000 <= milliseconds <= 86399000000
- -86399000000 <= microseconds <= 86399000000
以上参数限制,主要为防止求总微秒数时可能出现溢出的情况。如只使用一个参数不希望存在上述限制时,可使用快捷函数:
Days()
,Hours()
,Minutes()
,Seconds()
,Milliseconds()
,Microseconds()
-
days 天数 [-99999999, 99999999]
-
hours 小时数 [0, 23]
-
minutes 分钟数 [0, 59]
-
seconds 秒数 [0, 59]
-
milliseconds 毫秒数 [0, 999]
-
microseconds 微秒数 [0, 999]
-
ticks 同总微秒数
-
isNegative
(self)¶ 是否为负时长
返回类型: bool
-
total_days
(self)¶ 获取带小数的总天数
返回类型: float
-
total_hours
(self)¶ 获取带小数的总小时数
返回类型: float
-
total_minutes
(self)¶ 获取带小数的总分钟数
返回类型: float
-
total_seconds
(self)¶ 获取带小数的总秒数
返回类型: float
-
total_milliseconds
(self)¶ 获取带小数的总毫秒数
返回类型: float
-
static
max
()¶ 支持的最大时长
返回: TimeDelta(99999999, 23, 59, 59, 999, 999)
-
static
min
()¶ 支持的最小时长
返回: TimeDelta(-99999999, 0, 0, 0, 0, 0)
-
static
resolution
()¶ 支持的最小精度
返回: TimeDelta(0, 0, 0, 0, 0, 1)
-
static
max_ticks
()¶ 支持的最大 ticks (即微秒数)
返回类型: int
-
static
min_ticks
()¶ 支持的最小 ticks (即微秒数)
返回类型: int
K线数据¶
-
class
hikyuu.
KRecord
¶ K线记录,组成K线数据,属性可读写。
-
datetime : 日期时间
-
open : 开盘价
-
high : 最高价
-
low : 最低价
-
close : 收盘价
-
amount : 成交金额
-
volume : 成交量
-
-
class
hikyuu.
KData
¶ 通过 Stock.get_kdata 获取的K线数据,由 KRecord 组成的数组,可象 list 一样进行遍历
-
start_pos
¶ 获取在原始K线记录中对应的起始位置,如果KData为空返回0
-
last_pos
¶ 获取在原始K线记录中对应的最后一条记录的位置,如果为空返回0,其他等于endPos - 1
-
end_pos
¶ 获取在原始K线记录中对应范围的下一条记录的位置,如果为空返回0,其他等于lastPos + 1
-
get_datetime_list
()¶ 返回交易日期列表
返回类型: DatetimeList
-
get_pos_in_stock
(datetime)¶ 获取指定时间对应原始 K 线中的索引位置
参数: datetime (Datetime) – 指定的时间 返回: 对应的索引位置,如果不在数据范围内,则返回 None
-
empty
()¶ 判断是否为空
返回类型: bool
-
tocsv
(filename)¶ 将数据保存至CSV文件
参数: filename (str) – 指定保存的文件名称
-
to_np
()¶ 转化为numpy结构数组
返回类型: numpy.array
-
to_df
()¶ 转化为pandas的DataFrame
返回类型: pandas.DataFrame
-