Applicazione in tempo reale del mercato azionario [chiusa]

2

Sono un programmatore dilettante. Mi piacerebbe sviluppare un'applicazione software (come Tradestation), per analizzare i dati di mercato in tempo reale. Per favore insegnami se il seguente approccio è corretto, cioè le procedure, le conoscenze o il software necessari ecc.

  1. Utilizza un DB per leggere il feed in tempo reale dal fornitore di dati: quale dovrebbe essere il DB giusto da usare? So che dovrebbe essere un momento serio. Posso usare SQL, Mysql o altri? Quale database può ricevere feed di dati in tempo reale? Devo configurare il DB per farlo?

  2. Se i dati in tempo reale sono in formato ASCII, come possono essere convertiti in quelli che possono essere letti dal DB e dalla mia applicazione? Dovrei scrivere codici o semplicemente usare alcuni componenti aggiuntivi? Che tipo di componente aggiuntivo è necessario?

  3. Come devo programmare il programma per recuperare i dati modificati dal DB in modo che anche i dati della schermata del software di analisi possano cambiare in modo asincrono? (come RTD in Excel)

  4. Quali aspetti della programmazione devo imparare per sviluppare quanto sopra?

Ci sono risorse / libri web a cui posso fare riferimento per ulteriori informazioni?

    
posta Sam 11.06.2011 - 08:40
fonte

6 risposte

0

Di per sé, un database memorizza i dati, ma non li legge. In pratica, la maggior parte dei sistemi di database ha molti strumenti, quindi forse uno di questi strumenti ti consente di leggere il feed; alcuni sistemi di database come Oracle hanno potenti linguaggi incorporati, quindi puoi inserire il programma di lettura come stored procedure nel database.

Ma non penso che questo sia l'approccio giusto da fare. Dovresti usare meglio un linguaggio come Java, C # ecc. Per scrivere un programma che recuperi e analizzi il feed in tempo reale e usi (N) Hibernate per scriverlo nel database; altre parti del programma potrebbero fare il calcolo e tuttavia altre parti creano l'output dello schermo. Un tipico errore da principianti sarebbe quello di creare una grande classe di Dio che faccia tutto quel che serve; i bravi programmatori evitano questo, separano preoccupazioni diverse in classi diverse. Nel tuo caso, il modello modello-visualizzazione-controller sembra un buon inizio.

    
risposta data 11.06.2011 - 09:09
fonte
3

cerca l'elaborazione di eventi-stream (ESP) e l'elaborazione di eventi complessi (CEP) e sappi che se devi colpire il disco in un flusso in tempo reale, sei al passo con

    
risposta data 12.06.2011 - 17:42
fonte
2

Nel caso in cui non lo sapessi, ci sono centinaia di sviluppatori di servizi finanziari che gli sviluppatori assumono per sviluppare qualcosa di simile, quindi tieni le tue aspettative realistiche.

Tipicamente gli scambi come NYSE forniscono API che ti aiuta a controllare quale sia il valore corrente della sicurezza. Puoi anche utilizzare il feed dal tuo broker, in genere XML.

Devi capire come funzionano i feed, il formato dovrebbe essere ben documentato.

Potresti usare qualsiasi linguaggio di programmazione di tua scelta, tipicamente C o C ++ sono usati in tempo reale, ma C # sta guadagnando terreno. Non ho visto molto Java qui.

Avresti bisogno di un buon database, quindi è necessario l'apprendimento di SQL.

    
risposta data 11.06.2011 - 11:54
fonte
1

Sto anche lavorando a un progetto simile per imparare le basi della programmazione. Per rispondere alla tua domanda.

  1. Puoi usare mySQL per memorizzare determinati schemi di trading o osservazioni interessanti. Non ha senso memorizzare dati che non ti servono. Ancora una volta, i dati reali dal vivo sono molto costosi. La tua migliore scommessa è quella di recuperare i dati da Yahoo e ci sono messaggi StackOverflow che ti mostrano come farlo. Puoi cercare una delle mie domande e qualcuno mi ha mostrato come farlo in PYTHON.

  2. I miei dati sono in Unicode e l'analisi del float è possibile. Fai una domanda più dettagliata per questo.

  3. Per quanto riguarda come gestire i dati che cambiano dinamicamente, tutto dipende dal tuo metodo di trading. Ad esempio, quando ero un trader professionista di professione, ho scritto un semplice programma che mi dava un avviso quando vedo che il prezzo di offerta corrente è superiore al prezzo di domanda corrente. Un'altra semplice strategia può comportare un stock di tendenza che attraversa l'alto o il basso. Puoi impostare le variabili che salvano come: aperto, alto, basso, media mobile,% retracement ...

risposta data 22.06.2014 - 21:40
fonte
0

Se fossi in te, concentrerei l'attenzione sul recupero dei dati in tempo reale.

Probabilmente ci avvicinerei nei seguenti passaggi:

  1. Funzionalità di creazione di grafici di base (perché per ora sono i dati di codice più interessanti e più resistenti)
  2. Database e amp; accesso ai dati per popolare i grafici
  3. Recupero dati e amp; memorizzazione nel database dal fornitore di dati
  4. Aggiornamento dei grafici in tempo reale in base agli eventi di input del fornitore di dati
  5. Modifica e amp; refactoring per il resto della tua vita
risposta data 11.06.2011 - 19:08
fonte
0

Il database è la decisione meno importante. MS SQL Server, PostgreSQL o MySQL funzioneranno bene.

Ecco le decisioni importanti:

  1. Piattaforma: verrà eseguita sul tuo computer o su un server e consegnata tramite una pagina Web?
  2. Fornitore di dati. Questa è la parte più difficile da ricercare e risolvere. Ho avuto esperienze positive con MB Trading. Puoi trovare ulteriori risposte su Quant SE o forse Overflow dello stack . Dovrai creare un prototipo per testare l'API.
  3. Lingua - Dalla mia esperienza personale, facendo qualcosa di simile, suggerisco C # se verrà eseguito sul tuo computer. Non C ++ o C, in quanto sono molto più utili con poco beneficio per questa applicazione. Java potrebbe essere una buona scelta. Le rotaie potrebbero essere buone se funzionano su un server.

Potrebbe essere possibile interrogare il fornitore di dati una volta al secondo e aggiornare lo schermo. Ciò dipenderà da come funziona l'API.

Ecco alcuni consigli. Lavorare con un'API provider di dati e disegnare grafici non è molto facile per un principiante. Probabilmente avrai bisogno di imparare un po 'sulla lingua in cui lavori durante il processo. Puoi trovare grandi risorse su Amazon e chiedere qui o su Stack Overflow per il meglio.

    
risposta data 31.03.2012 - 18:06
fonte

Leggi altre domande sui tag