Crates.io | libts |
lib.rs | libts |
version | 0.1.1 |
source | src |
created_at | 2022-07-05 07:41:32.730421 |
updated_at | 2022-07-11 03:30:47.180557 |
description | Trade System library |
homepage | https://github.com/kjx98/libts-rust |
repository | https://github.com/kjx98/libts-rust |
max_upload_size | |
id | 619534 |
size | 153,042 |
主要开发工具及版本
rust 内置 test
bencher crates
julian 儒略日, message 消息包抽象,serde 实现简单类型的序列化与反序列化,timestamp 低延迟微秒/纳秒级计时与时间戳,priceType针对价格及金额的定点与浮点double的互换
儒略日数(Julian Day Number,JDN)的计算是从格林威治标准时间的中午开始,包含一个整天的时间,起点的时间(0日)回溯至儒略历的公元前4713年1月1日中午12点(在格里历是公元前4714年11月24日),这个日期是三种多年周期的共同起点,且是历史上最接近现代的一个起点。 unix 纪元1970年1月1日, julian 日为2440588。采用julian日, 一个16位整数即可表示约180年,而且计算星期几只需要取7的余数即可(即0表示周一,6表示周日)
简单序列化与反序列化,采用Little Endian(即小端编码,Intel/ARM64的CPU整数字节编码),字符串string以及字节串Bytes采用Pascal编码(长度0...255)以一字节表示长度后续bytes 暂不支持Rust enum及其派生类型,完美支持tuple/struct类型
timeval类 简单包封timespec结构并采用u64/u32 表示秒以及纳秒 sysclock类 用于重演/模拟环境的系统时钟 timestamp 抽象毫秒/微秒/纳秒级别时间戳 DateTime 抽象 毫秒/微秒/纳秒级别 的日期时间点
定点数与浮点double的相互转换
支持大页的共享内存mmap
类似ITCH的逐笔行情协议,在ThinkPad T440s实现每秒超两千五百万笔行情解码。
formula: $ f(x) = \int_{-\infty}^\infty \hat f(\xi)e^{2 \pi \xi x}d\xi $