2009-10-08 3 views
5

Je suis en train de concevoir une application de trading qui utilisera l'API d'un marché pour passer des ordres sur le marché. Il ne s'agit pas d'une application de trading algorithmique complexe de haute performance du type de celle que l'on trouve dans les banques d'investissement. Ceci est juste une petite application personnelle qui le commerce peut-être deux ou trois fois par jour en fonction des conditions du marché/tendances
L'application consisteront (environ) des modules/packages suivants:
Stratégies
- Les algorithmes de trading réels
Analytics
- les classes d'analyse des prix en direct & commandes sur le marché pour produire acheter/vendre des signaux
services
- les classes utilisées pour maintenir une connexion au marché, récupérer des informations sur le marché et placer des commandes d'achat/vente.
Jusqu'à présent, tout ce qui est requis pour l'application semble être disponible sur Internet:
* Apache CXF pour générer les classes Java utilisées pour accéder aux services Web du marché.
* Apache Maths pour la scène les analyses de prix
* Wikipedia pour les différents modèles de conception d'usine à savoir, Objet/observateur, Etat, etc ..
Développement d'une application de trading Java: existe-t-il des modèles/frameworks pour définir les règles de trading?

Là où je suis vraiment coincé est cependant avec les algorithmes. J'ai décidé d'utiliser le State pattern pour partitionner, en groupements logiques, les différentes parties de la logique qui devraient être exécutées lorsque certaines conditions de marché sont remplies. Le problème est que je commence à voir qu'il est très probable que chaque classe d'état contiendra une explosion des cas d'autre des déclarations:

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


Je ne peux pas aider mais l'impression que je me manque quelque chose ici et qu'il doit exister un cadre ou modèle de conception que je ne sais pas qui permet au développeur d'encapsuler toutes les entrées et sorties d'un contexte métier donné en un nombre fini d'actions commerciales [input/output] sur quelles règles métier [ algorithmes] peut être construit. C'est à dire. Plutôt que d'avoir à coder en dur les algorithmes, j'espère qu'il sera possible de faire de l'application un processeur de règles quelconque. Malheureusement, je ne sais pas par où commencer. J'espère avoir suffisamment expliqué mon dilema, si vous voulez que je clarifie quelque chose s'il vous plaît faites le moi savoir. Merci

Répondre

3

je voudrais jeter un oeil à quelques moteurs de règles,

Drools - drools.org

ou

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

Il est probable que vous allez réagir aux données du marché en temps réel. C'est quelque chose que les outils de traitement d'événements complexes (CEP) sont parfaits. Vérifiez

http://esper.codehaus.org.

HTH

ste

Questions connexes