Kopsavilkums
Uzņēmums daudz laika velta manuālai tirgus analīzei, darbam ar izklājlapām un rīkojumu izvietošanai.
Risinājums kļuva par Python tirdzniecības programmatūru, kas savieno tirgus datus, stratēģijas loģiku, izklājlapas un brokera kontus.
Programmatūra ir izstrādāta, lai samazinātu manuālo tirdzniecības darbu, atkārtotu datu apstrādi un novēršamus izpildes centienus.
Klienta stāsts
Klients ir algoritmiskās tirdzniecības uzņēmums no Polijas. Tas izmanto reāllaika, atpakaļtestētas un augstas frekvences stratēģijas, izmantojot brokeru API, kā arī nodarbojas ar akciju un opciju tirdzniecību.
Komanda apstrādā sveču datus, tirdzniecības ievadi un pirkšanas un pārdošanas rīkojumus vairākos brokera kontos. Tirgotājiem un tirdzniecības uzņēmumiem manuāla tirgus datu analīze, tirdzniecības datu apstrāde un rīkojumu izvietošana jāaizstāj ar automatizētām sistēmām.
Pieprasījums bija vienkāršs: automatizēt tirdzniecības procesu Python valodā, vajadzības gadījumā savienot to ar Interactive Brokers vai Shoonya Broker Account un validēt stratēģijas ar atpakaļtestēšanu. Uzņēmumam bija nepieciešams arī Excel datus ievadīt procesā un pēc izpildes saņemt atjauninātus tirdzniecības datus.
Risinājums tika veidots kā savienotu ekrānu kopums intervālu iestatīšanai, sveču analīzei, reāllaika uzraudzībai, Excel datiem un atpakaļtestēšanai. Stratēģiju lauki, rīkojumu veidi, brokera statuss un tirdzniecības žurnāli bija redzami vienuviet, lai uzņēmums varētu pārvaldīt procesu atbilstoši saviem noteikumiem.
Klients vēlējās
- Validēt stratēģijas ar atpakaļtestēšanu un nodrošināt nepieciešamās norādes vai dokumentāciju.
- Izveidot tirdzniecības automatizāciju Python valodā, vajadzības gadījumā piedāvājot Java vai C++ alternatīvas.
- Vajadzības gadījumā savienot Interactive Brokers vai Shoonya Broker Account.
- Nolasīt Excel tirdzniecības ievadi un pēc izpildes atjaunināt datus.
Kāpēc gatava programmatūra nebija piemērota
Gatavās brokeru platformas nodrošina pirkšanu, pārdošanu un finanšu aktīvu pārvaldību, taču to aprakstos šī uzņēmuma izklājlapu ievade, konfigurējamā stratēģijas loģika, atpakaļtestēšana un brokera izpilde nav apvienotas vienā pielāgotā procesā. Risinājums tika izstrādāts, lai šīs daļas apvienotu un pielāgotu uzņēmuma noteikumiem, vienlaikus nodrošinot dokumentāciju un apmācību patstāvīgai lietošanai.
Projekta pārskats
Risinājums tika izstrādāts ap Python tirdzniecības lietotni, kas savieno tirgus datus, stratēģijas loģiku, izklājlapu ievadi un brokera kontus. Struktūra apvieno galvenos posmus vienuviet: datu sagatavošanu, sveču pārskatīšanu, stratēģijas validēšanu, rīkojumu izpildi un pozīciju uzraudzību.
Tirdzniecības ievades apstrādei tika izveidota Excel darba vide. Tā nolasa izklājlapu datus, attēlo sveču datus un atzīmē pēc izpildes iegūtos atjauninātos tirdzniecības datus.
Tirdzniecības ekrānā apvienoti izvēlami intervāli, stratēģijas parametri un pirkšanas un pārdošanas kritēriji. Tajā pašā ekrānā pieejams brokera savienojuma statuss, kā arī tirgus, limita un stop rīkojumu veidi.
Lietotne izvieto rīkojumus, izmantojot atbalstītos brokera savienojumus, un saglabā izpildes informāciju uzraudzībai.
Īpaša uzmanība tika pievērsta stratēģijas validēšanai. Atpakaļtestēšanas ekrānā tiek izmantoti vēsturiskie sveču dati, stratēģijas parametri un rezultātu tabulas, lai uzņēmums varētu salīdzināt stratēģiju pirms tās izmantošanas reālajā tirdzniecībā.
Sistēma tika plānota kā moduļu kopums, atstājot iespēju dokumentācijai, iestatīšanas norādēm, atbalstam pēc piegādes un vēlākiem papildinājumiem, piemēram, lokālai apstrādei vai reālā tirgus atkļūdošanai.
Piegādātās galvenās funkcijas
- Automatizēta tirdzniecība, izmantojot brokera kontus
- Tirgus, limita un stop rīkojumi
- Sveču datu iegūšana izvēlamos intervālos
- Konfigurējamas stratēģijas un pirkšanas/pārdošanas kritēriji
- Excel tirdzniecības datu imports un atjaunināšana
- Stratēģiju atpakaļtestēšana ar vēsturiskajiem sveču datiem
- Reāllaika rīkojumu, pozīciju un brīdinājumu uzraudzība
- Brokera konta savienojuma statuss
- Uz Python balstīta tirdzniecības automatizācija