使用 TDengine 存储 OHLCV 数据

TDengine 是一个时序数据库,压缩了浮点数存储,能占用更小的空间。

https://github.com/taosdata/TDengine 最新版虽然 windows 下编译完好,但是运行不起来,说是添加了企业版功能。只能编译安装 3.1 以下的版本 3.0.7.1

不想用 docker 版本,直接编译个 windows 版简单使用一下。另外 windows 下的客户端访问库 TDengine-client-3.0.7.1-Windows-x64.exe,需要下载安装,只安装 taospy 是访问不了的。 而且客户端的版本必须得跟服务器端版本一一致。

python

pip install taospy
import taos

def test_connection():
    # all parameters are optional.
    # if database is specified,
    # then it must exist.
    conn = taos.connect(host="localhost",
                        port=6030,
                        user="root",
                        password="taosdata",
                        database="log")
    print('client info:', conn.client_info)
    print('server info:', conn.server_info)
    conn.close()

if __name__ == "__main__":
    test_connection()

存储 OHLCV 数据

TDengine 有超级表的概念,如果存储股票数据,相当于每一个股票代码一个子表。

// 股票数据超级表
CREATE STABLE stock_ohlcv(ts TIMESTAMP, Open FLOAT, High FLOAT, Low FLOAT, Close FLOAT, Volume FLOAT) TAGS (symbol VARCHAR(32), groupId int, period int);

// 期货数据超级表
CREATE STABLE future_ohlcv(ts TIMESTAMP, Open FLOAT, High FLOAT, Low FLOAT, Close FLOAT, Volume FLOAT, open_oi FLOAT, close_oi FLOAT) TAGS (symbol VARCHAR(32), groupId int, period int);

创建子表

601398 为例,那么子表名位 t_1_1_601398,模式为 t_groupId_period_symbolcode

  • 1 上证
  • 2 深证
CREATE TABLE t_1_1_601398 USING stock_ohlcv TAGS ("601398", 1, 1);

理论上只需要存储 1 分钟 K 线数据就可以了,不同周期的数据通过程序转化即可。但是像期货这种带夜盘的,不那么好转换,需要判断的逻辑太多。还是把各个周期都存储一下。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇