5

我正在设计一个交易应用程序,它将使用 Market 的 API 在 Market 上下订单。这不是投资银行中那种复杂的高性能算法交易应用程序。这只是一个小型个人应用程序,根据市场条件/趋势,每天可能交易两到三次。
该应用程序将(大致)包含以下模块/包:
策略
- 实际交易算法
分析
- 分析类市场上的实时价格和订单以产生买入/卖出信号
服务
- 用于保持与市场的连接、检索市场信息和下达买入/卖出订单的类。
到目前为止,该应用程序所需的一切似乎都可以在 Internet 上获得:
* Apache CXF用于生成用于访问市场 Web 服务的 Java 类。
* Apache Maths用于执行定价分析
* Wikipedia用于各种设计模式,即工厂、主题/观察者、状态等。

然而,我真正陷入困境的是算法。我决定使用状态模式将满足某些市场条件时应执行的各种逻辑划分为逻辑分组。问题是我开始看到每个状态类很可能会包含大量 if else 语句:

if(this_condition) {
    // do something
} else if (another_condition) {
    // do something else
} else {
    // etc..., etc...
}


我不禁觉得我在这里遗漏了一些东西,并且必须存在一些我不知道的框架或设计模式,它使开发人员能够将给定业务上下文的所有输入和输出封装到有限数量的可以在其上构建业务规则[算法]的业务操作[输入/输出]。即,我希望不必对算法进行硬编码,而是应该可以将应用程序变成某种规则处理器。不幸的是,我不知道从哪里开始。我希望我已经足够清楚地解释了我的困境,如果您想让我澄清任何事情,请告诉我。谢谢

4

1 回答 1

3

我会看看一些规则引擎,

流口水 - drools.org

或者

Imperius - http://incubator.apache.org/imperius/

您可能会对实时市场数据做出反应。这是复杂事件处理 (CEP) 工具的完美解决方案。查看

http://esper.codehaus.org

hth

斯特

于 2009-10-08T23:08:26.240 回答