Interview: Wie C # und C ++ helfen, an der Börse Geld zu verdienen

    Eines der beliebtesten Themen in unserem Blog war die Geschichte von Jesse Spaulding - einem Mann, der 500.000 US-Dollar an der Börse verdient hat, indem er sein Programmierwissen und sein Verständnis der Grundlagen der Börse angewendet hat ( Teil 1 , Teil 2 ). In den Kommentaren zu diesen Texten äußerten einige Habra-Benutzer Zweifel am Realismus eines solchen Szenarios in unserem Land. Ich hörte auch Sätze wie "Nun, er hat in diesem Bereich gearbeitet."

    In diesem Zusammenhang sprach die Redaktion von ITinvest mit Andrey Gorkovenko, einem Entwickler, der den Weg von Jesse Spaulding wiederholte und es schaffte, sein Leben mithilfe der Börse und des technologischen Wissens zu verändern. Mit diesem Text eröffnen wir eine Reihe von Interviews mit direkten Teilnehmern an den Prozessen an der russischen Börse - Softwareentwicklern, Händlern und Führungskräften des Unternehmens.

    Hinweis: Andrey Gorkovenko arbeitete früher als Programmierer bei ITinvest. Insbesondere arbeitete er am SmartX- Handelsterminalprojekt .(Die Geschichte seiner Entstehung wird in einer separaten Habratopika beschrieben). Später schuf er ein universelles mechanisches Handelssystem, mit dem Sie verschiedene Handelsstrategien an der Börse umsetzen können. Diese Entwicklung bringt ihm das Haupteinkommen, das das durchschnittliche Entwicklergehalt in Moskau übersteigt.

    Hallo Andrey! Sag mir, wie bist du mit der Börse verbunden geworden?

    2007 verließ ich das vierte Jahr des Voronezh Military Institute of Radio Electronics und begann, Arbeit zu suchen. Da ich mich immer für Programmierung interessierte und, wie mir schien, bestimmte Fähigkeiten in diesem Bereich besaß, habe ich die entsprechenden Stellen in Betracht gezogen. So kam es, dass mir ein Platz in der örtlichen Voronezh-Filiale eines der größten russischen Makler angeboten wurde.

    Und was waren Ihre Aufgaben dort?

    Meine Hauptaufgabe war es, Handelsanwendungen für Firmenhändler zu entwickeln. Zum Beispiel habe ich verschiedene Systeme und Laufwerke für Scalper hergestellt . Mit einem dieser Programme war es möglich, Aufträge nicht mit der Maus, sondern direkt über die Tastatur in das Handelsterminal einzugeben. Jetzt überrascht es niemanden, aber in jenen Jahren gab es nicht viele bequeme Handelsmittel. Eine weitere Entwicklung dieser Zeit war ein Arbitrage-Roboter, der Arbitrage-Operationen in verschiedenen Märkten (Futures und Spot) durchführen konnte.

    Alles begann als einfache Befriedigung der eigenen Bedürfnisse des Unternehmens, geriet jedoch „außer Kontrolle“, da sich herausstellte, dass solche Produkte von einer großen Masse potenzieller Kunden nachgefragt wurden. Es wurde ein separates Unternehmen organisiert, das sich mit der Entwicklung von Handelsrobotern und Börsen-Software befasste. Von dieser Firma aus habe ich bereits bei ITinvest gearbeitet, wo ich mit der Entwicklung eines neuen SmartX-Handelsterminals begonnen habe (die Geschichte dieses Projekts finden Sie hier - ca. Editor ).

    Und wie kam es zu einem unabhängigen Markteintritt?

    Einige Zeit nachdem ich meinen Job gewechselt und nach Moskau gezogen war, schrieb ich optional in meiner Freizeit einen neuen Roboter, der alles handeln konnte. Es war noch wahrscheinlicher, dass es sich nicht um einen Roboter handelte, sondern um eine Handelsplattform, die eine Verbindung zu den Schnittstellen verschiedener inländischer Makler, zu verschiedenen Terminals und zur Börse herstellen konnte. Es war möglich, schnell eine Handelsstrategie darin zu laden, und es funktionierte. So etwas wie Wealth Lab oder Russian StockSharp und TSlab.

    Die Plattform wurde vollständig in C # geschrieben und alle Strategien, die in sie eingefügt werden konnten, wurden auch in dieser Sprache geschrieben. Es gab vorgefertigte Methoden zur Verarbeitung von Anträgen, Transaktionen, zum Abrufen von Daten usw. Es ist nur notwendig, die Mathematik der Handelsstrategie ohne die damit verbundene Bindung der notwendigen Prozesse zu beschreiben, und der Roboter beginnt mit dem Handel.

    Diese Plattform lebt noch, sie ist die Haupteinnahmequelle. Natürlich ist seit 2011 wenig darin erhalten geblieben, aber die Grundkonstruktionen und die Philosophie sind unverändert geblieben.

    Bild

    Ein interessanter Moment ist, dass Sie selbst kein Händler, sondern ein Programmierer sind. Haben Sie selbst Handelsstrategien geschrieben oder hat Ihnen jemand geholfen? Wie kann man mit einem solchen System Geld verdienen, wenn man den Handel nicht versteht?

    Es war so und so. Erstens hat es mir sehr geholfen, dass ich ursprünglich für ein Unternehmen gearbeitet habe, das im direkten Handel an der Börse tätig war. Ich war nur der Abteilung der professionellen Händler angeschlossen, deren Anforderungen und programmgesteuert umgesetzt werden mussten. Dies lieferte ein Verständnis der grundlegenden Marktmechanismen sowie Kenntnisse der grundlegenden Strategien für die Arbeit auf dem Markt. Zweitens habe ich einen Partner, der wesentlich mehr Erfahrung im Handel hat. Eine ArtJeff Dean vom Handel (lacht). Kein Scherz, seine Erfahrung und seine Einsicht haben die Ausbildung von mir als professioneller Händler stark beeinflusst. Die meisten Strategien, die bis heute überlebt haben, sind das Ergebnis unserer Brainstorming-Sitzungen, Streitigkeiten und Überlegungen. Ich kommuniziere auch oft mit meinen Kollegen im Shop, wir diskutieren die Nachrichten des Marktes und der marktnahen Sphäre. Von diesen Treffen können Sie oft viele neue und interessante Dinge lernen. Ich habe mir selbst einige Strategien ausgedacht und den Markt beobachtet. Ich studiere auch ständig verschiedene Lösungen in Foren, Websites, auf denen Handelsroboter verkauft werden usw. in der Hoffnung, zumindest eine adäquate Idee zu finden. Um einen Roboter herzustellen, benötigen Sie im Allgemeinen entweder eine Idee - Ihre eigene oder die einer anderen -, die Sie an Ihre Plattform anpassen und testen können.

    Außerdem war es zu dieser Zeit ein Scalping-Boom, als der aktive Handel mit RTS-Futures usw. gerade erst begann und sich entwickelte. Ich schrieb Laufwerke für dieses Geschäft - ich brachte sogar einen Joystick an das Terminal an, damit Bestellungen über Schaltflächen gesendet werden konnten. Daher waren mir die grundlegenden Handelsideen vertraut, und es war nicht schwierig, sie in eine Handelsstrategie umzuwandeln.

    Im Allgemeinen ist dies ein ziemlich faszinierender Prozess - die Trennung der Körner von der Spreu. 90% der Ideen nach dem Testen erweisen sich als Schlacke, und bestenfalls zeigen sie null in der Geschichte. Die verbleibenden Ideen werden auf versteckte und zufällige Fehler überprüft, dann im virtuellen Auftragsausführungsmodus gestartet und nur 1-2% erreichen den realen Handel.

    Ich verstehe. Was ist das Ergebnis dieses Projekts? Wie erfolgreich ist Ihre Meinung? Was können Sie als erfolgreicher Trader vorweisen?

    Ich kümmere mich nicht um externe Manifestationen des Erfolgs wie teure Autos und coole Geräte (ich benutze sogar ein altes iPhone 4 mit einem Telefon, es ist genug, obwohl ich alles kaufen kann). Im Prinzip versuche ich, den Überlegungen der Zweckmäßigkeit in allem zu folgen und asketisch zu leben - dies wirkt und hilft, Schwierigkeiten ohne Probleme zu überstehen. Aber ich spare nicht an Reisen. Erst 2013 habe ich 6 Länder besucht (im Winter - in der Tschechischen Republik, in Deutschland und Österreich, im Sommer - in Finnland, im Herbst - in Spanien und Frankreich). Was das Leben angeht, so konnte ich dank des Handels natürlich alle langweiligen Dinge wie Ausflüge zur Arbeit und Meetings loswerden, die verdammt viel Zeit verschlingen (besonders in Moskau).

    Jetzt arbeite ich von zu Hause aus, ich habe gute Ausrüstung, Monitore, eine komfortable Umgebung, einen bequemen Stuhl. Habe ich weniger arbeit Vielleicht nicht, aber ich kann meinen Zeitplan nach meinen Bedürfnissen und meiner Stimmung zusammenstellen. In dem einzigen Moment von 10:00 bis 19:00 Uhr, in dem die Haupthandelsitzung an der Börse stattfindet, müssen Sie den Roboter im Auge behalten, damit er nicht fällt. Vielmehr, dass der Austausch nicht fällt (im vergangenen Jahr ist der Austausch mehr abgestürzt als der Roboter (lacht)). Obwohl dies von überall aus möglich ist, ist das System bereits „klüger“ geworden und kann sich selbst überwachen und SMS-Nachrichten und E-Mails über seinen Status senden. Sie können es sogar in einem Café abholen, sogar in Bali.

    Bild

    Entwickeln Sie sich alleine weiter oder ziehen Sie bereits jemanden an?

    Ja, ich entwickle einen weiter. Jetzt schreiben sie das System komplett in C ++ neu. Es besteht zwar keine Notwendigkeit, Lohnarbeiter anzuziehen.

    Sprechen wir über Technologie. Was ist der Grund für die anfängliche Wahl von C # und den aktuellen Übergang zu den "Pluspunkten"?

    Anfangs habe ich ein Projekt in C # geschrieben, weil es für mich einfacher und schneller war, ein fertiges Produkt darauf zu erstellen. Die auf der .NET-Plattform verfügbaren Funktionen sind sehr umfangreich (Arbeiten mit Containern, Streams, Dateien, XML, Vorhandensein einer grafischen Benutzeroberfläche), was sie zu einer guten Wahl macht. Der Grund für den Wechsel zu C ++ ist alltäglich - die Leistung ist nicht ausreichend. Jetzt sind die Anforderungen an Software in dieser Hinsicht sehr hoch - die Zeit für das Nachzählen von Strategien wird in Einheiten von Mikrosekunden gemessen. Jede Mikrosekunde zählt.

    Der Wechsel zu den „Profis“ begann vor einigen Jahren, als der Server gekauft wurde und der Roboter zuerst mit dem Broker und dann im Rechenzentrum der Börse kollidierte. Ich musste schon einige der Module neu schreiben und nahm dann den Kernel auf. Wenn wir den aktuellen Handelsroboter nehmen, dann in C ++ alle "Mathematik und Adapter zum Austausch von Systemen und Brokern". Alles andere bleibt in C #. Das heißt, Module, die minimale Verzögerungen erfordern, werden in einer einfachen Sprache geschrieben, und die Logik zum Treffen von Handelsentscheidungen, GUIs und Hilfsmodulen wird in einer höheren Sprache implementiert.

    Diese Reihe von Sprachen - C # und C ++ - ist äußerst praktikabel. Ich brauche ein oder zwei Stunden, um eine neue Handelsstrategie zu schreiben oder eine alte zu ändern. Bei komplexer Mathematik anderthalb Tage. Gleichzeitig ist eine Backtest-Funktion in das System integriert, eine neue Strategie kann sofort anhand historischer Daten getestet werden. Darüber hinaus gibt es genetische Algorithmen, mit denen Strategien optimiert werden können.

    Bild

    Was ist im Allgemeinen besser für diejenigen, die Arbeit an der Börse finden möchten?

    Für diejenigen, die ihre Reise in den Handel beginnen oder sich irgendwie für diesen Bereich interessieren, würde ich Ihnen raten, Ihre Aufmerksamkeit auf hochrangige Plattformen und Sprachen wie .NET und Java zu richten. Letzteres ist an den westlichen Aktienmärkten sehr beliebt, obwohl wir weniger haben, aber es gibt gute Aussichten für eine breitere Verbreitung dieser Sprache. Dies bedeutet, dass Java-Programmierer bei Finanzunternehmen, Fonds und Brokern gefragt sind. Dennoch ist .NET eine ziemlich geschlossene Plattform, die auch eine Reihe von Einschränkungen aufweist. Für den Handel mit geringer Latenz und HFT ist es nicht sehr geeignet.

    Sowohl in .NET als auch in Java können Sie schnell vollständige Softwareprodukte erstellen. Das Haupt-Minus - sie sind nicht die schnellsten (wenn das Konto auf Mikrosekunden geht).

    Sie haben über den Kauf eines Servers gesprochen, damit das System funktioniert. Wurde es mit den Einnahmen gemacht, die dieser Roboter generiert hat? Wie schnell brachte das Projekt im Allgemeinen greifbare Einnahmen?

    Alles wurde gekauft und mit den Einnahmen aus dem Handel gemacht. Das Geld für die gesamte Hardware wurde vom Maklerkonto abgebucht. Was das Einkommen angeht, dauerte es ungefähr sechs Monate, bis das Einkommen aus der Arbeit des Systems dem Gehalt des Entwicklers entsprach.

    Bild

    Es ist wichtig zu verstehen, dass 2011, als das Projekt begann, von großen Marktschwankungen geprägt war. Geld wird buchstäblich rechts und links ausgegeben. Dies trug natürlich zum Erfolg meines Roboters bei, der schnell ein gutes Einkommen generierte. Bis zum Debuggen des Roboters habe ich ein oder zwei Futures- Kontrakte gehandeltRTS - das Risiko, zu dieser Zeit echtes Geld zu verlieren, war sehr hoch. Als klar wurde, dass das System funktionierte, gut getestet war und Geld generierte, wurde der Betrag auf Zehntausende und dann auf Hunderttausende erhöht.

    Dieses Jahr war sehr gut für den Roboter. Damals wurde Risikokapital, wie ich es nenne, verdient, das das System weiterentwickelte. Wenn die Marktbedingungen jedoch nicht so günstig wären, würde ich mit hoher Wahrscheinlichkeit versuchen, das gesamte Geld zu verlieren und den Aktienmarkt im Allgemeinen zu vergessen (ich übertreibe natürlich, ich würde den Markt nicht verlassen, aber der Verlust von Startkapital wäre extrem negatives Ereignis für das Projekt).

    Wie in jedem Fall mit Unsicherheit und Risiko gibt es im Handel Höhen und Tiefen. Die Variabilität (Streuung) der Ergebnisse im Börsenhandel ermöglicht es Ihnen einerseits, signifikante Gewinne zu erzielen (und wir sprechen nicht nur über Geld; dazu gehören Zeit, Wissen und Ansichten über die Welt um mich herum), andererseits zerstört sie ständig mein Bewusstsein . Um eine Grenze unter fast drei Jahren des Handels "allein" zu ziehen, fragte ich mich: Würde ich mich weigern, ein Gehalt zu zahlen (damals sehr, sehr anständig für einen 25-jährigen Programmierer), wenn ich wüsste, dass ich diese drei Jahre überleben würde? ? Auf jeden Fall ja.

    Verwandte Links und Beiträge:


    Jetzt auch beliebt: