MATLAB Answers

0

Graphing two parametric functions in terms of x

Asked by Nicolas Heumann on 16 Jun 2019
Latest activity Commented on by Nicolas Heumann on 17 Jun 2019
I am learning from Paul Wilmott's Introduction to quantitative Finance, and I have ran into a problem while trying to solve one of the suggested exercises:
I am trying to plot both of the following parametric functions in a single graph:
and
I have tried the following code:
w=linspace(0,1);
mu= 0.1*w+0.14*(1-w);
sigma = (0.12^2)*w.^2+0.4*0.12*0.2*2*w.*(1-w)+(0.2^2)*(1-w).^2;
plot(sigma,mu);
xlabel('mu'),ylabel('sigma')
title('risk vs return')
But I get the following graph (note that sigma is the risk and mu the return)
grafico1.PNG
When I should be getting this:
grafico2.PNG
Why does this happen? I have tried altering the range of w but I still get nothing close to that graph. The equations that I am graphing are these, and I believe that I have written them correctly
eqs.PNG

  1 Comment

ML auto-ranges the axes to fit the range of the data...use
ylim([0 0.15])
or whatever other upper limit you choose...

Sign in to comment.

Tags

1 Answer

Answer by John D'Errico
on 17 Jun 2019
Edited by John D'Errico
on 17 Jun 2019
 Accepted Answer

You got exactly the correct thing. You just need to look carefully at the y axis labels on the two plots.
Just add this line after the plot.
axis([.01 .04 0 0.14])
Or, you could use the ylim function.
ylim([0 0.14])
Or, you can edit the graphic directly.
H = gca;
H.YLim = [0 0.14];
A plot can look very different when you change the axis scaling. (This is an important point as I recall from the book "How To Lie With Statistics".)

  1 Comment

Wow, that worked like a charm! I will check out that book, too, thank you very much!

Sign in to comment.