Essayer d'optimiser ici une allocation de portefeuille qui maximise ma fonction de retour en limitant le risque en utilisant le module cvxopt. Mes codes sont les suivants:optimisation du portefeuille: comment maximiser le rendement tout en étant soumis au risque cible en utilisant cvxopt.solver.qp?
from cvxopt import matrix, solvers, spmatrix, sparse
from cvxopt.blas import dot
import numpy
import pandas as pd
import numpy as np
from datetime import datetime
solvers.options['show_progress'] = False
# solves the QP, where x is the allocation of the portfolio:
# minimize x'Px + q'x
# subject to Gx <= h
# Ax == b
#
# Input: n - # of assets
# avg_ret - nx1 matrix of average returns
# covs - nxn matrix of return covariance
# r_min - the minimum expected return that you'd
# like to achieve
# Output: sol - cvxopt solution object
dates = pd.date_range('2000-01-01', periods=6)
industry = ['industry', 'industry', 'utility', 'utility', 'consumer']
symbols = ['A', 'B', 'C', 'D', 'E']
zipped = list(zip(industry, symbols))
index = pd.MultiIndex.from_tuples(zipped)
noa = len(symbols)
data = np.array([[10, 11, 12, 13, 14, 10],
[10, 11, 10, 13, 14, 9],
[10, 10, 12, 13, 9, 11],
[10, 11, 12, 13, 14, 8],
[10, 9, 12, 13, 14, 9]])
market_to_market_price = pd.DataFrame(data.T, index=dates, columns=index)
rets = market_to_market_price/market_to_market_price.shift(1) - 1.0
rets = rets.dropna(axis=0, how='all')
# covariance of asset returns
P = matrix(rets.cov().values)
n = len(symbols)
q = matrix(np.zeros((n, 1)), tc='d')
G = matrix(-np.eye(n), tc='d')
h = matrix(-np.zeros((n, 1)), tc='d')
A = matrix(1.0, (1, n))
b = matrix(1.0)
sol = solvers.qp(P, q, G, h, A, b)
Dois-je utiliser la simulation Monte Carlo pour obtenir le risque cible tout en maximisant le retour? Quelle est la meilleure méthode pour résoudre ce problème? Je vous remercie.
Je pense que le portefeuille de sharpe est l'un des portefeuilles que j'essaie de trouver. Mais si je veux utiliser mon risque de tolérance pour maximiser mon retour, comment puis-je connaître le poids? –