hikyuu 证券管理
构建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) 初始化 参数: baseInfoParam (Parameter) – 基础信息数据驱动参数 blockParam (Parameter) – 板块信息数据驱动参数 kdataParam (Parameter) – K线数据驱动参数 preloadParam (Parameter) – 预加载参数 hkuParam (Parameter) – 其他hikyuu参数 get_base_info_parameter(self) 返回: 基础信息数据驱动参数 返回类型: Parameter get_block_parameter(self) 返回: 板块信息数据驱动参数 返回类型: Parameter get_kdata_parameter(self) 返回: K线数据驱动参数 返回类型: Parameter get_preload_parameter(self) 返回: 预加载参数 返回类型: Parameter get_hikyuu_parameter(self) 返回: 其他hikyuu参数 返回类型: Parameter tmpdir(self) 获取用于保存零时变量等的临时目录,如未配置则为当前目录 由m_config中的“tmpdir”指定 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 返回类型: Block get_block_list(self[, category]) 获取指定分类的板块列表 参数: category (str) – 板块分类 返回: 板块列表 返回类型: BlockList get_trading_calendar(self, query[, market='SH']) 获取指定市场的交易日日历 参数: query (Query) – Query查询条件 market (str) – 市场简称 返回: 日期列表 返回类型: DatetimeList is_holiday(self, d) 判断日期是否为节假日 参数: d (Datetime) – 待判定的日期 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线数据时,进行临时测试。 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 返回类型: Stock remove_temp_csv_stock(self, code) 移除增加的临时Stock 参数: code (str) – 创建时自定义的编码

class hikyuu.Stock 证券对象 id : 内部id,一般用于作为map的键值使用 market : 获取所属市场简称,市场简称是市场的唯一标识 code : 获取证券代码 market_code : 市场简称+证券代码,如: sh000001 name : 获取证券名称 type 获取证券类型,参见:constant 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_kdata(self, query) 获取K线数据 参数: query (Query) – 查询条件 返回: 满足查询条件的K线数据 返回类型: KData 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 (int) – 指定的索引位置 ktype (Query.KType) – K线数据类别 返回: K线记录 返回类型: KRecord get_krecord_by_datetime(self, datetime[, ktype=Query.DAY]) 根据数据类型(日线/周线等),获取指定时刻的KRecord 参数: datetime (Datetime) – 指定时刻 ktype (Query.KType) – K线数据类别 返回: K线记录 返回类型: KRecord get_krecord_list(self, start, end, ktype) 获取K线记录 [start, end),一般不直接使用,用getKData替代 参数: start (int) – 起始位置 end (int) – 结束位置 ktype (Query.KType) – K线类别 返回: K线记录列表 返回类型: KRecordList get_datetime_list(self, query) 获取日期列表 参数: query (Query) – 查询条件 返回类型: DatetimeList get_datetime_list(self, start, end, ktype) 获取日期列表 参数: start (int) – 起始位置 end (ind) – 结束位置 ktype (Query.KType) – K线类型 返回类型: DatetimeList get_timeline_list(self, query) 获取分时线数据 参数: query (Query) – 查询条件(查询条件中的K线类型、复权类型参数此时无用) 返回类型: TimeLineList get_trans_list(self, query) 获取历史分笔数据 参数: query (Query) – 查询条件(查询条件中的K线类型、复权类型参数此时无用) 返回类型: TransList get_weight(self[, start, end]) 获取指定时间段[start,end)内的权息信息。未指定起始、结束时刻时,获取全部权息记录。 参数: start (Datetime) – 起始时刻 end (Datetime) – 结束时刻 返回类型: StockWeightList get_finance_info(self) 获取当前财务信息 返回类型: Parameter get_history_finance_info(self, date) 获取历史财务信息, 字段含义参见:https://hikyuu.org/finance_fields.html 参数: date (Datetime) – 指定日期必须是0331、0630、0930、1231,如 Datetime(201109300000) 返回类型: PriceList realtime_update(self, krecord) (临时函数)只用于更新内存缓存中的日线数据 参数: krecord (KRecord) – 新增的实时K线记录 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) 包含的证券数量 __getitem__(self, market_code) 根据”市场简称证券代码”获取对应的证券实例 参数: querystr (str) – 格式:“市场简称证券代码”,如”sh000001” 返回: 对应的证券实例,如果实例不存在,则Null<Stock>(),不抛出异常 返回类型: Stock
其他证券信息定义

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线数据最后交易日期