import%20marimo%0A%0A__generated_with%20%3D%20%220.14.17%22%0Aapp%20%3D%20marimo.App()%0A%0Awith%20app.setup%3A%0A%20%20%20%20import%20cvxpy%20as%20cp%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20numpy%20as%20np%0A%0A%20%20%20%20from%20cvxrisk.portfolio%20import%20minrisk_problem%0A%20%20%20%20from%20cvxrisk.random%20import%20rand_cov%0A%20%20%20%20from%20cvxrisk.sample%20import%20SampleCovariance%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%23%20Sample%20covariance%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.function%0Adef%20problem(n)%3A%0A%20%20%20%20weights%20%3D%20cp.Variable(n)%0A%20%20%20%20_riskmodel%20%3D%20SampleCovariance(num%3Dn)%0A%20%20%20%20_problem%20%3D%20minrisk_problem(_riskmodel%2C%20weights)%0A%0A%20%20%20%20return%20_problem%2C%20_riskmodel%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20_n%20%3D%2050%0A%20%20%20%20_a%20%3D%20rand_cov(_n%20-%202)%0A%20%20%20%20_problem%2C%20_riskmodel%20%3D%20problem(_n)%0A%20%20%20%20for%20_i%20in%20range(100)%3A%0A%20%20%20%20%20%20%20%20_riskmodel.update(cov%3D_a%2C%20lower_assets%3Dnp.zeros(48)%2C%20upper_assets%3Dnp.ones(48))%0A%20%20%20%20%20%20%20%20_problem.solve(solver%3D%22CLARABEL%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20_n%20%3D%2050%0A%20%20%20%20_a%20%3D%20rand_cov(_n%20-%202)%0A%20%20%20%20for%20_i%20in%20range(100)%3A%0A%20%20%20%20%20%20%20%20_problem%2C%20_riskmodel%20%3D%20problem(_a.shape%5B0%5D)%0A%20%20%20%20%20%20%20%20_riskmodel.update(cov%3D_a%2C%20lower_assets%3Dnp.zeros(48)%2C%20upper_assets%3Dnp.ones(48))%0A%20%20%20%20%20%20%20%20_problem.solve(solver%3D%22CLARABEL%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
e7c043f8681c1cb186b56ef13367231eb1d0ea1ac2f4e0d41ce9d0a199cb6469