Când lucram ca inginer de dezvoltare de sisteme la o firmă de gestionare a investițiilor, am aflat că pentru a reuși în finanțarea cantitativă trebuie să fii bun cu matematica, programarea și analiza datelor.

Tranzacționarea algoritmică sau cantitativă poate fi definită ca procesul de proiectare și dezvoltare a strategiilor statistice și matematice de tranzacționare. Este un domeniu extrem de sofisticat al finanțelor.

Deci, întrebarea este cum începeți cu Algorithmic Trading?

O să vă prezint cinci subiecte esențiale pe care ar trebui să le studiați pentru a vă deschide drumul în această lume fascinantă a tranzacționării.

Personal prefer Python, deoarece oferă gradul corect de personalizare, ușurința și viteza de dezvoltare, testarea cadrelor și viteza de execuție. Din această cauză, toate aceste subiecte sunt axate pe Python pentru tranzacționare.

1. Aflați programarea Python

Pentru a avea o carieră înfloritoare în știința datelor în general, aveți nevoie de elemente fundamentale solide. Indiferent de limba pe care o alegeți, ar trebui să înțelegeți cu atenție anumite subiecte în limba respectivă.

Iată ce ar trebui să căutați pentru a stăpâni în ecosistemul Python pentru știința datelor:

  • Configurare mediu– aceasta include crearea unui mediu virtual, instalarea pachetelor necesare și lucrul cu notebook-ul Jupytercolaburi Google sau Google.
  • Structuri de date– unele dintre cele mai importante structuri de date pitonice sunt liste, dicționare, tablouri NumPy, tupluri și seturi. Am adunat un câteva exemple în articolul legat pentru a le afla.
  • Programare orientată pe obiecte –Ca analist cuantificativ, ar trebui să vă asigurați că sunteți bun la scrierea unui cod bine structurat, cu clase adecvate definite. Trebuie să învățați să utilizați obiecte și metodele lor în timp ce utilizați pachete externe precum Pandas, NumPy, SciPy și așa mai departe.

Curriculumul Routech oferă, de asemenea, o certificare în Analiza datelor cu Python pentru a vă ajuta să începeți cu elementele de bază.

Aflați cum să analizați datele financiare

Analiza datelor este o parte crucială a finanțelor. Pe lângă învățarea gestionării cadrelor de date folosind panda, există câteva subiecte specifice la care ar trebui să acordați atenție în timp ce vă ocupați de tranzacționarea datelor.

Cum să explorați datele folosind Pandas

Unul dintre cele mai importante pachete din stiva Python pentru știința datelor este, fără îndoială, Pandas. Puteți realiza aproape toate sarcinile majore utilizând funcțiile definite în pachet.

Concentrați-vă pe crearea de cadre de date, filtrare (loc, iloc, query), statistici descriptive (rezumat), join / merge, grupare și subset.

Cum să gestionați datele seriilor temporale

Datele de tranzacționare se referă la analiza seriilor temporale. Ar trebui să învățați să reeșantionați sau să reindexați datele pentru a schimba frecvența datelor, de la minute la ore sau de la datele OHLC de la sfârșitul zilei la datele de la sfârșitul săptămânii.

De exemplu, puteți converti seriile de timp de 1 minut în date de serii de timp de 3 minute utilizând funcția de eșantionare:

df_3min = df_1min.resample('3Min', label="left").agg({'OPEN': 'first', 'HIGH': 'max', 'LOW': 'min', 'CLOSE': 'last'})

3. Cum se scrie algoritmi de tranzacționare fundamentali

O carieră în finanțele cantitative necesită o înțelegere solidă a testării ipotezelor statistice și a matematicii. O bună înțelegere a conceptelor precum calculul multivariant, algebra liniară, teoria probabilității vă va ajuta să puneți o bază bună pentru proiectarea și scrierea algoritmilor.

Puteți începe prin calcularea mediilor mobile pe datele de stabilire a prețurilor stocului, scrierea unor strategii algoritmice simple, cum ar fi strategia de încrucișare medie medie sau strategia de reversiune medie și învățarea despre tranzacționarea puterii relative.

După ce ați făcut acest mic, dar semnificativ salt de exersare și înțelegere a modului în care funcționează algoritmii statistici de bază, puteți analiza domeniile mai sofisticate ale tehnicilor de învățare automată. Acestea necesită o înțelegere mai profundă a statisticilor și a matematicii.

Iată două cărți cu care puteți începe:

Iată câteva cursuri care vă vor ajuta să începeți cu Python for Trading și care acoperă majoritatea subiectelor pe care le-am capturat aici:

Puteți obține 10% reducere la cursul Quantra folosind codul meu HARSHIT10.

4. Aflați despre Backtesting

Odată ce ați terminat de codificat strategia dvs. de tranzacționare, nu puteți pur și simplu să o testați pe piața live cu capital real, nu?

Următorul pas este de a expune această strategie unui flux de date istorice de tranzacționare, care ar genera semnale de tranzacționare. Tranzacțiile efectuate ar acumula un profit sau o pierdere asociată (P&L), iar acumularea tuturor tranzacțiilor vă va oferi P&L total. Aceasta se numește backtesting.

Testarea înapoi necesită să fiți bine versat în multe domenii, cum ar fi matematica, statistica, ingineria software și microstructura pieței. Iată câteva concepte pe care ar trebui să le învățați pentru a obține o înțelegere decentă a testării înapoi:

  • Puteți începe prin a înțelege indicatorii tehnici. Explorează pachetul Python numit TA_Lib pentru a utiliza acești indicatori.
  • Folosiți indicatori de impuls precum SAR parabolică și încercați să calculați costul tranzacției și derapajul.
  • Învață să trasezi rezultatele cumulative ale strategiei și studiază performanța generală a strategiei.
  • Un concept foarte important care afectează performanța testului de spate este părtinirea. Ar trebui să aflați despre părtinirea optimizării, părtinirea anticipării, toleranța psihologică și părtinirea supraviețuirii.

5. Măsuri de performanță – Cum se evaluează strategiile de tranzacționare

Este important pentru dvs. să puteți explica strategia concis. Dacă nu vă înțelegeți strategia, este posibil ca orice modificare externă a regulamentului sau a schimbării regimului, strategia dvs. să înceapă să se comporte anormal.

După ce înțelegeți încrederea strategiei, următoarele valori de performanță vă pot ajuta să aflați cât de bună sau de rea este strategia:

  • Raportul Sharpe– caracterizează euristic raportul risc / recompensă al strategiei. Cuantifică randamentul pe care îl puteți obține pentru nivelul de volatilitate suferit de curba capitalului propriu.
  • Volatilitate– cuantifică „riscul” legat de strategie. Raportul Sharpe întruchipează și această caracteristică. Volatilitatea mai mare a unui activ suport duce adesea la un risc mai mare în curba capitalului propriu și care are ca rezultat rapoarte Sharpe mai mici.
  • Tragere maximă– cea mai mare scădere procentuală globală de vârf până la minim pe curba de capitaluri proprii a strategiei. Tragerile maxime sunt deseori studiate împreună cu strategiile de impuls pe măsură ce suferă de ele. Învață să-l calculezi folosind numpy bibliotecă.
  • Capacitate / lichiditate– determină scalabilitatea strategiei către capital suplimentar. Multe fonduri și firme de administrare a investițiilor suferă de aceste probleme de capacitate atunci când strategiile cresc în alocarea capitalului.
  • CAGR –măsoară rata medie de creștere a unei strategii pe o perioadă de timp. Se calculează după formula: (rentabilități cumulate ale strategiei) ^ (252 / numărul de zile de tranzacționare) – 1

Resurse suplimentare

Acest articol a servit drept curriculum sugerat pentru a vă ajuta să începeți tranzacționarea algoritmică. Este o listă bună de concepte de stăpânit.

Acum, întrebarea este ce resurse vă pot ajuta să vă puneți la curent cu aceste subiecte?

Iată câteva cărți clasice și cursuri utile cu sarcini și exerciții care mi s-au părut utile:

Știința datelor cu Harshit

Cu acest canal, intenționez să lansez câteva serie care acoperă întregul spațiu al științei datelor. Iată de ce ar trebui să vă abonați la canal:

Simțiți-vă liber să vă conectați cu mine pe Stare de nervozitate sau LinkedIn.