import math, json def figure(id,title,xlabel,ylabel,x,series,caption): return dict(id=id,title=title,kind='analytical_curve',x_label=xlabel,y_label=ylabel,x=dict(name=xlabel,values=x),series=[dict(name=n,values=v)for n,v in series],caption=caption) def close(a,b,tol=1e-10): assert abs(a-b)<=tol*max(1,abs(a),abs(b)),(a,b) rho=.8;sigma2=1. hs=list(range(1,13)) valid=[sum(rho**(2*j)for j in range(h)) for h in hs] leaky=[v/(rho*rho*v+1)for v in valid] for h,v,w in zip(hs,valid,leaky): close(v,(1-rho**(2*h))/(1-rho*rho)) # Conditional covariance Schur complement. cov=rho*v;future_var=rho*rho*v+sigma2 close(w,v-cov*cov/future_var);assert w=C for s in range(C))for h in horizons] for h,c in zip(horizons,crossing): close(c,min(C,L+h-1)) safe=[s for s in range(C)if s+L+h-1