% plgamma ( Intervalo, Exercicio, TxRet, Volatilidade )
% - Intervalo: intervalo de preco, por exemplo: [ 10 70 ]
% - Exercicio: preco em exercicio, por exemplo: 40
% - TxRret: Taxa de Retorno livre de risco, por exemplo: 0.1
% - Volatilidade: volatilidade, por exemplo: 0.35
% plgamma([10 70],40,0.1,0.35)
function plgamma ( Intervalo, Exercicio, TxRet, Volatilidade )
range = Intervalo(1):Intervalo(2);
span = length(range);
j = 1:0.5:12;
newj = j(ones(span,1),:)'/12;
jspan = ones(length(j),1);
newrange = range(jspan,:);
pad = ones(size(newj));
zval = blsgamma(newrange, Exercicio*pad, TxRet*pad, newj, Volatilidade*pad);
color = blsdelta(newrange, Exercicio*pad, TxRet*pad, newj, Volatilidade*pad);
clf;
surf(range, j, zval, color);
shading interp;
xlabel('Preco ($)');
ylabel('Tempo (meses)');
zlabel('Gamma');
title('Opcao de compra');
axis( [ Intervalo 1 12 -inf inf]);
set(gca, 'box', 'on');
colorbar('horiz');
a = findobj(gcf, 'type', 'axes');
set(get(a(2), 'xlabel'), 'string', 'Delta');