## 目录结构 ``` . ├── assets │   └── ddb_dump_journal.csv ├── dolphindb │   └── project │   ├── modules │   └── scripts ├── ipynb │   ├── ddb.ipynb │   ├── ddb_pit.ipynb │   ├── dos.ipynb │   └── mssql.ipynb ├── Readme.txt └── src ├── DDBBase.py ├── DDBExpression.py ├── DDBFactor.py ├── DDBLoader.py ├── make_hft.py ├── ProtoBuffEntitys │   ├── HFDataTableMessage_pb2.py │   ├── IndexFutureKLineMessage_pb2.py │   ├── IndexFutureL1TickMessage_pb2.py │   ├── IndexKLineMessage_pb2.py │   ├── IndexTickMessage_pb2.py │   ├── KLineMessage_pb2.py │   ├── OrderMessage_pb2.py │   ├── TickMessage_pb2.py │   ├── TickQueueMessage_pb2.py │   └── TranseMessage_pb2.py ├── ReadTickFromDB.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相关,继承和代码复用关系可以进一步优化 - `DDBBase`是`DDB*`的基类,包含了一些常用常量 - `DDBLoader`专门用于向DolphinDB写入数据(似乎称为Dumper更合适),目前包括: - `DDBHFTLoader`,用以导入高频数据(海通高频数据) - `DDBDailyLoader`,用以导入日频数据(市场日K线数据) - `DDBPITLoader`,用以导入低频PIT数据,主要是财报数据 - `DDBFactor`用于生成因子,目前只有生成日频因子 - `DDBExpression`提供了基本的操作表达式,目前包括: - 通过Function View,读取DolphinDB的分布式存储表: - 在任意时间点上,获取所有公司某张财报、指定财报期的最新可见快照 - 在任意时间点上,获取所有公司某张财报中某科目、指定财报期的最新可见快照 - 通过一般Function,对内存表进行操作: - 流量表累计数值转单季值 - 跨年同比指标计算(分母为去年基数取绝对值,函数会同时返回当年值和去年基数,以便进一步调整) - `src/ProtoBuffEntitys` - 用以解析海通高频数据中,protobuf字节流的Python辅助代码 ## 海通高频数据录入说明 - Python语言从数据库中读取字节流程序并解码还原示例程序在ReadTickFromDB.py中。 - 该函数需要pymssql、gzip、google.protobuf(可用pip install protobuf安装)三个外部依赖库需要在运行程序。 - 成功读取后,每个标的会读出并解析成一个结构体数组的数据结构,可以对于该数据进行进一步操作。