Logik kring trade- och order-meddelanden

Added by Björn about 7 years ago

Hej!

När jag lägger en order i systemet kommer alltid trade-meddelandena först (först LOCAL, sedan ON_MARKET och sist DELETED tror jag) och sedan kommer eventuella order-meddelanden. Det här kan jag inte se som något annat än en designmiss, eftersom jag alltså inte vet när det inte längre kan komma order-meddelanden. Det enda jag kan tänka mej är att vänta en given tid efter DELETED och sedan anta att det inte blir flera affärer. Så om jag inte har fått något trade-meddelande tex 1 sekund efter DELETED då blev det ingen affär. Och om det har kommit 2 trade-meddelanden, så blev det bara det. Jag har aldrig sett något fall där trade inte kommer "omedelbart" efter DELETED, men det kanske finns fall när det kan inträffa? Hur tycker ni att det här ska hanteras? Om det är lämpligt med en timeout på det sättet jag beskrev, har ni då någon rekommendation på hur lång tid man ska ge en affär (efter trade med state=DELETED) innan man antar att den är genomförd i sin helhet?

Det bästa hade varit om DELETED alltid kom sist, så att det inte fanns några tveksamheter. Om det här beteendet kommer från ert system så hoppas jag att ni funderar över det till en senare version av systemet. Är det börsens system som styr så antar jag att det är som det är.


Replies (8)

RE: Logik kring trade- och order-meddelanden - Added by Patrik about 7 years ago

Björn, kanske inte jag som skall svara på din fråga men kan du inte kolla på tradedVolume på ordermeddelandet när orderState=DELETED för att avgöra om/hur mycket av ordern som gått till avslut ... eller har jag missuppfattat ditt problem? /Patrik

RE: Logik kring trade- och order-meddelanden - Added by Björn about 7 years ago

Mmm, det kändes inte som att jag fick till en jättetydlig fråga... :-)
Problemet är att jag inte inser hur jag ska veta när det inte blir fler avslut.

Ta till exempel fallet att det inte blir något avslut alls, då får jag tre trade-meddelanden med state LOCAL, ON_MARKET och DELETED. Sedan händer inget mer!

Får jag istället ett delavslut så kommer exakt samma trade-meddelanden följt av ett order-meddelande. Om det blir fler delavslut så följs detta av flera order-meddelanden. Hur vet jag att det inte blir fler delavslut och därför kommer fler order-meddelanden?

Det är naturligtvis inga problem att summera delavslut, så när hela min order har blivit fylld så kan jag ju avgöra det, men om inte det händer så vet jag inte när ordern verkligen är död.

RE: Logik kring trade- och order-meddelanden - Added by Patrik about 7 years ago

Jag förstår nog fortfarande inte din fråga eller scenario. Du måste syfta på order-meddelanden med olika states (LOCAL, ON_MARKET, DELETED) då dessa inte finns för trades, eller? Är det för ordertyper som FOK/FAK du upplever detta problem eller vad är scenariot?

Gissar att Simon & Co får bringa lite ljus till diskussionen.

RE: Logik kring trade- och order-meddelanden - Added by Björn about 7 years ago

Argh! Ja, jag har vänt på begreppen helt. Läs trade istället för order och tvärtom, tack! :-)

Hittills använder jag bara FOK och får alltså ett eller inget trade meddelande. FAK och "vanliga" ordrar förutsätter jag kan få godtyckligt antal trade-meddelanden. Så jag kan inte se att situationen påverkas nämnvärt beroende på vilken ordertyp man använder.

RE: Logik kring trade- och order-meddelanden - Added by Patrik about 7 years ago

OK. Om du får ett order-meddelande med orderState=DELETED där tradedVolume=0 så måste du ju kunna anta att ordern inte gav eller kommer att ge några avslut, antar jag ...

I min erfarenhet och tester så förefaller man kunna utgå från att när orderState=DELETED så kommer man inte att få några fler avslut utöver vad som framgår av tradedVolume som ju är kumulativ. Så måste det ju rimligen vara. Har ordern rapporterat som DELETED så måste man ju kunna lita på att ingenting utöver vad som ingår i det meddelandet kommer att hända med ordern.

Men, som sagt lite input från Nordnet kanske kan reda upp det hela ...

RE: Logik kring trade- och order-meddelanden - Added by Björn about 7 years ago

Ah, nu förstår jag vad du menar! tradedVolume hade jag inte lagt märke till förut. Tack Patrik!

Nordnet, rekommenderar ni att man gör som Patrik föreslår, dvs tittar på tradedVolume från order-meddelander med orderState=DELETED?
Det betyder alltså i så fall att tradedVolume reflekterar innehållet i alla genomförda delavslut för just denna order?

RE: Logik kring trade- och order-meddelanden - Added by Nordnet Simon about 7 years ago

Hej, det är precis som Patrik säger, tradedVolume berättar hur stor volym som gått till avslut. Addera volymen på dom avslut som hör till ordern så kan du se när alla avslut har kommit.

EDIT: Fixade namnfel.

RE: Logik kring trade- och order-meddelanden - Added by Björn about 7 years ago

Bra. Tack till er båda!

(1-8/8)