'Python Plotting multiple graphs for a function with 3 different parameters - of different values of each parameters while fixing the 2 others -
Could you please check my code and tell me why it's not working:
def plotSabrImplVolSmile (security, context, expiry, N, lstalpha, lstvov, lstrho):
strikesGrid=sabr_fitting.normStrikeGrid(security, context, expiry, N, stdDevMin=-2, stdDevMax=2)
def sabrImplVolList(alpha, vov, rho):
sabrImplVol=[sabr_fitting.sabrImpliedVol(sabr_fitting.fwdAtmVolVolTime(security,context,expiry)[0], K, alpha, vov, rho, volTimeTex) for K in strikesGrid ]
return sabrImplVol
if len(lstalpha)>=2:
vov=lstvov[0]
rho=lstrho[0]
for i,aalpha in zip( range( len(lstalpha) ) ,lstalpha ):
return sabrImplVolList(aalpha, vov, rho) , lstalpha
elif len(lstvov)>=2:
alpha=lstalpha[0]
rho=lstrho[0]
for i,rrho in zip(range(len(lstrho)),lstrho):
return sabrImplVolList(alpha, vov, rrho) , lstrho
else:
alpha=lstalpha[0]
vov=lstvov[0]
for i,rrho in zip(range(len(lstrho)),lstvov):
return sabrImplVolList(alpha, vvov, rho) , lstvov
This is the example of the case where I fix rho
and vov
and I change the parameter alpha:
SIValpha=plotSabrImplVolSmile (security, context, expiry, 5, [1,1.5], [2], [0.1])
plt.plot(strikesGrid,SIValpha[0], color = cm.rainbow( np.linspace(0, 1, len(SIValpha[1]) ) , label=' alpha{}.format(i)='{}'.format(SIValpha[1][i])' )
I keep getting this erreor
SyntaxError: unexpected EOF while parsing
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|