You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
3.5 KiB

## 目录结构
```
.
├── assets
│   └── ddb_dump_journal.csv
├── dolphindb
│   └── project
│   ├── modules
│   └── scripts
├── ipynb
│   ├── ddb.ipynb
2 years ago
│   ├── ddb_pe.ipynb
│   ├── ddb_pit.ipynb
│   ├── dos.ipynb
│   └── mssql.ipynb
2 years ago
├── README.md
└── src
├── DDBBase.py
2 years ago
├── expr
│   └── DDBExpression.py
├── factor
│   └── DDBFactor.py
├── __init__.py
├── loader
│   ├── DDBBasicInfoLoader.py
│   ├── DDBDailyLoader.py
│   ├── DDBHFTLoader.py
│   ├── DDBLoader.py
│   ├── DDBPITLoader.py
│   ├── make_hft.py
│   └── ProtoBuffEntitys
├── ReadTickFromDB.py
2 years ago
├── run.py
└── script.py
```
## 目录说明
- `assets`
- 程序运行过程中产生、或者依赖的配置数据
- `ddb_dump_jounral.csv`记录海通高频数据写入DolphinDB的日志类似log
- `dolphindb`
- DolphinDB的客户端Workspace主要用来放置dos文件
- 目录结构是DolphinDB的官方Java客户端设定的因此略显臃肿
- `ipynb`
- jupyter notebook的存放目录
- 包含开发DolphinDB相关功能的草稿和SQL-Server相关功能的草稿
- `src`
- Python源代码目录是工作的主要目录
- 大部分源码文件以`DDB`开头表示与DolphinDB相关继承和代码复用关系可以进一步优化
2 years ago
- `DDBBase.py`
- `DDB*`的基类,包含了一些常用常量
- `run.py`
- 用于执行具体操作任务的入口脚本
- TODO需要支持命令行参数来选择执行功能和配套参数
- `loader`目录代码专门用于向DolphinDB写入数据似乎称为Dumper更合适目前包括
- `DDBLoader.py`其他Loader类的基础类
- `DDBHFTLoader.py`:用以导入高频数据(海通高频数据)
- `DDBDailyLoader.py`用以导入日频数据市场日K线数据
- `DDBPITLoader.py`用以导入低频PIT数据主要是财报数据
- `loader/ProtoBuffEntitys`目录:
- 用以解析海通高频数据中protobuf字节流的Python辅助代码
- `factor`目录:用于生成因子
- `DDBFactor.py`:目前只有生成日频因子
- `expr`目录用于支持基于DDB的各种表达式操作
- `DDBExpression.py`:提供了基本的操作表达式,目前包括:
- 通过Function View读取DolphinDB的分布式存储表
- 在任意时间点上,获取所有公司某张财报、指定财报期的最新可见快照
- 在任意时间点上,获取所有公司某张财报中某科目、指定财报期的最新可见快照
- 通过一般Function对内存表进行操作
- 流量表累计数值转单季值
- 跨年同比指标计算(分母为去年基数取绝对值,函数会同时返回当年值和去年基数,以便进一步调整)
## 海通高频数据录入说明
- Python语言从数据库中读取字节流程序并解码还原示例程序在ReadTickFromDB.py中。
- 该函数需要pymssql、gzip、google.protobuf可用pip install protobuf安装三个外部依赖库需要在运行程序。
- 成功读取后,每个标的会读出并解析成一个结构体数组的数据结构,可以对于该数据进行进一步操作。