Giter VIP home page Giter VIP logo

itchparser's Introduction

#ItchParser

##NASDAQ ITCH is...

"...the standard NASDAQ data feed for serious traders โ€” displays the full order book depth for NASDAQ market participants. TotalView also disseminates the Net Order Imbalance Indicator (NOII) for the NASDAQ Opening and Closing Crosses and NASDAQ IPO/Halt Cross."####

More here: https://www.nasdaqtrader.com/Trader.aspx?id=totalview

####NASDAQ ITCH 4.1 specification: http://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/nqtv-itch-v4_1.pdf

##What does ItchParser do? Given an ITCH 4.1 binary file as input, it will parse the messages per the above specification, and return them as byte arrays, and/or translate them to human-readable format & print to stdout.

####Speed? On my 2.3Ghz Intel running Mac OSX 10.7.5 w/ 4GB RAM, ItchParser read & outputted at an average speed of: ~550k messages/second

NOTE: Parsing the byte array & printing to stdout is considerable slower.

##YAML The itch41.yaml file is used by the SnakeYaml parser to generate the data structures to translate our message byte array to a human readable format.

##Example:

####Download an Example NASDAQ-ITCH4.1 file Download: ftp://emi.nasdaq.com/ITCH/09142012.itch41.gz (Warning: ~3GB)

####Add the snakeYAML jars to your file-- I used 1.1: Download: https://code.google.com/p/snakeyaml/downloads/detail?name=SnakeYAML-all-1.11.zip&can=2&q=

####Run an example:

Create new Parse Object: Parse parse = new Parse(filename, ParseAndPrint);

To get the next message: myByteArray = parse.parse();

'filename' is the location if the Binary file, and 'ParseAndPrint' is a boolean value: true to parse the message to human readable format & print to stdout, false to turn off. Either way, it will return the message in a byte array.

####Also, see the example in the main method of the Parse.java class to check out a working implementation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.