Alegerea Software-ului de tranzacționare algoritmică potrivită

Calloway Software Profitable Trading Session Winning Streak Continues! Live Trading (Noiembrie 2024)

Calloway Software Profitable Trading Session Winning Streak Continues! Live Trading (Noiembrie 2024)
Alegerea Software-ului de tranzacționare algoritmică potrivită

Cuprins:

Anonim

În timp ce utilizează tranzacționarea algoritmică, comercianții au încredere în banii câștigați cu greu în software-ul de tranzacționare pe care îl folosesc. Piesa potrivită de software de calculator este foarte importantă pentru a asigura executarea eficientă și corectă a comenzilor comerciale. Software-ul defect sau unul fără caracteristicile necesare poate duce la pierderi uriașe. Acest articol analizează aspectele cheie pe care trebuie să le luați în considerare pentru alegerea software-ului potrivit pentru tranzacționarea algoritmică. (Pentru mai multe, consultați: Elementele de bază ale tranzacționării algoritmice: Concepte și exemple.)

Un grund rapid pentru tranzacționarea algoritmică

Un algoritm este definit ca un set specific de instrucțiuni pas cu pas pentru a finaliza o anumită sarcină. Fie ca este vorba despre jocul simplu de calculator, cum ar fi Pac-Man sau o foaie de calcul care oferă un număr imens de funcții, fiecare program urmează un set specific de instrucțiuni bazate pe un algoritm de bază.

Comerțul algoritmic este procesul de utilizare a unui program de calculator care urmează unui set definit de instrucțiuni pentru plasarea unei comenzi comerciale. Scopul programului de tranzacționare algoritmică este identificarea dinamică a oportunităților profitabile și plasarea tranzacțiilor pentru a genera profituri la o viteză și o frecvență care este imposibil de egalat de către un comerciant uman. Având în vedere avantajele unei acuratețe mai mare și a vitezei de execuție fulger, activitățile de tranzacționare bazate pe algoritmi de calculator au câștigat o popularitate extraordinară. (Pentru mai multe detalii, consultați: Pro și contra sistemelor automate de tranzacționare.)

Cine utilizează software-ul de tranzacționare algoritmică?

Comerțul algoritmic este dominat de firme mari de tranzacționare, cum ar fi fondurile speculative, băncile de investiții și firmele comerciale cu drepturi de proprietate. Având în vedere disponibilitatea abundentă a resurselor datorită dimensiunii lor mari, astfel de firme își construiesc, de obicei, propriul software de tranzacționare propriu, inclusiv sisteme de tranzacționare mari, cu centre de date dedicate și personal de sprijin.

La nivel individual, comercianții și quanzii cu experiență folosesc tranzacționarea algoritmică. Proprietarii comercianți, care sunt mai puțin capabili de tehnologie, pot cumpăra software de tranzacționare gata pentru nevoile lor de tranzacționare algoritmică. Software-ul este oferit de brokerii lor sau achiziționat de la furnizori terți. Quants au o bună cunoaștere a programelor de tranzacționare și de computere, și dezvoltă software de tranzacționare pe cont propriu. (Pentru mai multe, vedeți: Quants: Ce fac și cum au evoluat.)

Software-ul de comercializare algoritmică - Construiți sau cumpărați?

Există două moduri de a accesa software-ul de tranzacționare algoritmic: construiți sau cumpărați.

Achiziționarea de software gata oferă acces rapid și în timp util, în timp ce construirea propriului dvs. permite o flexibilitate deplină de a personaliza nevoile dvs. Software-ul de tranzacționare automatizat este adesea costisitor pentru cumpărare și poate fi plin de lacune, care, dacă sunt ignorate, vă pot duce la pierderi.Costurile ridicate pot elimina potențialul realist al profitului din compania dvs. de tranzacționare algoritmică. Pe de altă parte, construirea software-ului de tranzacționare algoritmic pe cont propriu necesită timp, efort și o cunoaștere profundă și este posibil să nu fie lipsită de siguranță.

Riscul implicat în tranzacționarea automată este foarte ridicat, ceea ce poate duce la pierderi mari. Indiferent dacă cineva decide să cumpere sau să construiască, devine important să fii familiarizat cu caracteristicile de bază necesare.

Caracteristicile cheie ale software-ului de comercializare algoritmică

  • Disponibilitatea datelor de piață și ale companiei : Toți algoritmii de tranzacționare sunt concepuți pentru a acționa în timp real pe date de piață și cotații de preț. Câteva programe sunt, de asemenea, personalizate pentru a ține cont de datele fundamentale ale companiei, cum ar fi rapoartele EPS și PE. Orice software de tranzacționare algoritmică trebuie să aibă feed-uri de date în timp real pe piață, precum și un feed de date pentru companii. Acesta ar trebui să fie disponibil ca sistem de integrare în sistem sau ar trebui să aibă o dispoziție care să se integreze cu ușurință din surse alternative.
  • Conectivitate pentru diferite piețe: Comercianții care doresc să lucreze pe mai multe piețe ar trebui să rețină că fiecare schimb ar putea furniza feedul de date într-un format diferit, cum ar fi TCP / IP, Multicast sau FIX. Software-ul dvs. ar trebui să poată accepta feeduri de diferite formate. O altă opțiune este de a merge cu furnizori de date terțe, cum ar fi Bloomberg și Reuters, care să cumuleze date de piață de la diferite burse și să le ofere într-un format uniform pentru clienții finali. Software-ul de tranzacționare algoritmică ar trebui să poată procesa aceste fluxuri agregate după cum este necesar.
  • Latency : Cel mai mic cuvânt din această listă este cel mai important factor al algo-trading-ului. Latența este întârzierea introdusă în mișcarea punctelor de date de la o aplicație la alta. Luați în considerare următoarea secvență de evenimente. Este nevoie de 0,2 secunde pentru ca o cotă de preț să vină de la schimbul la centrul de date al furnizorului de software (DC), la 0,3 secunde de la centrul de date pentru a ajunge la ecranul dvs. de tranzacționare, 0,1 secunde pentru ca software-ul dvs. de tranzacționare să proceseze acest lucru a primit o cotație de 0,3 secunde pentru a analiza și a plasa o tranzacție, 0,2 secunde pentru ca ordinul dvs. de tranzacționare să ajungă la brokerul dvs., 0,3 secunde pentru ca brokerul dvs. să vă direcționeze comanda către bursă.

Timp total scurs = 0. 2 + 0. 3 + 0. 1 + 0. 3 + 0. 2 + 0. 3 = Total 1. 4 secunde.

În lumea dinamică de tranzacționare din ziua de astăzi, prețul inițial de cotație s-ar fi schimbat de mai multe ori în această perioadă de 4 s. Această întârziere ar putea face sau va întrerupe afacerea dvs. de tranzacționare algoritmică. Trebuie să păstrați această latență la cel mai mic nivel posibil pentru a vă asigura că obțineți informațiile cele mai recente și mai exacte, fără niciun decalaj temporal.

Latența a fost redusă la microsecunde și trebuie făcută toate încercările de a menține cât mai puțin posibil în sistemul de tranzacționare. Câteva măsuri includ conectarea directă la schimb pentru a obține date mai rapide prin eliminarea între timp a vânzătorului; prin îmbunătățirea algoritmului dvs. de tranzacționare astfel încât să dureze mai puțin de 0. 1 + 0. 3 = 0. 4 secunde pentru analiză și luare a deciziilor; sau prin eliminarea brokerului și trimiterea directă a tranzacțiilor la bursă pentru a salva 0.2 secunde.

  • Configurația și personalizarea : Majoritatea software-urilor de tranzacționare algoritmică oferă algoritmi standard de tranzacționare încorporați, cum ar fi cei bazați pe o încrucișare a mediei mobile de 50 de zile (MA) cu MA 200 de zile. Un comerciant ar putea dori să experimenteze trecerea la MA de 20 de zile cu MA de 100 de zile. Cu excepția cazului în care software-ul oferă o astfel de personalizare a parametrilor, comerciantul poate fi constrâns de funcționalitatea fixă ​​încorporată. Fie că este vorba despre cumpărare sau de construire, software-ul de tranzacționare ar trebui să aibă un grad ridicat de personalizare și configurabilitate.
  • Funcționalitatea de a scrie programe personalizate : Matlab, Python, C ++, JAVA și Perl sunt limbile de programare obișnuite utilizate pentru a scrie software-ul de tranzacționare. Majoritatea software-urilor de tranzacționare vândute de furnizorii terță parte oferă posibilitatea de a scrie propriile programe personalizate în cadrul acestuia. Acest lucru permite unui comerciant să experimenteze și să încerce orice concept de tranzacționare pe care îl dezvoltă. Software-ul care oferă codare în limba de programare la alegerea dvs. este în mod evident preferată. (Mai mult, vezi: Codificarea sistemelor de tranzacționare: Introducere.)
  • Funcția Backtesting pe datele istorice : Simularea backtesting implică testarea unei strategii de tranzacționare pe date istorice. Evaluează utilitatea și rentabilitatea strategiei cu privire la datele anterioare, certificând-o pentru succes (sau eșec sau orice modificări necesare). Această caracteristică obligatorie trebuie, de asemenea, să fie însoțită de o disponibilitate a datelor istorice, pe care se poate efectua testul de backtest.
  • Integrarea cu interfața de tranzacționare : Software-ul de tranzacționare algoritmică plasează tranzacțiile automat în funcție de apariția criteriilor dorite. Software-ul ar trebui să aibă conectivitatea necesară pentru rețeaua broker (e) pentru plasarea comerțului sau o conectivitate directă la bursă pentru a trimite comenzile comerciale.
  • Integrarea Plug-n-play : Un comerciant poate utiliza simultan un terminal Bloomberg pentru analiza prețurilor, un terminal de broker pentru plasarea tranzacțiilor și un program Matlab pentru analiza tendințelor. În funcție de nevoile individuale, software-ul de tranzacționare algoritmică trebuie să aibă integrare ușoară cu plug-n-play și API-uri disponibile în cadrul acestor instrumente de tranzacționare utilizate în mod obișnuit. Acest lucru asigură scalabilitatea, precum și integrarea.
  • Programare independentă de platformă: Câteva limbi de programare au nevoie de platforme dedicate. De exemplu, anumite versiuni ale C ++ pot rula numai pe anumite sisteme de operare, în timp ce Perl se poate executa pe toate sistemele de operare. În timp ce construim sau cumpărăm software de tranzacționare, ar trebui să acordăm preferință software-ului de tranzacționare care este independent de platformă și care susține limbile independente de platformă. Niciodată nu știți cum va evolua tranzacționarea dvs. în câteva luni.
  • Lucrurile sub capotă : O afirmație obișnuită spune: "Chiar și o maimuță poate să facă clic pe un buton al mouse-ului pentru a plasa un comerț. "Dependența de computere nu trebuie să fie orbită. Este comerciantul care ar trebui să înțeleagă ce se întâmplă sub capotă. În timp ce cumpărați software-ul de tranzacționare, trebuie să cereți și să faceți timp pentru a trece prin documentația detaliată care arată logica fundamentală a unui anumit software de tranzacționare algoritmic.Evitați orice software de tranzacționare care este o cutie neagră completă și care pretinde a fi mașină secretă de bani.

În timp ce construim software-ul, fii realist cu privire la ceea ce implementi și fii clar în legătură cu scenariile în care poate eșua. Asigurați-o cu exactitate înaintea utilizării cu bani reali.

De unde să începi?

Tot software-ul de comert algoritmic readymade oferă de obicei versiuni de încercare cu funcționalitate limitată sau perioade de încercare limitate cu funcționalitate completă. Explorați-le pe deplin în timpul acestor încercări înainte de a cumpăra ceva. Nu uitați să treceți în detaliu documentația disponibilă.

Pentru a construi o sursă liberă bună pentru a explora tranzacționarea algoritmică este quantopiană. Oferă o platformă online pentru testarea și dezvoltarea tranzacțiilor algoritmice. Persoanele fizice pot încerca să personalizeze orice algoritm existent sau să scrie una nouă. Platforma oferă de asemenea software-ul integrat de tranzacționare algoritmică pentru a fi testat în raport cu datele de piață.

Linia de fund

Software-ul de tranzacționare algoritmică este costisitor de cumpărat și dificil de construit pe cont propriu. Achiziționarea de produse ready-made oferă acces rapid și în timp util, iar construirea propriului dvs. permite o flexibilitate deplină pentru a-l personaliza în funcție de nevoile dvs. Înainte de a vă aventura cu bani reali, trebuie să înțelegeți pe deplin funcționalitatea de bază a software-ului de tranzacționare cumpărat sau construit algoritmic. Dacă nu faceți acest lucru, poate fi o pierdere costisitoare dificil de recuperat.