Orderbuch Matching-Prinzipien Übung
-
aus deinen fünf Zeilen Beschreibung geht überhaupt nicht hervor, um was es da geht.
Entweder du machst dir die Mühe, in deinem Beitrag genau zu beschreiben, um was es geht und was du willst.
Es liest sich doch kein Mensch erstmal zu den Themen (die ich noch dazu nicht gerade spannend finde ... Wirtschafts"wisschenschaften" halt) ein nur um dir dann zu erklären wie du deine Hausübung zu machen hast.
-
Aber es steht doch schon alles da
Es werden Aktien gehandelt, jeder Auftrag von einem Kunden kann im Verlauf des Tages in kleinere Teile aufgeteilt/ausgeführt werden und wenn er bis zum Ende des Tages nicht vollständig ausgeführt wurde gestrichen. Jede Aktie hat den selben Wert.
1. Kauf 10
2. Verkauf 15
3. Verkauf 30
4. Kauf 10Damit das Problem einfacher ist, werden die Bestellungen von 1-4 in der Reihenfolge abgearbeitet. Also bleiben bei der 2. 5 Übrig, nach der 3. 35 nach der 4. 25 von der 3. und 1, 2 und 4 sind bei 0.
Diese 'Verkettung' zieht sich doch bei komischen Stückzahlen durch den ganzen Tag und dann am Ende des Tages wird 3 wo noch 25 übrig sind gestrichen und damit auch 1, 2 und 4.Das kann doch nicht richtig sein
-
Wieso soll das nicht richtig sein? Wenn keiner mehr da ist, der kaufen will, kannst man halt nichts verkaufen.
-
Ja, aber wenn ich an Xetra o.ä. eine Order platziere bei einem Produkt mit großem Volumen wird das innerhalb einer Sekunde ausgeführt und nicht am Tagesende wieder gestrichen..
Etwas müssen die also anders machen
-
Diese 'Verkettung' löst sich ja erst auf, wenn die Stückzahl bei Kauf und Verkauf identisch ist. Das kann doch nicht so oft vorkommen
-
bambi schrieb:
Diese 'Verkettung' löst sich ja erst auf, wenn die Stückzahl bei Kauf und Verkauf identisch ist. Das kann doch nicht so oft vorkommen
Wenn die Transaktionen bloß ähnlich groß sind und immer gegen die am längsten wartenden offenen Transaktionen gerechnet wird (die größere, wird gesplittet), dann haste am Abend doch nur welche offen, die 5 vor Feierabend reingestellt wurden. Sehe kein Problem.
Sehe ein Probkem, wenn jemand am Morgen einen Kauf von 1000000000000 reinstellt und alle Verkäufe gegen diesen Kauf gerechnet werden und dieser Kauf nicht voll wird. Dann hat er alle blockiert.
Aber das ist auch kein Problem, wenn man zu Feuerabend die 1000000000000 rausnimmt wegen Unerfüllbarkeit und alles nochmal matchen läßt. Und ein Weilchen lange mit Rausnehmen/Matchen weitermacht.
Und vielleicht nur zuerst nur gleich größe Gegenstücke beachten.
Wenn keine gefunden, dann nur welche im Bereich zwischen 50% und 200% der eigeenen, dadurch reicht ein Split und das Problem ist mindestens halbiert. Das würde ich aber als nicht fair empfinden. Man muss nicht bis Feierabend warten, sondern kann Langschläfer zwischendurch rausnehmen bzw gar nicht erst reinnehmen, solange die Summe der Gegenparts zu klein ist.
-
volkard schrieb:
bambi schrieb:
Diese 'Verkettung' löst sich ja erst auf, wenn die Stückzahl bei Kauf und Verkauf identisch ist. Das kann doch nicht so oft vorkommen
Wenn die Transaktionen bloß ähnlich groß sind und immer gegen die am längsten wartenden offenen Transaktionen gerechnet wird (die größere, wird gesplittet), dann haste am Abend doch nur welche offen, die 5 vor Feierabend reingestellt wurden. Sehe kein Problem.
Sehe ein Probkem, wenn jemand am Morgen einen Kauf von 1000000000000 reinstellt und alle Verkäufe gegen diesen Kauf gerechnet werden und dieser Kauf nicht voll wird. Dann hat er alle blockiert.
Aber das ist auch kein Problem, wenn man zu Feuerabend die 1000000000000 rausnimmt wegen Unerfüllbarkeit und alles nochmal matchen läßt. Und ein Weilchen lange mit Rausnehmen/Matchen weitermacht.
Und vielleicht nur zuerst nur gleich größe Gegenstücke beachten.
Wenn keine gefunden, dann nur welche im Bereich zwischen 50% und 200% der eigeenen, dadurch reicht ein Split und das Problem ist mindestens halbiert. Das würde ich aber als nicht fair empfinden. Man muss nicht bis Feierabend warten, sondern kann Langschläfer zwischendurch rausnehmen bzw gar nicht erst reinnehmen, solange die Summe der Gegenparts zu klein ist.Aber wir sind doch nicht bei wünsch dir was? Die Order wird meist direkt gebucht und auf das Konto gutgeschrieben und man kann das Geld oder den Zettel weiterhandeln.
Das kann also nicht am Tagesende neu ausgerechnet werden, ausser einer übernimmt am Tagesende die Haftug für die Transaktionen, wenn etwas schief läuft und kauf dann eben die Reste bzw. verkauft
-
bambi schrieb:
Aber wir sind doch nicht bei wünsch dir was? Die Order wird meist direkt gebucht
-
bambi schrieb:
Das kann also nicht am Tagesende neu ausgerechnet werden, ausser einer übernimmt am Tagesende die Haftug für die Transaktionen, wenn etwas schief läuft und kauf dann eben die Reste bzw. verkauft
Du darfst dir das nicht vorstellen, wie im Supermarkt, sondern eher, wie auf einem Basar. Es gibt Leute, die bieten an, etwas zu einem Preis zu kaufen oder zu verkaufen. Nur, wenn sich beide Parteien auf einen gemeinsamen Preis einigen können (also der Bid-Ask-Spread klein bzw. ist), dann kommt es zu Transaktionen.
In liquiden Aktienmärkten gibt es immer jemanden, der zum irgendeinem Preis kauft und verkauft. Der Preis, bei dem die Transaktionen über die Bühne gehen, sind zu einem Zeitpunkt fast alle gleich und darum gibt es *einen* Marktpreis. (Es gibt auch extra Institutionen (Market Maker, Specialist, etc.) die zu irgendwelchen Preisen kaufen müssen und welche, wie Markler und Banken die das auch teilw. übernehmen.)
Für illiquide Assets gilt das nicht unbedingt, dort kann es auch sein, dass Du keinen Partner findest. Der Preis, der dann an der Börse angeschrieben ist, ist dann auch nicht *der* Marktpreis, sondern irgendein Preis, mit dem die letzte Transaktion gelaufen ist. Aber Bid und Ask liegen dann weit auseinander. Du willst 10EUR für deine Aktie, ich will nur 10Ct bezahlen und sonst interessiert sich keiner dafür -> keine Transaktion. Wenn Du bereit bist, zum Marktpreis zu verkaufen und ich nur 10Ct. biete, dann bekomme ich das Ding für 10Ct. Der Preisverlauf in einem Börsenchart hat dann sehr hohe, scharfe Preis-"Sprünge" drin.
-
Zu einem Trade kommt es nur wenn der spread <= 0 ist. Du hast aber mein Problem nicht verstanden, hab aber inzwischen eine implementation die für mich ausreicht.. Danke!