Ich versuche, eine Datei zu analysieren, die ITCH Nachrichten in sich hat:Konvertieren einer binären Sequenz aus einer Datei in einem festen Punkt gelesen Nummer
http://www.nasdaqtrader.com/Trader.aspx?id=DPSpecs_USEquities#TVITCH ¬ http://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/NQTV-ITCH-V4_1.pdf ¬
Jeder Preis als 32bit vertreten Festkommazahl mit 18 ganzen Teilbits und 14 Dezimalteilbits. (6 ganze Zahlen gefolgt von 4 Dezimalziffern)
z.B.
200,000.0000
110000110101000000 00000000000000
Ich habe einen Blick auf die Struktur der Klasse hatte, aber dies nur befasst sich mit ganzen Bytes als für von binär codierten c structs umwandelt.
Ich habe mir das decimal.Decimal-Modul angeschaut, aber es scheint, dass Sie es nur mit einer Zeichenkette instanziieren können und dies setzt voraus, dass Sie die Zahl bereits im Zeichenkettenformat haben.
Struct.unpack wird nicht funktionieren - seit dem OP haben die Zahl in einer binären Basis in ASCII dargestellt. – jsbueno
Ich denke, Sie verstehen nicht, welches Format er versucht zu analysieren. Verstehst du, dass ITCH 4.1, wie im OP verlinkt, ein binäres Protokoll ist und kein ASCII für Zahlen verwendet? –
Prost John, nur einige Nachrichten hinzugefügt und überprüfte sie gegen vergangene Preise und es scheint, dass Sie Recht haben. Fühle mich jetzt etwas albern, da es so offensichtlich ist, dass es einfach div 1000 ist. –