plot a line that shows the difference between two lines
19 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
Categorie
Scopri di più su Lighting, Transparency, and Shading in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!