证券管理¶
构建K线查询条件¶
-
class
hikyuu.
Query
¶ K线数据查询条件,一般在Python中使用 Query 即可,不用指明 Query。
简化
Query.KType
枚举值- Query.DAY - 日线类型
- Query.WEEK - 周线类型
- Query.MONTH - 月线类型
- Query.QUARTER - 季线类型
- Query.HALFYEAR - 半年线类型
- Query.YEAR - 年线类型
- Query.MIN - 1分钟线类型
- Query.MIN5 - 5分钟线类型
- Query.MIN15 - 15分钟线类型
- Query.MIN30 - 30分钟线类型
- Query.MIN60 - 60分钟线类型
简化
Query.RecoverType
枚举值- Query.NO_RECOVER - 不复权
- Query.FORWARD - 前向复权
- Query.BACKWARD - 后向复权
- Query.EQUAL_FORWARD - 等比前向复权
- Query.EQUAL_BACKWARD - 等比后向复权
-
start
¶ 起始索引,当按日期查询方式创建时无效,为 constant.null_int64
-
end
¶ 结束索引,当按日期查询方式创建时无效,为 constant.null_int64
-
start_datetime
¶ 起始日期,当按索引查询方式创建时无效,为 constant.null_datetime
-
end_datetime
¶ 结束日期,当按索引查询方式创建时无效,为 constant.null_datetime
-
query_type
¶ 查询方式
-
ktype
¶ 查询的K线类型
-
recover_type
¶ 查询的复权类型
-
QueryType
¶ 查询方式定义
- DATE - 按日期方式查询
- INDEX - 按索引方式查询
-
KType
¶ K线类型枚举定义
- DAY - 日线类型
- WEEK - 周线类型
- MONTH - 月线类型
- QUARTER - 季线类型
- HALFYEAR - 半年线类型
- YEAR - 年线类型
- MIN - 1分钟线类型
- MIN5 - 5分钟线类型
- MIN15 - 15分钟线类型
- MIN30 - 30分钟线类型
- MIN60 - 60分钟线类型
-
RecoverType
¶ K线复权类别枚举定义
- NO_RECOVER - 不复权
- FORWARD - 前向复权
- BACKWARD - 后向复权
- EQUAL_FORWARD - 等比前向复权
- EQUAL_BACKWARD - 等比后向复权
StockManager/Block/Stock¶
-
class
hikyuu.
StockManager
¶ 证券信息管理类
-
static
instance
()¶ 获取StockManager单例实例
-
init
(self, baseInfoParam, blockParam, kdataParam, preloadParam, hkuParam)¶ 初始化
参数:
-
tmpdir
(self)¶ 获取用于保存零时变量等的临时目录,如未配置则为当前目录 由m_config中的“tmpdir”指定
-
datadir
(self)¶ 获取财务数据目录
-
get_market_list
(self)¶ 获取市场简称列表
返回类型: StringList
-
get_market_info
(self, market)¶ 获取相应的市场信息
参数: market (string) – 指定的市场标识(市场简称) 返回: 相应的市场信息,如果相应的市场信息不存在,则返回Null<MarketInfo>() 返回类型: MarketInfo
-
get_stock_type_info
(self, stk_type)¶ 获取相应的证券类型详细信息
参数: stk_type (int) – 证券类型,参见: constant
返回: 对应的证券类型信息,如果不存在,则返回Null<StockTypeInfo>() 返回类型: StockTypeInfo
-
get_stock
(self, querystr)¶ 根据”市场简称证券代码”获取对应的证券实例
参数: querystr (str) – 格式:“市场简称证券代码”,如”sh000001” 返回: 对应的证券实例,如果实例不存在,则Null<Stock>(),不抛出异常 返回类型: Stock
-
__getitem__
()¶ 同 get_stock
-
get_block
(self, category, name)¶ 获取预定义的板块
参数: - category (str) – 板块分类
- name (str) – 板块名称
返回: 板块,如找不到返回空Block
返回类型:
-
get_trading_calendar
(self, query[, market='SH'])¶ 获取指定市场的交易日日历
参数: - query (Query) – Query查询条件
- market (str) – 市场简称
返回: 日期列表
返回类型:
-
add_temp_csv_stock
(self, code, day_filename, min_filename[, tick=0.01, tick_value=0.01, precision=2, min_trade_num = 1, max_trade_num=1000000])¶ 从CSV文件(K线数据)增加临时的Stock,可用于只有CSV格式的K线数据时,进行临时测试。
添加的 stock 对应的 market 为 “TMP”, 如需通过 sm 获取,需加入 tmp,如:sm[‘tmp0001’]
CSV文件第一行为标题,需含有 Datetime(或Date、日期)、OPEN(或开盘价)、HIGH(或最高价)、LOW(或最低价)、CLOSE(或收盘价)、AMOUNT(或成交金额)、VOLUME(或VOL、COUNT、成交量)。
参数: - code (str) – 自行编号的证券代码,不能和已有的Stock相同,否则将返回Null<Stock>。
- day_filename (str) – 日线CSV文件名
- min_filename (str) – 分钟线CSV文件名
- tick (float) – 最小跳动量,默认0.01
- tick_value (float) – 最小跳动量价值,默认0.01
- precision (int) – 价格精度,默认2
- min_trade_num (int) – 单笔最小交易量,默认1
- min_trade_num – 单笔最大交易量,默认1000000
返回: 加入的Stock
返回类型:
-
remove_temp_csv_stock
(self, code)¶ 移除增加的临时Stock
参数: code (str) – 创建时自定义的编码
-
static
-
class
hikyuu.
Stock
¶ 证券对象
-
id : 内部id,一般用于作为map的键值使用
-
market : 获取所属市场简称,市场简称是市场的唯一标识
-
code : 获取证券代码
-
market_code : 市场简称+证券代码,如: sh000001
-
name : 获取证券名称
-
valid : 该证券当前是否有效
-
start_datetime : 证券起始日期
-
last_datetime : 证券最后日期
-
tick : 最小跳动量
-
tick_value : 最小跳动量价值
-
unit : 每单位价值 = tickValue / tick
-
precision : 价格精度
-
atom : 最小交易数量,同minTradeNumber
-
min_trade_number : 最小交易数量
-
max_trade_number : 最大交易数量
-
is_null
(self)¶ 是否为Null
返回类型: bool
-
get_count
(self[, ktype=Query.DAY])¶ 获取不同类型K线数据量
参数: ktype (Query.KType) – K线数据类别 返回: K线记录数 返回类型: int
-
get_market_value
(self, date, ktype)¶ 获取指定时刻的市值,即小于等于指定时刻的最后一条记录的收盘价
参数: - date (Datetime) – 指定时刻
- ktype (Query.KType) – K线数据类别
返回: 指定时刻的市值
返回类型: float
-
get_krecord
(self, pos[, ktype=Query.DAY])¶ 获取指定索引的K线数据记录,未作越界检查
参数: - pos | Datetime datetime (int) – 指定的索引位置,或日期
- ktype (Query.KType) – K线数据类别
返回: K线记录
返回类型:
-
get_krecord_list
(self, start, end, ktype)¶ 获取K线记录 [start, end),一般不直接使用,用getKData替代
参数: - start (int) – 起始位置
- end (int) – 结束位置
- ktype (Query.KType) – K线类别
返回: K线记录列表
返回类型:
-
get_datetime_list
(self, query)¶ 获取日期列表
参数: query (Query) – 查询条件 返回类型: DatetimeList get_datetime_list(self, start, end, ktype)
获取日期列表
参数: - start (int) – 起始位置
- end (ind) – 结束位置
- ktype (Query.KType) – K线类型
返回类型:
-
get_timeline_list
(self, query)¶ 获取分时线数据
参数: query (Query) – 查询条件(查询条件中的K线类型、复权类型参数此时无用) 返回类型: TimeLineList
-
get_weight
(self[, start, end])¶ 获取指定时间段[start,end)内的权息信息。未指定起始、结束时刻时,获取全部权息记录。
参数: 返回类型:
-
get_history_finance_info
(self, date)¶ 获取历史财务信息, 字段含义参见:https://hikyuu.org/finance_fields.html
参数: date (Datetime) – 指定日期必须是0331、0630、0930、1231,如 Datetime(201109300000) 返回类型: PriceList
-
load_kdata_to_buffer
(self, ktype)¶ 将指定类别的K线数据加载至内存缓存
参数: ktype (Query.KType) – K线类型
-
release_kdata_buffer
(self, ktype)¶ 释放指定类别的内存K线数据
参数: ktype (Query.KType) – K线类型
-
-
class
hikyuu.
Block
¶ 板块类,可视为证券的容器
-
category : 板块分类
-
name : 板块名称
-
__init__(self, category, name):
构建一个新的板块实例,并指定其板块分类及板块名称
参数: - category (str) – 板块分类
- name (srt) – 板块名称
-
__init__(self, block):
通过其他板块实例构建新的板块实例
参数: block (Block) – 板块实例
-
size
(self)¶ 包含的证券数量
-
empty
(self)¶ 是否为空
-
get
(self, market_code)¶ 根据”市场简称证券代码”获取对应的证券实例
参数: querystr (str) – 格式:“市场简称证券代码”,如”sh000001” 返回: 对应的证券实例,如果实例不存在,则Null<Stock>(),不抛出异常 返回类型: Stock
-
add
(self, stock)¶ 加入指定的证券
参数: stock (Stock) – 待加入的证券 返回: 是否成功加入 返回类型: bool add(self, market_code)
根据”市场简称证券代码”加入指定的证券
参数: market_code (str) – 市场简称证券代码 返回: 是否成功加入 返回类型: bool
-
remove
(self, stock)¶ 移除指定证券
参数: stock (Stock) – 指定的证券 返回: 是否成功 返回类型: bool remove(self, market_code)
移除指定证券
参数: market_code (str) – 市场简称证券代码 返回: 是否成功 返回类型: bool
-
clear
(self)¶ 移除包含的所有证券
-
__len__
(self)¶ 包含的证券数量
-
其它证券信息定义¶
-
class
hikyuu.
StockTypeInfo
¶ 股票类型详情记录
-
type : 证券类型
-
description : 描述信息
-
tick : 最小跳动量
-
tick_value : 每一个tick价格
-
unit : 每最小变动量价格,即单位价格 = tickValue/tick
-
precision : 价格精度
-
min_trade_num : 每笔最小交易量
-
max_trade_num : 每笔最大交易量
-
-
class
hikyuu.
StockWeight
¶ 权息记录
-
datetime : 权息日期
-
count_as_gift : 每10股送X股
-
count_for_sell : 每10股配X股
-
price_for_sell : 配股价
-
bonus : 每10股红利
-
increasement : 每10股转增X股
-
total_count : 总股本(万股)
-
free_count : 流通股(万股)
-
-
class
hikyuu.
StockWeightList
¶ std::vector<StockWeight> 包装,见
StockWeight
-
class
hikyuu.
MarketInfo
¶ 市场信息记录
-
market : 市场简称(如:沪市“SH”, 深市“SZ”)
-
name : 市场全称
-
description :描述说明
-
code : 该市场对应的主要指数,用于获取交易日历
-
last_datetime : 该市场K线数据最后交易日期
-