DatabaseHandler¶
- class base.DBHandler.DatabaseHandler(host: str, user: str, password: str, sim_flag: bool, database='quant')¶
Bases:
object
处理数据库事务的基本类
- 其主要提供两个层级的api:
数据库的查询, 执行sql语句的低层级api: 包括 :method:`DatabaseHandler.execute`, :method:`DatabaseHandler.query`.
导出批量历史数据, 存储批量数据的高层api: 包括 :method:`DatabaseHandler.get_history_data`, :method:`DatabaseHandler.dump_into_database`
- Parameters
host – 数据库地址(服务器地址)
user – 用户名
password – 密码
sim_flag –
是否为虚拟模式 todo: 此部分针对的是是否适用模拟盘的数据, 与其他地方的sim_flag含义不同
需要再做更改
database – 数据库名, 默认为`quant`.
Methods Summary
dump_into_database
(data, channel, instId)向数据库中对应表存入数据, 会尝试创建表
execute
(sql)执行无返回值的sql语句
get_history_data
(instId, channel, st, ed[, …])从数据库中读取指定表的指定区段的历史数据
query
(sql, **kwargs)执行有返回数据的sql语句
Methods Documentation
- dump_into_database(data: numpy.ndarray, channel: str, instId: str)¶
向数据库中对应表存入数据, 会尝试创建表
数据库中的表格会按如下命名格式命名 {instId.replace(‘-‘, ‘_’)}__{channel.lower()}
所有允许的channel类型均应写在 const.COLUMNS, const.SQL_TABLE`常量中. 数据表字段名由 `const.COLUMNS, `const.SQL_TABLE`确定.
- Parameters
data – 数据array
channel – 频道名
instId – 标的名
- Returns
- execute(sql: str)¶
执行无返回值的sql语句
- Parameters
sql – sql语句
- get_history_data(instId: str, channel: str, st: Optional[int], ed: Optional[int], limit=100000) → numpy.ndarray¶
从数据库中读取指定表的指定区段的历史数据
- Parameters
instId – 标的名
channel – 频道名
st – 起始时间, 以ms计的timestamp, 可为None
ed – 截止时间, 以ms计的timestamp, 可为None
limit – 最大返回条数
- Returns
返回的数据, 存在array中.