java - 数据馈送线程执行交易策略?

标签 java multithreading trading algorithmic-trading

如您所知,交易策略会根据实时信息采取行动,例如出价或最后交易价格发生变化时。数据提要提供程序在与主线程分开的线程中异步地将报价流式传输到我们的桌面应用程序。当您向数据提要提供程序发出请求时,会生成此数据提要线程,并一直存在到您明确发送停止流式传输的请求为止。

就目前而言,数据馈送线程执行交易策略,因为它们中的大多数旨在根据报价数据输入或更新订单。您认为这种方法有什么问题吗?这种设计在交易应用中常见吗?

我正在使用 Java。

最佳答案

您绝对不希望在数据馈送线程上执行交易策略,尤其是在执行需要一段时间的情况下。该执行应该发生在不同的线程上。我不太熟悉 Java,但我假设您可以在那里使用线程池。在 C# 中,将工作分散到多个线程上的一种非常强大的方法是使用 Tasks。 .

您可能要考虑的另一件事是,当您仍在处理前一个报价单时,如果某个工具有新的报价单,该怎么办。在许多情况下,只处理最近的一个是有意义的。我写了一篇关于我称之为 most recent update pattern 的文章使用 C# 中的示例实现。也许您觉得这很有用。

关于java - 数据馈送线程执行交易策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7919531/

相关文章:

c - c中的多线程生活游戏

multithreading - 并行化 "Reduce"中的 "MapReduce"

pine-script - pinescript 获取枢轴高的索引

java - 如何从 Java 中选定的日期获取整周日期

JavaFX 应用程序在 Debian 上抛出空指针异常

java - 在 RecyclerView 中重置先前 CardView 的颜色

java - 为什么我无法在idea intellij中设置我的jdk路径

Linux:多核 CPU 中的进程和线程

excel - 将最高价/最低价/收盘价数据导入 Excel(交易/ future "Coding")

trading - 如何在Pine Script中调用其他股票的收盘价?