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.
 
 
Guofu Li 8e22716161
Merge branch 'main' of http://192.168.1.7:3000/guofu/dolphin-dev
2 years ago
assets Bug fixes: create python processor pool dynamically, which solves the issue of memory leak for good. 2 years ago
dolphindb 1. Re-organize the directory structure, creating sub-packages for `DDBLoader`. 2 years ago
ipynb 1. Make adjustments on `src/run.py` 2 years ago
src Bug fixes: create python processor pool dynamically, which solves the issue of memory leak for good. 2 years ago
.gitignore reorganize the directory structure 2 years ago
README.md Update README.md 2 years ago

README.md

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

目录结构

.
├── assets
│   └── ddb_dump_journal.csv
├── dolphindb
│   └── project
│       ├── modules
│       └── scripts
├── ipynb
│   ├── ddb.ipynb
│   ├── ddb_pe.ipynb
│   ├── ddb_pit.ipynb
│   ├── dos.ipynb
│   └── mssql.ipynb
├── README.md
└── src
    ├── DDBBase.py
    ├── 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
    ├── 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相关继承和代码复用关系可以进一步优化
    • 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安装三个外部依赖库需要在运行程序。
  • 成功读取后,每个标的会读出并解析成一个结构体数组的数据结构,可以对于该数据进行进一步操作。