Exemplo n.º 1
0
def bench_exact_hess(x):
    test_prob.eval_hess_bar_g(x)
    

def benchmark_fd_exact_hess_bar_g():
    print(timeit.timeit('bench_fd_hess()', setup='from dccsupport import bench_fd_hess',
                        number=1000))
    print(timeit.timeit('bench_exact_hess()', setup='from dccsupport import bench_exact_hess',
                        number=1000))



# test_xm = np.concatenate([np.array([[ -1.3125 ,  -1.125  ,  -1.0625 ,  -0.5625 ],
#                                     [ -1.125  ,  -1.8125 ,  -1.25   ,  -0.90625],
#                                     [ -1.0625 ,  -1.25   ,  -1.3125 ,  -0.625  ],
#                                     [ -0.5625 ,  -0.90625,  -0.625  ,  -1.025  ]]).reshape(-1),
#                           np.array([0.1667, 0.3333, 0.5])]) / 10.

# test_xm = init_tau(test_xm, 3, 1)/100.
# test_xm_extended = init_tau(test_xm, 3, 2)/100.

if __name__ == '__main__':
    test_er = loaddata.load_fama_french_10_industry().values[-300:, :3]
    mu, sigma = ps.first_moment(test_er), ps.covariance(test_er)
    # mu, P = ps.shrinkage_moments(test_er.values[300:,:3], bootstrap_size=100)
    variance_bound = 0.03
    u_bounds = {'lower': -0.1*np.ones(3), 'upper': 0.5*np.ones(3)}
    test_prob = MVProblem(mu, sigma, variance_bound, u_bounds)
    # test_prob_extended = DccSupportProblem(mu, P, s, y, eta, extended_Ws)
Exemplo n.º 2
0
    hess_g = logbar.eval_fd_jac_hess(test_prob.eval_g, x)
    bar_hess = np.sum(map(logbar.eval_log_bar_hess_f, g, jac_g, hess_g), axis=0)

def bench_exact_hess(x):
    test_prob.eval_hess_bar_g(x)
    

def benchmark_fd_exact_hess_bar_g():
    print(timeit.timeit('bench_fd_hess()', setup='from dccsupport import bench_fd_hess',
                        number=1000))
    print(timeit.timeit('bench_exact_hess()', setup='from dccsupport import bench_exact_hess',
                        number=1000))
    

if __name__ == '__main__':    
    test_et = loaddata.load_fama_french_10_industry()
    mu = ps.first_moment(test_et.values[300:,:3])
    P = ps.second_moment(test_et.values[300:,:3])
    
    y = 0.1
    eta = 0.004
    s = 0.005
    test_prob = DccBaseProblem(mu, P, s, y, eta)
    
    
    
        
    # test_xm = np.concatenate([np.array([[ -1.3125 ,  -1.125  ,  -1.0625 ,  -0.5625 ],
    #                                     [ -1.125  ,  -1.8125 ,  -1.25   ,  -0.90625],
    #                                     [ -1.0625 ,  -1.25   ,  -1.3125 ,  -0.625  ],
    #                                     [ -0.5625 ,  -0.90625,  -0.625  ,  -1.025  ]]).reshape(-1),