Esempio n. 1
0
# plt.axis(ymin=7,ymax=25,xmin=25)
# plt.title('$\\textrm{Five-point summary of in-sample CE distribution -- Saturated features}$')
# plt.show()
# # plt.savefig('./fig/Student-Nvarying-Saturated-INS.pdf',format='pdf')

# plt.plot(*five_stats(data['CEs_oos'],param['ns']))
# plt.xlabel('$n$')
# plt.ylabel('$\\textrm{Returns (\%)}$')
# plt.axis(xmin=25)
# plt.title('$\\textrm{Five-point summary of out-of-sample CE distribution -- Saturated features}$')
# # plt.show()
# plt.savefig('./fig/Student-Nvarying-Saturated-OOS.pdf',format='pdf')

# plt.plot(*five_stats(data['CEs_oos']-data['CEs_ins'],param['ns']))
# plt.xlabel('$n$')
# plt.ylabel('$\\textrm{Returns (\%)}$')
# plt.axis(xmin=25)
# plt.title('$\\textrm{Five-point summary of out-of-sample error CE distribution -- Saturated features}$')
# # plt.show()
# plt.savefig('./fig/Student-Nvarying-Saturated-Error.pdf',format='pdf')

plt.plot(*five_stats(data['CE_star_q_star'] - data['CEs_oos'], param['ns']))
plt.xlabel('$n$')
plt.ylabel('$\\textrm{Returns (\%)}$')
plt.axis(xmin=25, ymax=45)
plt.title(
    '$\\textrm{Five-point summary of suboptimality $CE^\\star(q^\\star)-CE^\\star(\\hat q)$ distribution -- Saturated features}$'
)
# plt.show()
plt.savefig('./fig/Student-Nvarying-Saturated-Suboptimality.pdf', format='pdf')
Esempio n. 2
0
# plt.title('$\\textrm{Five-point summary of in-sample CE distribution -- Saturated features}$')
# # plt.show()
# plt.savefig('./fig/Unsaturated/Student-Nvarying-Unsaturated-INS.pdf',format='pdf')

# plt.plot(*five_stats(data.CEs_oos,param.ns))
# plt.xlabel('$n$')
# plt.ylabel('$\\textrm{Returns (\%)}$')
# plt.axis(xmin=25)
# plt.title('$\\textrm{Five-point summary of out-of-sample CE distribution -- Unsaturated features}$')
# # plt.show()
# plt.savefig('./fig/Unsaturated/Student-Nvarying-Unsaturated-OOS.pdf',format='pdf')

# plt.plot(*five_stats(data.CEs_oos-data.CEs_ins,param.ns))
# plt.xlabel('$n$')
# plt.ylabel('$\\textrm{Returns (\%)}$')
# plt.axis(xmin=25,ymin=-20)
# plt.title('$\\textrm{Five-point summary of out-of-sample error $CE^\\star(\\hat q) - \\hat{CE}(\\hat q)$ distribution -- Unsaturated features}$')
# # plt.show()
# plt.savefig('./fig/Unsaturated/Student-Nvarying-Unsaturated-Error.pdf',format='pdf')

plt.plot(*five_stats(data.CE_star_q_star - data.CEs_oos, param.ns))
plt.xlabel('$n$')
plt.ylabel('$\\textrm{Returns (\%)}$')
plt.axis(xmin=25)
plt.title(
    '$\\textrm{Five-point summary of suboptimality $CE^\\star(q^\\star)-CE^\\star(\\hat q)$ distribution -- Unsaturated features}$'
)
# plt.show()
plt.savefig('./fig/Unsaturated/Student-Nvarying-Unsaturated-Suboptimality.pdf',
            format='pdf')
Esempio n. 3
0
from helper.state import loader
from helper.stats import five_stats
from helper.plotting import plt

data, param = loader('ut1.00')

dis = data['CE_star'] - data['CE_ins']
# dis = data['CE_star']
plt.plot(*five_stats(dis, param['ps']))
# plt.plot(*five_stats(data['CE_star'],param['ps']))
plt.xlabel('$p$')
plt.ylabel('$\\textrm{Returns}$')
plt.title('$\\textrm{Out of sample CE error}$')
# plt.show()
plt.savefig('./fig/CE_oos_p.pdf', format='pdf')
Esempio n. 4
0
# About 8minutes running time.
for i, n in enumerate(ns):
    print('Sampling %d problems of size %d × %d' % (n_experiments, n, p + 1))
    prs = pr.ProblemsDistribution(M, n, λ, u, Rf)
    prs.sample(n_experiments)
    qs[i, :p + 1, :] = prs.qs.T
    CEs_ins[i, :] = prs.CEs_ins
    CEs_oos[i, :] = prs.CEs_oos
    Rs_ins[i, :] = prs.Rs_ins
    Rs_oos[i, :] = prs.Rs_oos

# In[42]:

f, (p1, p2) = plt.subplots(1, 2)
p1.plot(*five_stats(CEs_ins - CEs_oos, ns))
p1.set_xlabel('$n$')
p1.set_ylabel('Returns (\%)')
p1.set_title('Out-sample CE Error.')

p2.plot(*five_stats(-Rs_ins + Rs_oos, ns))
p2.set_xlabel('$n$')
p2.set_ylabel('Risks')
p2.set_title('Out-sample Risk Error.')

# In[44]:

f, (p1, p2) = plt.subplots(1, 2)
p1.plot(*five_stats(-CEs_oos + CE_star_q_star, ns))
p1.set_xlabel('$n$')
p1.set_ylabel('Returns (\%)')
Esempio n. 5
0
import numpy as np
import matplotlib.pyplot as plt

from helper.stats import five_stats

plt.rc('text',usetex=True)

CE_ins = np.load('CE_ins.npy')
CE_star = np.load('CE_star.npy')
ns = np.arange(25,2025,25)

# Graph 1 - Insample CE
# plt.plot(*five_stats(CE_ins,ns))
# plt.axis(xmin=25,xmax=2000,ymax=25)
# plt.xlabel('$\\textrm{Sample size}$')
# plt.ylabel('$\\textrm{Returns}$')
# plt.title('$\\textrm{Five-point summary of in-sample CE distribution}$')
# # plt.show()
# plt.savefig('./fig/CE_ins.pdf',format='pdf')

# Graph 2 - Absolute distance between CE and insample CE
dis = CE_star - CE_ins
plt.plot(*five_stats(dis,ns))
plt.axis(xmin=25,ymin=-7,ymax=2)
plt.xlabel('$\\textrm{Sample size}$')
plt.ylabel('$\\textrm{Returns}$')
plt.title('$\\textrm{Five-point summary of }CE_\star - \hat{CE}$')
# plt.show()
plt.savefig('./fig/CE_star-CE_ins.pdf')
Esempio n. 6
0
for i, (n, p) in enumerate(zip(ns, ps)):
    print('Sampling %d problems of size %d × %d' % (n_experiments, n, p + 1))
    prs = pr.ProblemsDistribution(M,
                                  n,
                                  λ,
                                  u,
                                  Rf,
                                  problem_t=pr.SaturatedFeaturesMaskedProblem)
    prs.sample(n_experiments, {'fs': range(p + 1)}, par=True)
    qs[i, :p + 1, :] = prs.qs.T
    CEs_ins[i, :] = prs.CEs_ins
    CEs_oos[i, :] = prs.CEs_oos

# In[29]:

plt.plot(*five_stats(CEs_ins, ps))
plt.xlabel('$p$')
plt.ylabel('Returns (\%)')
plt.axis(xmin=4)
plt.title('In-sample CE. $n = 2p$')

# In[30]:

plt.plot(*five_stats(CEs_ins - CEs_oos, ps))
plt.xlabel('$p$')
plt.ylabel('Returns (\%)')
plt.axis(xmin=4)
plt.title('Out-sample CE Error. $n = 2p$')

# In[36]:
Esempio n. 7
0
import numpy as np
import matplotlib.pyplot as plt

from helper.stats import five_stats
from helper.state import loader

plt.rc('text', usetex=True)

data, param = loader('graph1')

plt.plot(*five_stats(data['CE_ins'], param['λs']))
plt.xlabel('$p$')
plt.ylabel('$\\textrm{Returns}$')
plt.title('$\\textrm{Five-point summary of in-sample CE distribution}$')
plt.show()
# plt.savefig('./fig/CE_ins_λ.pdf',format='pdf')