Closed. This question needs to be more focused。它当前不接受答案。
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
3年前关闭。
Improve this question
我正在尝试通过Python捕获实时流财务时间数据。我想首先将信息存储在数据库中,然后在以后的某个日期进一步开发一个程序,以基于此数据进行分析并做出交易决策。能够随后以某种图形格式在网站或Jupyter笔记本上显示所述数据将是很好的。
首先,我认为我会使用来自GDAX或Gemini的比特币数据。如果可行,我也想捕获报价数据和潜在的其他订单信息。
在进行一些研究时,我对现有的选择感到有些不知所措,并且可以在如何构建项目以及最合适的库方面使用一些指导。
我已经查看了每种服务的API的相关文档以及一些Github项目,但仍然不确定从哪里开始。任何意见,建议或推荐的阅读将不胜感激。 决定,现实中您的野心是多少,这将带来最大的不同-如果从技术上来说,必须实现过程控制循环,由于其稳定性标准,其阈值必须低于 1 kHz RTT端到端(事件原始+传输+本地获取+本地处理+反馈循环 在知道RTT-E2E阈值的现实值之后,请进一步检查是否进一步,如果API提供程序确实允许您如此频繁地进行技术和商业意义上的更新。如果没有,您必须找到另一个数据提要提供者。如果您的实时系统无法从足够采样的(快速)馈源中馈入,则控制回路将无法在其稳定性范围内为您工作(这很糟糕),就像您试图观察一样糟糕您的电视将不会显示高清视频流中的每张37至46张图片,而是显示每张图片。您将无法观看这种“欠采样断断续续的东西”(请确保,如果您的本地DVB-T解码器由于如此残酷的DVB-T流协议(protocol)违规行为而根本不肯显示任何内容,当Reed/Solomon冗余容错转码中甚至只有几个CRC位都无法正确通过时,方格伪影就令人讨厌,但与稳定且无错误的1:1 FullHD流相比,绝对没有什么好用的。 同时具有RTT-E2E阈值的实际值和可用的匹配API供应商的,开始设计技术步骤(而不是实现这些技术的技术),您如何计划帮助掩盖真实的实时延迟 -从API提供者引用访问点到您的处理过程的传输(+所有相关的加密/解密方案,无论是SSL隧道,VPN还是其他协议(protocol))的实际时间成本[us] 引擎输入。不知道这一点,您所有进一步的决定都会有缺陷。 测量了现实世界中的ISO/OSI-L9下行延迟,将其时间加倍到
如果您的初始设计RTT-E2E目标指标的控制环路阈值为 1kHz ,而您的
如果您的净本地处理时间预算已经变成负,那么您知道您的工作不会带来任何好处。这不可以。拉动停止。
如果您的本地处理时间预算还剩下相当数量的[us] ,这是您实际过程的设计目标,可开始设计此类计算步骤和措施,以便始终安全地适合 。
任何在不知道此主要设计限制的情况下开始编码的人,要么是天真还是不负责任,要么是“教书”的院士,要么是顶头的情人(谁喜欢失败,不介意在已知的墙上一遍又一遍地做),而现在,有系统的专业设计师专注于针对收集的事实和证据支持的设计目标(而不知道这些主要约束条件,绝不会花时间进行工作),着手开始所有精心的设计工作在仙境中可以抽象-不知道你想去哪里,哪条路会指引你到那里-这是一个不错的童话故事,但不是可以尝试的现实世界的做法,是吗?)
现在,检查您的阈值,GIL的发布频率(以
即使所有想成为专家的人都发布了无数免费的建议,也证明该软件包非常有用。当然,许多软件包确实是很棒的工具,但是很遗憾,在某些主要稳定性阈值下,对于任何更严格的实时应用程序域来说,几乎从来没有。是的,我对设计和运行python/scikit-learn GLAN分布式快速AI/ML预测系统感到非常满意,但是我非常确定自己适合
人们可能会在工具上花费几乎任何数量的“只爱编码”,由于已知的主要能力无法匹配并满足控制环稳定性阈值,因此专业人员永远不会有理由开始使用权利,因此请多加注意在实时系统架构的可行性/审查阶段,不要重复其中一些或类似的幼稚致命决策错误。
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
3年前关闭。
Improve this question
我正在尝试通过Python捕获实时流财务时间数据。我想首先将信息存储在数据库中,然后在以后的某个日期进一步开发一个程序,以基于此数据进行分析并做出交易决策。能够随后以某种图形格式在网站或Jupyter笔记本上显示所述数据将是很好的。
首先,我认为我会使用来自GDAX或Gemini的比特币数据。如果可行,我也想捕获报价数据和潜在的其他订单信息。
在进行一些研究时,我对现有的选择感到有些不知所措,并且可以在如何构建项目以及最合适的库方面使用一些指导。
我已经查看了每种服务的API的相关文档以及一些Github项目,但仍然不确定从哪里开始。任何意见,建议或推荐的阅读将不胜感激。
最佳答案
有什么建议,建议或推荐读物吗?
如果经过几十年有关适当的体系结构和设计推理的实践经验,我可以多花几分钱:
始终对自己保持现实和诚实:
0.1 ns - NOP
0.3 ns - XOR, ADD, SUB
0.5 ns - CPU L1 dCACHE reference (1st introduced in late 80-ies )
0.9 ns - JMP SHORT
1 ns - speed-of-light (a photon) travel a 1 ft (30.5cm) distance -- will stay, throughout any foreseeable future :o)
3~4 ns - CPU L2 CACHE reference (2020/Q1)
5 ns - CPU L1 iCACHE Branch mispredict
7 ns - CPU L2 CACHE reference
10 ns - DIV
19 ns - CPU L3 CACHE reference (2020/Q1 considered slow on 28c Skylake)
71 ns - CPU cross-QPI/NUMA best case on XEON E5-46*
100 ns - MUTEX lock/unlock
100 ns - own DDR MEMORY reference
135 ns - CPU cross-QPI/NUMA best case on XEON E7-*
202 ns - CPU cross-QPI/NUMA worst case on XEON E7-*
325 ns - CPU cross-QPI/NUMA worst case on XEON E5-46*
10,000 ns - Compress 1K bytes with Zippy PROCESS
20,000 ns - Send 2K bytes over 1 Gbps NETWORK
250,000 ns - Read 1 MB sequentially from MEMORY
500,000 ns - Round trip within a same DataCenter
10,000,000 ns - DISK seek
10,000,000 ns - Read 1 MB sequentially from NETWORK
30,000,000 ns - Read 1 MB sequentially from DISK
150,000,000 ns - Send a NETWORK packet CA -> Netherlands
| | | |
| | | ns|
| | us|
| ms|
<< 1 [ms]
), 10 kHz ( << 100 [us]
)。知道此“意图” 可以帮助您确定适当且可行的技术,该技术可以(或原则上不能)实现上述目标。选择不合适的技术是业余爱好者的常见(且昂贵)错误(但即使是专业软件公司也经常重复这样做)。 [us]
中,以便还保留合理的时间来覆盖上行延迟(不必完全具有相同的延迟来源,但数量级将接近)。 如果您的初始设计RTT-E2E目标指标的控制环路阈值为 1kHz ,而您的
max( DownStream ) + max( UpStream )
实验性观察到的延迟上限,则是根据提供商的实际生产API网关实时测量的( ,已在至少一个24/7占空比内检查是否与1kHz
控制循环阈值相匹配),现在计算还剩下多少时间来启动任何类型的本地处理-即实际还剩下多少[us]
本地处理的,这样1kHz的控制环就不会满足其稳定性阈值。如果您的净本地处理时间预算已经变成负,那么您知道您的工作不会带来任何好处。这不可以。拉动停止。
如果您的本地处理时间预算还剩下相当数量的[us] ,这是您实际过程的设计目标,可开始设计此类计算步骤和措施,以便始终安全地适合 。
任何在不知道此主要设计限制的情况下开始编码的人,要么是天真还是不负责任,要么是“教书”的院士,要么是顶头的情人(谁喜欢失败,不介意在已知的墙上一遍又一遍地做),而现在,有系统的专业设计师专注于针对收集的事实和证据支持的设计目标(而不知道这些主要约束条件,绝不会花时间进行工作),着手开始所有精心的设计工作在仙境中可以抽象-不知道你想去哪里,哪条路会指引你到那里-这是一个不错的童话故事,但不是可以尝试的现实世界的做法,是吗?)
现在
[us]
表示)-如果不是适合在内部剩余的本地处理时间净预算中的可观时间,您可能会忘记关于使用python的问题,这种简单的(以及关于多线程处理的异议在Python域中并不能帮助您更好:即使所有想成为专家的人都发布了无数免费的建议,也证明该软件包非常有用。当然,许多软件包确实是很棒的工具,但是很遗憾,在某些主要稳定性阈值下,对于任何更严格的实时应用程序域来说,几乎从来没有。是的,我对设计和运行python/scikit-learn GLAN分布式快速AI/ML预测系统感到非常满意,但是我非常确定自己适合
<< 1 [ms]
,本地RTT-E2E的80 ~ 90 [us]
阈值也很好控制回路的稳定性周长)人们可能会在工具上花费几乎任何数量的“只爱编码”,由于已知的主要能力无法匹配并满足控制环稳定性阈值,因此专业人员永远不会有理由开始使用权利,因此请多加注意在实时系统架构的可行性/审查阶段,不要重复其中一些或类似的幼稚致命决策错误。
关于python - Python:实时流数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47300647/