Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Optimal Portfolio Allocation Problem Statement: Second Semester 1 4 4 5 Project You work for a prestigious investment firm that manages a large number of

Optimal Portfolio Allocation Problem Statement:
Second Semester 1445 Project
You work for a prestigious investment firm that manages a large number of clients portfolios. Your task is to develop a program that determines the optimal allocation of assets in a given investment portfolio.
The portfolio consists of N different assets, each with an associated expected return and risk level. Your program should take as input the expected return and risk of each asset, along with the total investment amount available. The goal is to find the allocation of assets that maximizes the portfolios expected return while keeping the risk within a specified tolerance level.
Your program should solve this problem using two different algorithm paradigms: Brute Force and Dynamic Programming.
Project Part 1: Brute Force Approach
Implement a brute force algorithm to exhaustively search all possible asset allocations within the given investment amount. Evaluate the return and risk of each allocation and find the one that maximizes the expected return while keeping the risk within the specified tolerance level.
Project Part 2: Dynamic Programming Approach:
Design and implement a dynamic programming algorithm that efficiently computes the optimal allocation of assets. Your algorithm should make use of the principle of optimality to break down the problem into smaller sub-problems and avoid redundant computations. Your program should output the optimal allocation of assets, along with the corresponding expected return and risk. Additionally, you should compare the runtime and efficiency of the two implemented algorithms for different portfolio sizes and investment amounts. Note: You are not allowed to use existing optimization libraries or functions readily available online. The purpose of this project is to develop a deep understanding of the algorithmic paradigms and their application in solving real-world problems.
Deliverables
The source code for the implementation of the two algorithms (BF, Dynamic program- ming) in JAVA.
A report that includes the following sections: Cover page
1
For each design paradigm, write the pseudocode of the algorithm that finds the composition of an optimal allocation of assets.
For the dynamic programming approach, the composition should be obtained from the table generated during the algorithms execution.
For the dynamic programming approach, write the recurrence function.
For each of the two algorithms, provide the best and worst time complexity of your solutions. Present the complexities on a table and argue with examples to demon- strate the cases.
Experimental results demonstrating the performance of the algorithms for various portfolio sizes and investment amounts.
Screenshots of the complete code and sample run.
Source code (in Courier New with font size:8) with comments.
Describe challenges faced and how you tackled them
Student peer evaluation form (see Team Work Evaluation table below). Use meaningful variable names in your code.
Evaluation Rubric
Evaluation rubric is divided into two parts: First part evaluates Team Work and second part addresses the functional requirements. The code in grade assignment is shown to the right.
Important notes:
No late submissions accepted.
Total/2
Algorithm description (pseudo-code with explanation) Time and space complexity
Implementation correctness + sample run
Total/2.5
Algorithm description (pseudo-code with explanation) Time and space complexity
Implementation correctness + sample run
Total/2.5
The group leader is asked to upload everything on LMS as a compressed file (zip) contain- ing (source code and report), the file name should be group number followed by course code G#CSC311Project.
Discussions will be conducted at the end of the semester.
You need to prepare a simple presentation for the discussion, include: The pseudo-code.
Your findings.
challenges faced and how you tackled them.
Good luck, and remember to adhere to proper programming practices and documentation stan- dards throughout the project.
Sample run:
Input will be in the form of a text file your program should read. The input has the following format:
ID-of-asset : Expected-return : Risk-level : Quantity
Example.txt:
Example 1:
AAPL : 0.05 : 0.02 : 1000 GOOGL : 0.08 : 0.03 : 500 MSFT : 0.04 : 0.015 : 800
Example 2:
AMZN : 0.07 : 0.04 : 600 TSLA : 0.1 : 0.05 : 400 FB : 0.06 : 0.025 : 700
3
Output Sample:
Example 1: Optimal Allocation: AAPL: 200 units
GOOGL: 300 units
MSFT: 500 units
Expected Portfolio Return: 0.064 Portfolio Risk Level: 0.024
Example 2:
Optimal Allocation:
AMZN: 100 units
TSLA: 300 units
FB: 500 units
Expected Portfolio Return: 0.079
Portfolio Risk Level: 0.038

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2014 Integration Services

Authors: Brian Knight, Devin Knight

1st Edition

1118850904, 9781118850909

More Books

Students also viewed these Databases questions

Question

What is the age of the oldest outstanding invoice?

Answered: 1 week ago