Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
5QQMN534: Algorithmic
Finance
Independent Final Assignment Questions (75% Total Weight)
1
Individual Assignment: Information
Deadline:
• Start Date: 31/03/2023 10am
• End date: 28/04/2023 10am
• Part A: Practical Coding: 3 questions. 70%
• Part B: Theory: 3 questions 30%
• Questions have sub marks.
• Total mark is scored out of 100.
Content covered:
• Practical Python coding knowledge from workshops 1-10 and
practical coding workshops Weeks 1 – 9.
General Expectations:
• Expectation is to use good practice such as commenting and
correct code formatting.
• The program should work and display correct outputs.
• Demonstrate good knowledge to solve problems.
• Minimise duplicate code.
• Demonstrate efficient, well structured code design. 2
Individual Assignment: Submission
• Individual submissions are to be submitted on KEATS. For this assessment you must submit TWO items (Part A and Part B) to the submission link provided below. One submission to be
made per individual.
• Part A Practical: You must submit a .zip file. This .zip file must include the PARTA_5QQMN534_question1_final_template.py and PARTA_5QQMN534_question2_final_template.py and
PARTA_5QQMN534_question3_final_template.py (all code solutions) and a .docx word or pdf file with screenshots of your code as well. Also include in this zip file any generated images or
excel results. Please save each result in a folder. For example your folder would be. Results. Name your result outputs correctly. E.g. 1f_result.xlsx. Name the .zip file like this. E.g.
candidateID_5QQMN534_PartA_solutions.zip
• Part B Theory: You must submit a separate word or PDF file. Please use the cover sheet document provided, complete the cover sheet (add your candidate number) and on the pages
following the cover sheet. Please call this file for example: candidateID_5QQMN534_PartB_Solutions.pdf OR candidateID_5QQMN534_PartB_Solutions.docx
• Please note that when uploading your work, you will receive a notification that Turnitin has failed for the .zip folder but this is expected and your work is still accessible to the marker and
will be counted as received. Once you receive this error message, there is no further action you need to take.
Individual Assignment: Submission
• Submit your work WELL before the deadline. If your work is slow to upload because you have left it until the last few
minutes and you miss the deadline, this will not be acceptable grounds for late submission
• After submission, check your submission: go back into the submission link and view your submission - make sure it has
submitted successfully, and you have submitted the document you meant to submit
• If you experience technical difficulties and are unable to upload your assessment by the deadline, please collate evidence
of the technical issue and submit a mitigating circumstances form (MCF). Remember that the evidence must clearly show
timestamps and proof that you attempted to upload your assessment before the deadline
• In line with King’s College London Academic Regulations (Regulation 4.27) your work must be submitted on time. Students
who submit their work within 24-hours after the deadline, these will be marked but 10 raw marks will be deducted from
the coursework mark. If the deduction takes a student below the pass mark, the coursework mark will be capped at the
pass mark. Work submitted after the 24-hour deadline will receive a mark of 0.
Zipping for PC: Part A
1. PARTA_5QQMN534_question1_final_template.py and
PARTA_5QQMN534_question2_final_template.py and
PARTA_5QQMN534_question3_final_template.py and results folder.
2. Right click send to compress (zipped) folder.
3. You must submit a .zip file. This .zip file must include the
PARTA_5QQMN534_question1_final_template.py and
PARTA_5QQMN534_question2_final_template.py and
PARTA_5QQMN534_question3_final_template.py (all code solutions) and a .docx word or pdf file
with screenshots of your code as well. Also include in this zip file any generated images or excel
results. Please save each result in a folder. For example your folder would be called. Results. Very
important, please name your result outputs correctly. E.g. 1f_result.xlsx. Etc.
4. The results should be clearly labelled in your Results folder for each exercise.
5. Name the .zip file like this. E.g. candidateID_5QQMN534_I_PartA_solutions.zip
6. Submit the .zip file on KEATS to Submission Link provided also with your part B theory answers word
or pdf file.
6
Part A Practical Coding (70%)
7
• Part A Exercise data and .py code templates for each question for Part A is located
in:
• PARTA_5QQMN534_question123_code_templates.zip and
PARTA_5QQMN534_question123_data.zip on KEATS.
• Please download this and extract.
Part A: Question1: Resampling Returns Data (20 marks)
a) Read in the msft_returns.xlsx file provided in Q1_data folder into a DataFrame and name the variable returns. (0.5 mark)
b) Calculate the Simple Returns of the MSFT Adjusted Close Data in a New Column called sim_ret (0.5 mark)
c) Calculate the log returns of the MSFT Adjusted Close Data in a New Column called _log_ret (0.5 mark)
d) Calculate the cumulative returns from the daily log returns in a new column called cum_ret_log (0.5 mark)
e) Calculate the cumulative returns from the daily simple returns in a new column called cum_ret_sim (0.5 mark)
f) Check cum_ret_log total cumulative return and cum_ret_sim total cumulative returns are the same value. Round to four decimal places. Print out a confirmation to
screen. (1 mark)
g) Calculate monthly returns from daily log returns to six decimal places. Print out the last five rows to screen. (1 mark)
h) Calculate monthly returns from simple returns to six decimal places. Print out the last five rows to screen. (1 mark)
i) Save the Monthly Log and Simple Returns DataFrames to separate excel files. Note: Results in part g and h should be the same. (0.5 mark)
j) Calculate the Monthly Total Cumulative Return from the Monthly Returns and check it is equal to the Total cumulative Daily Returns. Round to four decimal places.
Print out this confirmation and print out the last five rows to screen. (1 mark)
k) Save the Monthly Return Log, Monthly Ret Simple, Monthly Cumulative Return into a new DataFrame called monthly_rets (1 mark)
l) Plot the monthly returns for year 2000 and year 2020 in a bar chart in separate graphs. (2 marks)
m) Calculate descriptive statistics for each month on all years and save the results to a DataFrame. Note: Each year includes all monthly returns January to December.
Years should be the index. Months should be the columns. Plot the mean, std in a bar graph and then plot the min and max in another bar graph. (4 marks)
n) Calculate the annual yearly return and provide code for a double check that the cumulative yearly return = daily cumulative return. (2 marks)
o) Calculate the descriptive statistics on all months for each year. Note results should be different from part m. (1 mark)
p) How many total monthly returns outliers have there been that are greater or less than 20%? How many negative and how many positive outliers? What dates did
these outliers occur on? Print results to screen. (3 marks)