Kokkuvõte
Ettevõte kulutab aega turu käsitsi analüüsimisele, tabelarvutuse haldamisele ja korralduste esitamisele.
Lahendusest sai Pythonil põhinev kauplemistarkvara, mis ühendab turuandmed, strateegialoogika, tabelarvutused ja maaklerikontod.
Tarkvara eesmärk on vähendada käsitsi tehtavat kauplemistööd, korduvat andmetöötlust ja välditavaid korralduste täitmisega seotud tegevusi.
Kliendi lugu
Klient on Poolast pärit algoritmilise kauplemisega tegelev ettevõte. See kasutab maakleri API-de kaudu reaalajas, järeltestitud ja kõrgsageduslikke strateegiaid ning tegeleb aktsia- ja optsioonikauplemisega.
Meeskond haldab küünlaandmeid, kauplemissisendeid ning ostu- ja müügikorraldusi eri maaklerikontodel. Kauplejad ja kauplemisettevõtted vajavad süsteeme, mis asendavad turuandmete käsitsi analüüsi, tehinguandmete haldamise ja korralduste esitamise automatiseeritud lahendustega.
Soov oli lihtne: automatiseerida kauplemise töövoog Pythonis, ühendada see vajaduse korral Interactive Brokersi või Shoonya Broker Accountiga ning valideerida strateegiaid järeltestimise kaudu. Ettevõte vajas ka võimalust tuua Exceli andmed protsessi ja saada need pärast täitmist uuendatud kauplemisandmetena tagasi.
Lahendus kujundati ühendatud ekraanidena intervalli seadistamiseks, küünalde analüüsiks, reaalajas jälgimiseks, Exceli andmete haldamiseks ja järeltestimiseks. Strateegiaväljad, korralduste tüübid, maakleri olek ja kauplemislogid jäeti nähtavaks, et ettevõte saaks protsessi oma reeglite järgi hallata.
Klient soovis
- Valideerida strateegiaid järeltestimise abil ning pakkuda vajalikku juhendamist või dokumentatsiooni.
- Luua kauplemise automatiseerimine Pythonis, vajaduse korral Java või C++ alternatiividega.
- Ühendada vajaduse korral Interactive Brokers või Shoonya Broker Account.
- Lugeda Exceli kauplemissisendeid ja uuendada andmeid pärast täitmist.
Miks valmislahendus ei sobinud
Valmis maakleriplatvormid toetavad finantsvarade ostmist, müümist ja haldamist, kuid nende kirjelduste põhjal ei ühenda need ettevõtte tabelarvutuse sisendeid, seadistatavat strateegialoogikat, järeltestimist ja maakleri kaudu täitmist ühes kohandatud protsessis. Lahendus loodi nende osade ühendamiseks ning ettevõtte enda reeglitega kooskõlastamiseks, võimaldades dokumentatsiooni ja koolitustoe abil iseseisvat kasutamist.
Projekti ülevaade
Lahendus loodi Pythonil põhineva kauplemisrakenduse ümber, mis ühendab turuandmed, strateegialoogika, tabelarvutuse sisendid ja maaklerikontod. Struktuur koondab peamised etapid ühte kohta: andmete ettevalmistamine, küünalde ülevaatamine, strateegia valideerimine, korralduste täitmine ja positsioonide jälgimine.
Kauplemissisendite haldamiseks loodi Exceli tööruum. See loeb tabeliandmeid, kuvab küünlaandmeid ja märgib pärast täitmist loodud uuendatud kauplemisandmed.
Kauplemisekraan ühendab valitavad intervallid, strateegiaparameetrid ning ostu- ja müügikriteeriumid. Maakleri ühenduse olek ning turu-, limiit- ja stop-korralduste tüübid on samal ekraanil kättesaadavad.
Rakendus esitab korraldused toetatud maakleriühenduste kaudu ja hoiab täitmise andmed jälgimiseks kättesaadavana.
Erilist tähelepanu pöörati strateegia valideerimisele. Järeltestimise ekraan kasutab ajaloolisi küünlaandmeid, strateegiaparameetreid ja tulemuste tabeleid, et ettevõte saaks strateegiaid enne reaalajas kasutamist võrrelda.
Süsteem kavandati moodulitena, jättes ruumi dokumentatsioonile, seadistusjuhistele, kasutuselevõtujärgsele toele ja hilisematele täiendustele, nagu kohalik töötlemine või reaalajas turu silumine.
Teostatud põhifunktsioonid
- Automatiseeritud kauplemine maaklerikontode kaudu
- Turu-, limiit- ja stop-korraldused
- Küünlaandmete hankimine valitavate intervallidega
- Seadistatavad strateegiad ning ostu- ja müügikriteeriumid
- Exceli kauplemisandmete import ja uuendamine
- Strateegiate järeltestimine ajalooliste küünlaandmetega
- Reaalajas korralduste, positsioonide ja hoiatuste jälgimine
- Maaklerikonto ühenduse olek
- Pythonil põhinev kauplemise automatiseerimine