Santrauka
Įmonė daug laiko skiria rankinei rinkos analizei, darbui su skaičiuoklėmis ir pavedimų pateikimui.
Sprendimas tapo Python prekybos programine įranga, sujungiančia rinkos duomenis, strategijos logiką, skaičiuokles ir brokerių paskyras.
Programinė įranga sukurta siekiant sumažinti rankinį prekybos darbą, pasikartojantį duomenų tvarkymą ir išvengiamas pavedimų vykdymo pastangas.
Kliento istorija
Klientas yra algoritminės prekybos įmonė iš Lenkijos. Ji vykdo tiesiogines, atgaliniu testavimu patikrintas ir aukšto dažnio strategijas per brokerių API bei prekiauja akcijomis ir opcionais.
Komanda tvarko žvakių duomenis, prekybos įvestis bei pirkimo ir pardavimo pavedimus keliose brokerių paskyrose. Prekybininkams ir prekybos įmonėms reikia pakeisti rankinę rinkos duomenų analizę, prekybos duomenų tvarkymą ir pavedimų pateikimą automatizuotomis sistemomis.
Užduotis buvo aiški: automatizuoti prekybos procesą naudojant Python, prireikus susieti jį su Interactive Brokers arba Shoonya Broker Account ir patikrinti strategijas atliekant atgalinį testavimą. Įmonė taip pat norėjo į procesą įkelti Excel duomenis ir po vykdymo gauti atnaujintus prekybos duomenis.
Sprendimas sukurtas kaip tarpusavyje susietų ekranų rinkinys: intervalo nustatymo, žvakių analizės, tiesioginio stebėjimo, Excel duomenų ir atgalinio testavimo. Strategijos laukai, pavedimų tipai, brokerio būsena ir prekybos žurnalai palikti matomi, kad įmonė galėtų valdyti procesą pagal savo taisykles.
Klientas pageidavo
- Patikrinti strategijas atliekant atgalinį testavimą ir pateikti reikalingas instrukcijas ar dokumentaciją.
- Sukurti prekybos automatizavimą naudojant Python, prireikus numatant Java arba C++ alternatyvas.
- Prireikus susieti Interactive Brokers arba Shoonya Broker Account.
- Nuskaityti Excel prekybos įvestis ir po vykdymo atnaujinti duomenis.
Kodėl netiko paruošta programinė įranga
Paruoštos brokerių platformos apima finansinio turto pirkimą, pardavimą ir valdymą, tačiau jų aprašymai nesujungia šios įmonės skaičiuoklių įvesčių, konfigūruojamos strategijos logikos, atgalinio testavimo ir pavedimų vykdymo į vieną pritaikytą procesą. Sprendimas sukurtas taip, kad šios dalys veiktų kartu ir atitiktų įmonės taisykles, o dokumentacija bei mokymai leistų juo naudotis savarankiškai.
Projekto apžvalga
Sprendimas sukurtas naudojant Python prekybos programą, kuri sujungia rinkos duomenis, strategijos logiką, skaičiuoklių įvestis ir brokerių paskyras. Pagrindiniai etapai atliekami vienoje vietoje: duomenų paruošimas, žvakių peržiūra, strategijos tikrinimas, pavedimų vykdymas ir pozicijų stebėjimas.
Prekybos įvestims tvarkyti sukurta Excel darbo sritis. Ji nuskaito skaičiuoklių duomenis, rodo žvakių duomenis ir pažymi po vykdymo atnaujintus prekybos duomenis.
Prekybos ekrane pateikiami pasirenkami intervalai, strategijos parametrai bei pirkimo ir pardavimo kriterijai. Tame pačiame ekrane galima matyti brokerio ryšio būseną ir rinkos, limitinių bei stop pavedimų tipus.
Programa pateikia pavedimus per palaikomus brokerių ryšius ir leidžia stebėti vykdymo informaciją.
Ypatingas dėmesys skirtas strategijų tikrinimui. Istorinius žvakių duomenis, strategijos parametrus ir rezultatų lenteles naudojantis atgalinis testavimas leidžia palyginti strategiją prieš pradedant prekybą realioje rinkoje.
Sistema suplanuota kaip modulių rinkinys, todėl joje lieka vietos dokumentacijai, diegimo instrukcijoms, pagalbai po pristatymo ir būsimiems papildymams, pavyzdžiui, vietiniam apdorojimui ar derinimui realioje rinkoje.
Įgyvendintos pagrindinės funkcijos
- Automatizuota prekyba per brokerių paskyras
- Rinkos, limitiniai ir stop pavedimai
- Žvakių duomenų gavimas pasirinktais intervalais
- Konfigūruojamos strategijos ir pirkimo bei pardavimo kriterijai
- Excel prekybos duomenų importavimas ir atnaujinimas
- Strategijų atgalinis testavimas naudojant istorinius žvakių duomenis
- Aktyvių pavedimų, pozicijų ir įspėjimų stebėjimas
- Brokerio paskyros ryšio būsena
- Python pagrįstas prekybos automatizavimas