The program should reconcile record entries in two files originating from two different sources. The entries in each file are the current positions in a futures brokerage account @ Interactive Brokers.
The files are;
1. An account status file downloaded by connecting to the Interactive Brokers TWS trading platform, via the supplied proprietary Java Application Programming Interface (API). The program should ideally be developed using the Net-beans IDE.
2. A check file stored in a specified directory locally. The file name of this file has today’s date appended to it e.g [login to view URL]
The program should perform the following simple steps via a GUI.
1. Connect to the TWS platform through the Java API (Connect Button - report on GUI).
2. Download account status file from TWS and store it locally (Download Button - report on GUI)
3. Disconnect from TWS.
4. Load the check file from the specified folder on local drive(...can use default directory)
5. Reconcile and show discrepancies between records: display output to the GUI and send to a local file
For each record in the check file, determine that the equivalent record exists in the TWS status file.
Also ensure that the TWS status fule does not contain any entries that do not exist in the check file
For example if the the check file has the following entries; maturity is year and month of expiry
Symbol, Maturity, Quantity
LE, 201109, 32
ZM, 201206, 7
ZN, 201109, 15
ZQ, 201112, 66
etc...
The output reconciliation report will have the following 4 categories.
1. All entries where the records match e.g.
LE, 201109, 32
2. Entries where maturity or quantity is wrong e.g
ZN, 201109, 2(15) ...quantity wrong
ZQ, 201109(201112), (66) … maturity wrong
3. Entries in check file but missing in TWS file
4. Entries in TWS file but missing in check file
The program should be a stand-alone exe, and properly commented. And it should have error checks, for missing files, unable to connect etc...
Links;
Interactive Brokers API guide [login to view URL]
TWS application
[login to view URL],
I am proficient in Java and can do this task with Java using Netbean. Please send sample account status file and sample check file, and address to download account status file if any.
This is what I do every day. I provide quality solutions as a full time java consultant. I have downloaded the API required so see if there were any toe-stubbers and I don't see any. Look forward to providing this solution for you!
I am working on trade settlement software. We download trade details ( like from CME gateways having details like instrument id) and second a standard DB with details about that instrument. The details are verified for all rel. information.
This is done in real time as downstream components need trades for further processing( so latency should be minimum )
- I have the relevant workx in this field.
The proposed solution will be using JAVA + GROOVY
Assumptions
------------
1) Only 3 columns in the file (upto to 10 is not a problem)
2) The fields are either number or strings and there won't be duplicate rows.
3) The maximum number of rows won't be more that 50,000. This is required for memory/speed optimization. If more then we have to use addition sophisticated algorithms to minimize the memory consumption and the best speed.
4) There is a test environment provided by broker to test our code.
5) Sample test files (both TWS and check file) will be provided before the IT build starts.
Solutions
----------
1) Stand alone application will be developed in Java swing and J2SE.
2) Use only J2SE and no gui. The output will be in 2 files.
2.1) Logging to when and what is done by the application, connecting, downloading, disconnecting, reconciling and generating report. This logging file will also have all the errors in a readable format.
2.2) The Report File. This will be a CSV file with the four outputs, exact, quantity/maturity difference missing rows etc.
The second approach will cost you $400. The fist approach will cost you $600 which will have all in second approach along with a friendly GUI.
I have worked in a Bank and in a PB business for more than 6 year. Now i am doing my Msc in Financial Maths and hence this is my part time job.
My personal advise is to go for second approach as it does what is required. Why spend more just for the sake of a GUI.
Wish to hear from you soon.
Thanks
Santosh
3 yrs experience with java and netbeans, good at data retrieving, parsing and analysing(using java), made robust code and fast delivery.
At your service.