Передача дополнительного параметра в метод plot делает симпти неудачным? - PullRequest
0 голосов
/ 21 апреля 2020
import sympy as sy
from sympy import Symbol
from sympy.plotting import plot
from sympy.stats import Normal, cdf
from sympy import init_printing

def euro_vanilla_call_sym(S, X, T, r, sigma):
    N = Normal('x',0,1) # define random variable

    d1 = sy.ln(S/X) + ((r+0.5*sigma**2)*T)/(sigma*sy.sqrt(T))
    d2 = d1 - sigma*sy.sqrt(T)

    call = S*cdf(N)(d1) - X*sy.exp(-r*T) * cdf(N)(d2)

    return call

^^^ код для репликации.

x = Symbol("x")
euro_price_var = euro_vanilla_call_sym(10,15,10,.02,x)
p = plot(euro_price_var, (x,0,2.1), xlabel="Stock_Price", ylabel="Option_Value")
fig = p._backend.fig
ax = p._backend.ax
ax[0].xaxis.set_label_coords(0.5,0)
ax[0].yaxis.set_label_coords(-.1,.5)

fig

Работает, но печатает график дважды, чего я не хочу. Так что я подумал, что это все исправит.

x = Symbol("x")
euro_price_var = euro_vanilla_call_sym(10,15,10,.02,x)
p = plot(euro_price_var, (x,0,2.1), xlabel="Stock_Price", ylabel="Option_Value", show=False)
fig = p._backend.fig
ax = p._backend.ax
ax[0].xaxis.set_label_coords(0.5,0)
ax[0].yaxis.set_label_coords(-.1,.5)

fig

Что потом не получается, но единственное, что изменилось, я передал в show=False


enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...