开发Java交易应用程序:是否存在用于定义交易规则的模式/框架?

5 trading

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

然而,我真正陷入困境的是算法.我决定使用State模式将逻辑分组划分为在满足某些市场条件时应执行的各种逻辑.问题是我开始意识到每个州类很可能包含if else语句的爆炸:

if(this_condition) {
    // do something
} else if (another_condition) {
    // do something else
} else {
    // etc..., etc...
}
Run Code Online (Sandbox Code Playgroud)


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