Python code to consolidate and order financial transactions

Job ID: 37122418

Budget: $30 – $250 USD

Skills and Experience:
- Proficiency in Python programming
- Experience working with financial data
- Familiarity with data manipulation and sorting algorithms

Requirements:
- Develop a Python script to consolidate and order financial transactions
- No data validation needed
- Output the data in xlsx format

You should do your work in order_transactions.py. I have started the first sort. Run order_transactions.py and you should see output matching step1.txt. If they match you are set up correctly.

Please write the code so it is modular with each function doing 1 thing. Fix the code I wrote to be modular.

The history_sample.py file contains a list of dictionaries. Each dictionary is a transaction or a partial transaction. The partial transactions need to be grouped into a transaction. They can be grouped if they have the same 'order_id' or if the 'date', 'action', 'type', 'strike', and 'edate' match and the time between them is less than 3 minutes.

The output of the code should match the history_correct.xlsx file. The output should be written into the template.xlsx file.

The sorting is complicated. The transaction groups start with a call or put being bought (action 'BTO'). The group continues until all transactions are closed at which time a new group is started. The 7/21-7/24 group shows how this can be complicated. Otherwise transactions are matched based on their open and close. They are not sorted by time.

Study the formulas in history_correct.xlsx column P to understand the calculations.

Be careful to keep the code general and not fit to this particular set of transactions. I will run the code on a different history samples to verify it.


Please understand the following before you bid:
- I am super busy. I could do this project myself if I had time.
- I will not take calls to talk things over. I will answer written questions as quickly as I can.
- Do not ask to chat before accepting the project.
- Do ask questions via chat before accepting the project if there are things you don't understand.
- I will not spend much time helping you complete the project.
- If you get stuck tell me in the chat and I will give you some guidance.
- Don't ask for payment before the work is done.
- I will not release milestones until I have the code, check it, and run it.
- There may be problems with the project files, or description just let me know and
I will fix the issues.
- If you give a reasonable price, figure out most things on your own, and get things
done quickly you will get a lot more work from me.
- If you agree to these conditions put 'IAGREE" at the top of your proposal.
Related categories: Python Software Architecture Finance