跳转到主要内容

sp2是一个高性能反应式流处理库,用C++和Python编写

项目描述

sp2

PyPI License Build Status Python Versions


sp2是一个高性能反应式流处理库。其主引擎是一个C++复杂事件图处理器,并通过Python绑定暴露。其主要特性包括可切换的离线和在线处理的模拟/实时时间步,用于与静态和流数据源和接收器集成的自定义输入和输出适配器,以及通过可定制的C++节点进行扩展的加速。

sp2的高级目标是使编写实时代码变得简单且性能优异。一次编写事件驱动代码,在模拟中测试,然后作为实时代码部署而无需任何代码更改。

以下是一个简单的sp2程序示例,用于计算买卖价差。在这个示例中,我们使用固定的买卖价,但在现实世界中,您可以直接将这些值输入到您的实时流数据源或历史数据源中,而无需修改您的核心逻辑。

import sp2
from sp2 import ts
from datetime import datetime


@sp2.node
def spread(bid: ts[float], ask: ts[float]) -> ts[float]:
    if sp2.valid(bid, ask):
        return ask - bid


@sp2.graph
def my_graph():
    bid = sp2.const(1.0)
    ask = sp2.const(2.0)
    s = spread(bid, ask)

    sp2.print('spread', s)
    sp2.print('bid', bid)
    sp2.print('ask', ask)


if __name__ == '__main__':
    sp2.run(my_graph, starttime=datetime.utcnow())

运行此程序,我们的输出应如下所示(根据当前时间可能略有变化)

2024-02-07 04:37:13.446548 bid:1.0
2024-02-07 04:37:13.446548 ask:2.0
2024-02-07 04:37:13.446548 spread:1.0

入门

查看我们的维基百科!

开发

查看开发者文档

作者

sp2最初由Point72的算法团队作为csp开发,并得到了公司用户的贡献。

许可证

本软件根据Apache 2.0许可证授权。有关详细信息,请参阅LICENSE文件。

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

sp2-0.0.3.tar.gz (3.1 MB 查看哈希值)

上传时间 源代码

由以下支持