Domanda

Negli ultimi paio di settimane mi sono imbattuto in un sacco di articoli sul trading ad alta frequenza.Tutti parlano di quanto sia importante i computer e il software è per questo, ma dal momento che sono tutti scritti da un punto di vista finanziario c'è nessun dettaglio su cosa fare?

Qualcuno può spiegare dal punto di programmatori punto di vista che cosa è il trading ad alta frequenza?e perché computer/software così importante in questo campo?

È stato utile?

Soluzione

Per espandere su ciò che ha detto Paolo:

Il server esegue HFT o UHFT sono quasi sempre collocato nel centro dati del cambio. Questo riduce al minimo la latenza e permette anche le algos usano ordini Flash (che potrebbero essere vietati a breve) per arrivare primo sguardo al flusso di ordini prima che l'ordine viene trasmesso nel mercato. molti algo di valuteranno un ordine in pochi millesimi di secondo e questo è un gioco in cui contano millisecondi. gruppi commerciali sono stati conosciuti per tirare fuori tutte le fermate tra cui l'assunzione di sviluppatori del kernel di costruire componenti custom OS per ottimizzare al meglio il tempo che intercorre tra quando un ordine colpisce il NIC e quando viene presa la misura che comporta.

Ci sono un paio di grandi secchi di strategie che vengono comunemente usati oggi:

Il primo è il commercio di fronte a grandi ordini di blocco. Per utilizzare l'esempio di Paolo di acquistare un milione di azioni di IBM, HFT algo la volontà di essere alla ricerca per l'acquisto di pressione. A imprese computer a diversi scambi e dark pool dovranno condividere le informazioni in quanto l'ordine sarà diviso e in genere eseguito su più scambi e dark pool. Un HFT algo utilizzerà modelli statistici / macchina imparato a prevedere le dimensioni della pressione acquisto e se ritiene che ci sia abbastanza sarà anche accumulare le azioni da tutti i mercati e tentare di venderli ad un prezzo leggermente più alto.

Il secondo è liquidità degli scambi abbuono in cui gli scambi pagheranno i partecipanti al mercato per aggiungere liquidità. ( Vedi bordo diretto Prezzi ) Azioni che vengono acquistati o venduti possono essere detenuti solo per un periodo molto breve lasso di tempo. L'obiettivo è solo quello di raccogliere lo sconto e rompere anche su tutto il resto.

In entrambi questi tipi di strategia l'idea è quella di rendere centesimi (o frazioni) su un mestiere e fare questo molte volte al giorno.

Come avrete notato ci sono un sacco di posti di lavoro HFT disponibili e, quindi, i mestieri sono sempre più affollati. Io vedo questo come un po 'come stat arb dai primi anni del 2000 e, infine, il commercio non sarà molto redditizia dal momento che tanti giocatori stanno cercando di farlo.

Per quanto riguarda il motivo per cui il software è importante: la materia millisecondi. La latenza è super importante e il codice deve essere stretto, veloce e rock solida e stabile. Avere un incidente algo e di essere catturati con azioni quando il mercato si muove contro di voi non è molto redditizio. Ingegneria per queste esigenze è necessariamente diversa e richiede competenze diverse. Crunching il portafoglio ordini pieno in tempo reale fa richiede una certa potenza e buoni algoritmi. E 'divertente e interessante però.

Altri suggerimenti

Ci sono due parti per qualsiasi sistema HFT:

  1. in tempo reale di trading super-bassa latenza - sottoscrivere in tempo reale del portafoglio ordini e prezzo informazioni da molte fonti diverse, eseguire algoritmi calibrate progettati per sia effettuare un grosso ordine con il minimo slittamento (vale a dire che si desidera acquistare 1 milione azioni di IBM entro la fine della giornata senza spostare il mercato troppo), o semplicemente per cercare di rendere statisticamente soldi sulla base di arbitraggio a breve termine. Questo sistema ha anche per fornire buoni strumenti di rischio e di gestione delle posizioni per consentire uno o più operatori umani di monitorare e controllare ciò che il sistema sta facendo in modo efficace.

  2. Durante la notte / settimanale ecc analisi di grandi quantità di "dati tick" (prezzo, il tempo e l'ordine informazioni sul libro, e dati storici sui sistemi precedenti attività di trading), cercando di ottimizzare e "cercare" il migliore algoritmi da eseguire in tempo reale da parte # 1. vale a dire "calibrare" e testare gli algoritmi che verranno eseguiti in 1 #.

Il primo richiede bassa latenza ed estremamente buon accesso ai mercati (cioè una connessione di rete diretta allo scambio con luppolo minime). Questa parte di solito deve essere scritto in un linguaggio non GC come C o C ++ (mezzo secondo ritardo mentre il garbage collector arresta il mondo potrebbe essere molto costoso). Il secondo di solito richiede una griglia e un sacco di buona simulazione e software di analisi statistica, AI algoritmi ecc

Vorrei solo aggiungere che le applicazioni più diffuse in questo tipo di trading tendono ad essere CEP (Complex Event Processing). Alcuni esempi sono StreamBase, Apama e Aleri. Sull'altra estremità, per affrontare le enormi quantità di dati, le persone utilizzano i database ad alta velocità, come ad esempio KDB, OneTick e Vhayu.

Se si vuole capire il tipo di sfide tecniche, vi suggerisco di guardare questi fornitori prima. I loro materiali di marketing vi darà un buon senso delle applicazioni aziendali, così come le sfide tecniche.

In certi momenti (ad esempio su uno scadenza dei futures) è necessario fare migliaia di mestieri di un minuto - gli esseri umani, ovviamente, non può farlo senza aiuto. Questo proposito è un momento molto stressante per il programmatore, come se qualcosa va storto, non v'è quasi alcuna possibilità di recupero -. Programmatori tendono a guardare i loro file di log andare in streaming da un po 'con il cuore in bocca

Hai bisogno di sapere i prezzi, decidere velocemente cosa è andare su e giù e acquistare e vendere di conseguenza.Dato che ci sono un sacco di diverse posizioni negoziate il migliore software in uso per l'analisi e l'esecuzione di accordi più soldi che si può potenzialmente fare.

Meglio significherebbe spesso l'aggiornamento dei dati, l'individuazione di interessanti tendenze in modo che si può reagire rapidamente, è facile da utilizzare quando si esegue le operazioni richieste frequentemente.

  

il motivo per cui è il computer / software così importante in questo campo?

Le più alte prestazioni e bassa latenza è auspicabile, dal momento che il più veloce che si può reagire alle cose, più soldi si può potenzialmente fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top