plot a line that shows the difference between two lines
16 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
hi,
I have the following code:
x=[0:0.0001:20]
y1=blsprice(x,10,0.02,0.2,0.2)-blsprice(10,10,0.02,0.2,0.2)
x1=[8:0.001:12]
y2=[0.85:-0.000425:-0.85]
plot(x,y1,x1,y2,'k')
xlabel('Stock Price ($)');
ylabel('Option price ($)');
axis([8 12 -1 2]);
text(10,1.1,'delta-hedge at t=0')
that gives me one straight line and a curve and I would like to plot a third line with the difference (y1-y2) but it's not working, probably due to the fact that there are different elements, is there any way to do this?
0 Commenti
Risposte (2)
Walter Roberson
il 1 Apr 2013
Use interp1() to produce values with a common x base so that you can subtract meaningfully.
10 Commenti
Locks
il 2 Apr 2013
2 Commenti
Walter Roberson
il 2 Apr 2013
Modificato: Walter Roberson
il 2 Apr 2013
As discussed in http://www.mathworks.co.uk/matlabcentral/answers/69325-plot-the-slope-of-a-curve-in-the-same-plot#answer_80575 in order to get the exact slope, you need to work with the formula, not with the calculated data points.
Imagine you are heading due west on a road, and you can see 1 km ahead that the road continues on due west. What is the exact slope?
Oh, did I forget to mention that you are on a mountain-side and that the road you can see ahead is on the next peak over?
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!