草庐IT

37 | Kafka & ZMQ:自动化交易流水线

在进行这节的学习前,我们先来回顾一下,前面三节,我们学了些什么。第34讲,我们介绍了如何通过RESTfulAPI在交易所下单;第35讲,我们讲解了如何通过Websocket,来获取交易所的orderbook数据;第36讲,我们介绍了如何实现一个策略,以及如何对策略进行历史回测。事实上,到这里,一个简单的、可以运作的量化交易系统已经成型了。你可以对策略进行反复修改,期待能得到不错的PnL。但是,对于一个完善的量化交易系统来说,只有基本骨架还是不够的。在大型量化交易公司,系统一般是分布式运行的,各个模块独立在不同的机器上,然后互相连接来实现。即使是个人的交易系统,在进行诸如高频套利等算法时,也需要

[SDR] GNU Radio 系列教程(十四) —— GNU Radio 低阶到高阶用法的分水岭 ZMQ 的使用详解

目录1、前言2、ZMQ块的类型3、ZMQ块的使用4、DEMO4.1同一台电脑上的两个流程图4.2不同电脑上的两个流程图4.3作为REQ/REP服务器的Python程序4.4作为PUSH/PULL服务器的Python程序4.5处理流程图数据的Python程序参考链接1、前言学会使用GNURadio中的ZMQ,是从低阶使用者向高阶迈进的第一步!因为学会了ZMQ,就可以将GNURadio中的实时数据流通过socket引到外面的python/c等大型应用程序中,做数据分析、展示、人工智能等。来自ZeroMQ官方介绍:ZeroMQ(0MQ,ZMQ),看起来像是一个可嵌入的网络库,同时起到了并发框架的作用

使用ZMQ时,从Ubuntu 16.04到Windows 7的出站TCP流量被阻止

我有一个ZeromqPUB/SUB服务器与用Python编写的客户端之间的连接。服务器发送消息,客户端将其打印出来。这些程序在同一台计算机(Ubuntu16.04或Windows7;两者都可以工作)中工作得很好。当服务器在Windows7机器上并且客户端在Ubuntu16.04机器上时,它们也可以工作。但是,如果服务器位于Ubuntu16.04机器上,则Windows7计算机上的客户端将无法连接到它。另外,当我在两台独立的Windows7机器之间移动客户端和服务器程序时,没有通信问题。有人知道问题可能是什么吗?这是客户端代码:#BasedoncodefoundonthisStackOverfl

c++ - 如何在 ZMQ 中为 (X)PUB/(X)SUB 消息传递实现代理/代理?

所以我在读thisarticle关于如何在ZMQ中为(X)PUB/(X)SUB消息创建代理/代理。有一张关于架构应该是什么样子的漂亮图片:但是当我看XSUBsocketdescription我不知道如何通过它转发所有订阅,因为它的Outgoingroutingstrategy是N/A那么如何在ZeroMQ中实现(取消)订阅转发,这种转发应用程序的最小用户代码是多少(可以插入简单Publisher和Subscriber示例之间的代码)? 最佳答案 XPUB确实接收消息-它接收的唯一消息是来自已连接订阅者的订阅,并且这些消息应该通过XS

sockets - ZMQ 性能与 UDP 多播比较

与“简单的”UDP及其多播实现相比,ZMQ的性能(我指的是发送所有消息时的延迟、许多消息到许多接收者的最大扇出率)是什么?假设,我有一个静态“发送者”,它必须向很多很多“接收者”发送消息。带有简单TCP传输的PUB/SUB模式似乎很适合处理这样的任务——ZMQ无需我们的努力就可以做很多事情,一个ZMQ套接字足以处理甚至大量的连接。但是,我担心的是:ZMQ可以在后台创建许多TCP套接字,即使我们没有“看到”它。这可能会造成延迟。但是,如果我创建“通用”UDP套接字并将使用多播传输我的所有消息-将只有一个套接字(多播),所以我认为延迟问题将得到解决。老实说,我想继续使用ZMQ和TCP上的P

c - Zeromq:使用 zmq 的 PUB/SUB 程序,不交换消息

我在zmq中编写了一个简单的PUB/SUB程序,但它不起作用。在server.c中,我所做的只是将服务器绑定(bind)到特定的套接字,然后广播一条消息“嗨!同样,在client.c中,我正在接收发送的字符串并打印它,但它总是跳过循环。当我运行客户端它没有收到来自server.c的任何消息。可能是什么错误?//server.c#include#include#include#includeintmain(void){//Prepareourcontextandpublishervoid*context=zmq_ctx_new();void*publisher=zmq_socket(co

python - 更改 IPC ://to tcp://python zmq (Windows)

我试图让python应用程序在Windows上运行,但我收到ZMQError:Protocolnotsupported这是因为Windows不支持ipc。根据我的阅读,从ipc到tcp协议(protocol)的更改应该与更改bind()中使用的字符串一样简单。master_addr='ipc://{0}/sailfish-master-{1}_{2}'.format(tempfile.gettempdir(),os.getpid(),subdomain.id)ipc_files.append(master_addr.replace('ipc://',''))sock=ctx.socke

python - ZMQ : No subscription message on XPUB socket for multiple subscribers (Last Value Caching pattern)

我实现了ZMQ的最后值缓存(LVC)示例(http://zguide.zeromq.org/php:chapter5#Last-Value-Caching),但无法让第二个订阅者在后端注册。订阅者第一次加入时,满足event[0]==b'\x01'条件并发送缓存值,但第二个订阅者(相同主题)没有'甚至注册(ifbackendinevents:永远不会为真)。其他一切正常。数据从发布者传递到订阅者(全部)。这可能是什么原因?后端连接方式是否正确?这种模式只适用于第一个订阅者吗?更新当我为第二个订阅者订阅另一个主题时,我得到了正确的行为(即\x01订阅时)。这似乎真的适用于第一个订阅者on

Python + ZMQ : Operation cannot be accomplished in current state

我试图让一个python程序通过zeromq使用请求-回复模式与另一个python程序通信。客户端程序应向服务器程序发送请求,服务器程序进行回复。我有两台服务器,当一台服务器出现故障时,另一台服务器接管。当第一台服务器工作时,通信工作完美,但是,当第一台服务器发生故障并且当我向第二台服务器发出请求时,我看到错误:zmp.error.ZMQError:Operationcannotbeaccomplishedincurrentstate服务器1的代码:#RuntheserverwhileTrue:#Definethesocketusingthe"Context"sock=context.

go - 无法在 mac os X 上为 golang 运行 zmq,未知问题

我正在尝试使用gozmq然而,对于我使用ZMQ进行的go项目,我遇到了一些问题并且不确定问题出在哪里。当我使用zmq运行我的应用程序时:$gorunmain.go我回来了:#pkg-config--cflagslibzmqlibzmqlibzmqlibzmqexec:"pkg-config":executablefilenotfoundin$PATH我实际上并不知道它是什么意思,也不知道它为什么会出现。但是,我猜我没有安装zmq或者找不到它之类的……所以我用brew安装了它brewinstallzmq但是我得到:Warning:zeromq-4.0.4alreadyinstalled所