# FAQ: Mean-Variance Portfolio Optimization - Efficient Frontier III

This community-built FAQ covers the “Efficient Frontier III” exercise from the lesson “Mean-Variance Portfolio Optimization”.

Paths and Courses
This exercise can be found in the following Codecademy content:

## FAQs on the exercise Efficient Frontier III

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

## Join the Discussion. Help a fellow learner on their journey.

You can also find further discussion and get answers to your questions over in #get-help.

Agree with a comment or answer? Like () to up-vote the contribution!

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Sorry if this question may be easy, I might overlook something in the course.
I was going through the rf.py and I am not sure what are the maths behind the optimal portfolio calculation.
In the function optimal_portfolio,
## CALCULATE THE 2ND DEGREE POLYNOMIAL OF THE FRONTIER CURVE
m1 = np.polyfit(returns, risks, 2)
x1 = np.sqrt(m1[2] / m1[0])
# CALCULATE THE OPTIMAL PORTFOLIO
wt = solvers.qp(opt.matrix(x1 * S), -pbar, G, h, A, b)[‘x’]

After the polynomial fitting, why would we calculate x1 that way, and use that as mu for the quadratic programing function for optimal portfolio? Here what is the definition of optimal portfolio (e.g. highest sharpe ratio)?
Thanks a lot for any help.

Hi,

I have tried to use the random_portfolios and optimal_portfolio functions with my data set.

The random_portfolios works fine, but when I try to run the optimal_portfolio function, I get the following error:

AttributeError: ‘DataFrame’ object has no attribute ‘as_matrix’

Was wondering if anyone possibly had any advice?

Please refer to the documentation of pandas.DataFrame.as_matrix.
“Deprecated since version 0.23.0”
https://pandas.pydata.org/pandas-docs/version/0.25.1/reference/api/pandas.DataFrame.as_matrix.html
As suggested in pandas documentation, you may consider using pandas.DataFrame.to_numpy instead.
https://pandas.pydata.org/pandas-docs/version/0.25.1/reference/api/pandas.DataFrame.to_numpy.html#pandas.DataFrame.to_numpy

I want to use the optimal_portfolio function in a project who should I credit

Hello all
Where I can read through the code in rf.py?

I’m trying to use the optimal portfolios function on my computer but it keeps saying that there is no module named cvxopt even though I downloaded it onto my computer. How can I download the cvxopt package onto pycharm?

I solved it creating a file in my python folder with the exact function in the exercise called rf, but be careful you need to update the optimal_portfolio (depending of your the python that you use because some of the function that they use they do not work anymore).

I solved it creating a file in my python folder with the exact function in the exercise called rf, but be careful you need to update the optimal_portfolio (depending of your the python that you use because some of the function that they use they do not work anymore).