数据库管理
cryptoservice.storage.Database(db_path: str | Path, **options)
数据库主入口类.
组合各个专门的存储器和查询器,提供统一的数据库操作接口.
初始化数据库.
| 参数 | 描述 |
|---|---|
db_path
|
数据库文件路径
类型:
|
**options
|
连接池选项
默认:
|
Source code in src/cryptoservice/storage/database.py
Functions
insert_klines(klines: list[PerpetualMarketTicker], freq: Freq, batch_size: int = 1000) -> int
async
插入K线数据.
| 参数 | 描述 |
|---|---|
klines
|
K线数据列表
类型:
|
freq
|
数据频率
类型:
|
batch_size
|
批量大小
类型:
|
| 返回 | 描述 |
|---|---|
int
|
插入的记录数 |
源代码位于: src/cryptoservice/storage/database.py
select_klines(symbols: list[str], start_time: str, end_time: str, freq: Freq, columns: list[str] | None = None) -> pd.DataFrame
async
查询K线数据.
| 参数 | 描述 |
|---|---|
symbols
|
交易对列表
类型:
|
start_time
|
开始时间
类型:
|
end_time
|
结束时间
类型:
|
freq
|
数据频率
类型:
|
columns
|
需要查询的列
类型:
|
| 返回 | 描述 |
|---|---|
DataFrame
|
K线数据DataFrame |
源代码位于: src/cryptoservice/storage/database.py
export_to_numpy(symbols: list[str], start_time: str, end_time: str, freq: Freq, output_path: Path, target_freq: Freq, chunk_days: int = 30) -> None
async
导出数据为NumPy格式.
| 参数 | 描述 |
|---|---|
symbols
|
交易对列表
类型:
|
start_time
|
开始时间
类型:
|
end_time
|
结束时间
类型:
|
freq
|
数据频率
类型:
|
output_path
|
输出路径
类型:
|
target_freq
|
目标频率
类型:
|
chunk_days
|
分块天数
类型:
|
源代码位于: src/cryptoservice/storage/database.py
export_to_csv(symbols: list[str], start_time: str, end_time: str, freq: Freq, output_path: Path, chunk_size: int = 100000) -> None
async
导出数据为CSV格式.
| 参数 | 描述 |
|---|---|
symbols
|
交易对列表
类型:
|
start_time
|
开始时间
类型:
|
end_time
|
结束时间
类型:
|
freq
|
数据频率
类型:
|
output_path
|
输出路径
类型:
|
chunk_size
|
分块大小
类型:
|
源代码位于: src/cryptoservice/storage/database.py
export_to_parquet(symbols: list[str], start_time: str, end_time: str, freq: Freq, output_path: Path, compression: Literal['snappy', 'gzip', 'brotli', 'lz4', 'zstd'] = 'snappy') -> None
async
导出数据为Parquet格式.
| 参数 | 描述 |
|---|---|
symbols
|
交易对列表
类型:
|
start_time
|
开始时间
类型:
|
end_time
|
结束时间
类型:
|
freq
|
数据频率
类型:
|
output_path
|
输出路径
类型:
|
compression
|
压缩方式
类型:
|
源代码位于: src/cryptoservice/storage/database.py
plan_kline_download(symbols: list[str], start_date: str, end_date: str, freq: Freq) -> dict[str, dict[str, int | str]]
async
制定K线数据增量下载计划.
| 参数 | 描述 |
|---|---|
symbols
|
交易对列表
类型:
|
start_date
|
开始日期
类型:
|
end_date
|
结束日期
类型:
|
freq
|
数据频率
类型:
|
| 返回 | 描述 |
|---|---|
dict[str, dict[str, int | str]]
|
增量下载计划 |