DatabaseHandler

class base.DBHandler.DatabaseHandler(host: str, user: str, password: str, sim_flag: bool, database='quant')

Bases: object

处理数据库事务的基本类

其主要提供两个层级的api:
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中.

query(sql: str, **kwargs)pandas.core.frame.DataFrame

执行有返回数据的sql语句

Parameters
  • sql – sql语句

  • kwargs – 其他适用于`pd.read_sql()`的参数

Returns

`pd.DataFrame`格式的数据, 但没有命名行和列