Wealth management services used to be the enclave of the wealthy. To be serviced by a
personal wealth manager will require a net worth of millions, due to the highly personalised
(and hence, expensive) service that is provided by the manager. However, with the use of
technology, it is now possible to deliver affordable wealth management services to the masses.
Robo-advisors are making extensive use of automation and well-understood financial theory
to design portfolios for their clients.
You are an investment analyst with a robo-advisor, and you are tasked with the use of Python
to automate the design of a 3-stocks portfolio for a given target return.
Figure 1: Python’s inputs
Make use of Python to select a stock universe that fulfills the robo-advisor’s settings and from
the stock universe, select the best 3 stocks to create the portfolio. Once the stocks are selected,
you need to determine the appropriate allocation amongst the stocks so that the resulting
portfolio can fulfill the client’s target return.
Appendix A details the settings and operation of the robo-advisor and Appendix B documents
the data structure in the data_file.
Given all the price data in data_file, report the name and allocation of stocks in the resulting
portfolio. You are to report the allocation of the stocks to an accuracy of two (2) decimal points
(e.g. an allocation of [0.25, 0.49, 0.26]).
State and document, clearly any assumption(s) you have used in your portfolio construction.
You are reminded to practice good programming habits in your code development and your
code must be driven entirely off the inputs given in Figure 1.
Appendix A
Stock Universe
A stock universe refers to all the stocks that fulfill the selection criteria of the robo-advisors.
Typical selection criteria include good liquidity so that it is easy to buy/sell the stocks with
minimum transaction costs.
In this robo-advisor, analysts select stocks that have been trading continuously for a period of
data_tenure years.
With the stock universe defined, the return of a stock x in the month k, rx,k is calculated as
follows:
where Sx,k and Sx,k-1 are the month-end prices of stock x at k and k - 1 month respectively.
These monthly returns are used to evaluate the mean return, rx and volatility, x of stock x. The
Sharpe ratio SR of stock x is calculated using
Once the stocks in the universe are characterised by their Sharpe ratio, the 3 stocks with the
highest Sharpe ratio are used to construct a portfolio.
The robo-advisor will carry out all portfolio construction and transactions on the last
trading day of every month.
The robo-advisor will update the stock universe on the last trading date of every month. Hence,
even if the portfolio construction date, pc_date, as given in Figure 1 is 20-Mar-2015, the
portfolio will be constructed effectively on the last trading date of Mar-2015.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme