JTOOLS EOD FILE GENERATOR


JTools Table of Contents



Project Location: \JTools_EODFileGenerator



One of the most common custom application types we develop for customers are what I call 'EOD Reports' (End of Day). While they may be generated during the trading day, they have a common theme of being comprised of composite data for multiple symbols and almost always containing Open-High-Low-Last-Volume, etc . Some of these run one time, generally at the end of the trading Day, while many generate regularly timed files throughout the day.

The JTools_EODFileGenerator allows you to dump summary trade information for the entire universe of symbols in almost any fashion you desire. The system gathers information from NxCore State Trades. As such it can be run from state files generated just before or at the desired time. Every field available for NxCoreStateTrade is offered as possible output. Fields generated and field order, as well as symbol types (IE Equities, Futures, Indexes, etc) are determined by the usage strings (see below for a complete list of possible fields). It will dump the output to the console (if specified to) and to a dated-timed text file(s).

The application comes in 2 flavors - a console application driven by command line arguments passed into it and a GUI driven application with all setting fields in the GUI.

Console Application:

Below is the output as the EOD Generator starts up:




And as it starts generating data for the time frame specified:




And shown here generating multiple files in 30 minute intervals:




Output is exported to a text file for easy viewing or importing:


USAGE:
(This format is fixed. Arguments must be in the order specified. All arguments must be present).

JTools_EODFileGenerator Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 Arg7 Arg8 Arg9 Arg10 Arg11 Arg12 Arg13 Arg14 Arg15 Arg16
Arg1 - NxCore Filename (examples: E:\NxCoreData\20100506.IV.NXC, E:\NxCoreStateFiles\20100506.0940.NXS)
Arg2 - EOD Data Usage/Output String possible values:
(s) Symbol (e) Listed Exg (d) Date (t) Time (1) Open (2) High (3) Low (4) Last (5) NetChg (6) Total Volume (7) Tick Volume (p) Price (r) Price Type (b) Price Flag (c) Condition Flag (f) Volume Type (h) Threshold (x) Tick (u) UserData (i) Index
Example: "dtse1234567" - Specifies Date, Time, Symbol, Exchange, Open, High, Low, Last, Total Volume, Total Tick Volume Usage letters can be in any order and output is based on the order entered.
Arg3 - Symbol Types Usage/Output String possible values:
(b) Bonds (c) Currency (e) Equities (f) Futures (i) Indexes (m) Mutual Funds (o) Equity/Index Options (p) Future Options (s) Single Stock Options (z) Spreads
Example: "efi" - Specifies Equities,Futures and Indexes Usage letters can be in any order and output is based on the order entered.
Arg4 - Listed Exchange Filter "0" = Include all exchanges. If only specific exchanges are desired, enter those exchange here, comma seperated. IE for NYSE and NQEX - 3,12
Arg5 - Use Exact Time ("1" for yes, "0" for no) (If set to use, the app will look for the "exact time" specified in the next argument, generate the file and exit. If set to 0, then the app will generate files based on the TimeInterval, from Start Time to Stop Time).
Arg6 - Exact Time (HHMM). Example - "1600" If use exact time is set to 1 (yes), then this is the time the system will look for to generate the file.
Arg7 - Start Time (HHMM). Example - "0930" If use exact time is set to 0 (no), the system will start examing time from start time forward.
Arg8 - Stop Time (HHMM). Example - "1600" If use exact time is set to 0 (no), the system will exit once stop time is passed.
Arg9 - Time Interval (1-60) If use exact time is set to 0 (no), files will be generated every Time Interval, between start time and stop time.
Arg10 - Decimal precision ("0" - "5", "-1" for auto based on price type)
Arg11 - Print headers in output file ("1" for yes, "0" for no)
Arg12 - Exchange Codes as Text ("1" for yes,"0" for no)
Arg13 - If you would like the output to be dispayed in the console ("1" for yes,"0" for no).
Arg14 - Process Empties. ("1" for yes, "0" for no) If set to yes, issues with no data for the day will be included and zeroed. If set to no, issues with no data will no be included.
Arg15 - Output folder. Folder name were output is send. Example: "D:\EODDATA" "0" will put the output in the same folder the application is run in.
Arg16 - If you would like the output to be dispayed in an editor when complete, specify the full path of the editor, such as "C:\i386\notepad.exe". If no argument is given then no editor is launched.



I have included 3 batch files that are pre-coded to generate EOD data in different manners. The batch files are titled as:
  • Once_0935.bat - Generates a file one time at 09:30 AM and exits.
  • Once_1600.bat - Generates a file one time at 16:00 PM and exits
  • Multiple.bat - Generates files every 30 minutes from 09:00 AM through 16:30 PM.
You MUST modify the files to correspond with an NxCore file(s) you have. Once that is done, simply click on one of these batch files from Windows explorer or run them from the command line. Output will be displayed in the console (with the exception of the Multiple.bat generation) and output files will be built containing the data requested.



GUI Application:

The GUI driven application for the EOD File Generator is not simply a shell that launches the command line version (as with the TSFileGenerator), but rather the entire functionality is contained in the GUI application itself. All fields are the same as the console application and can be referenced above.





Project Location: \JTools_EODFileGeneratorGUI




JTools Table of Contents