2009-10-08 12 views
5

Sono in procinto di progettare un'applicazione di trading che utilizzerà l'API di un mercato per effettuare ordini sul mercato. Questa non è una complessa applicazione di trading algoritmico ad alte prestazioni del tipo che si trova nelle banche di investimento. Questa è solo una piccola applicazione personale che evolve forse due o tre volte al giorno a seconda delle condizioni di mercato/tendenze
L'applicazione consisterà (circa) dei seguenti moduli/pacchetti:
Strategie
- Gli algoritmi di negoziazione effettivi
Analytics
- le classi per l'analisi dei prezzi in tempo reale & ordini sul mercato per la produzione di comprare/vendere di segnali
Servizi
- le classi utilizzate per mantenere una connessione al mercato, recuperare le informazioni di mercato e gli ordini di posto di acquisto/vendita.
Finora, tutto ciò che è richiesto per l'applicazione sembra essere disponibile su Internet:
* Apache CXF per generare le classi Java utilizzate per accedere ai servizi web del mercato.
* Apache Maths per lo svolgimento delle analisi dei prezzi
* Wikipedia per i vari modelli di progettazione vale a dire di fabbrica, Soggetto/Observer, statali, ecc ..
Sviluppo di un'applicazione di trading Java: esistono schemi/framework per la definizione delle regole di trading?

Dove Sono davvero bloccato però è con gli algoritmi. Ho deciso di utilizzare lo State pattern per partizionare, in raggruppamenti logici, i vari pezzi di logica che dovrebbero essere eseguiti quando si verificano determinate condizioni di mercato. Il problema è che sto cominciando a vedere che è molto probabile che ogni classe di stato conterrà un'esplosione di se else:

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


non posso fare a meno di sentire che mi manca qualcosa qui e che deve esistere un modello di struttura o di progettazione che non conosco, che consente allo sviluppatore di incapsulare tutti gli input e gli output di un determinato contesto aziendale in un numero finito di azioni commerciali [input/output] su cui le regole aziendali [ algoritmi] possono essere costruiti. Cioè Piuttosto che dover codificare gli algoritmi, spero che sia possibile rendere l'applicazione in un processore di regole di qualche tipo. Sfortunatamente non so da dove cominciare. Spero di aver spiegato abbastanza chiaramente il mio dilemma, se vuoi che io chiarisca qualcosa per favore fammi sapere. Grazie

risposta

3

vorrei prendere uno sguardo ad alcuni motori di regole,

Drools - drools.org

o

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

E 'probabile che si sta andando a reagire ai dati di mercato in tempo reale. Questo è qualcosa per cui gli strumenti di elaborazione eventi complessi (CEP) sono perfetti. Assegno

http://esper.codehaus.org.

hth

ste

Problemi correlati