Смешанное целочисленное квадратичное программирование в Python
Мне было интересно, может ли кто-нибудь дать мне какое-то руководство в определении моей цели.
Я пытаюсь свести к минимуму дисперсию в Python с некоторыми ограничениями по количеству активов в моем портфеле. Я не уверен, какой пакет поможет мне сделать это. И если бы был рабочий пример для вышесказанного.
2 ответа
Ниже приведена модель MIQP, которая иллюстрирует, как мы можем моделировать проблему портфеля с ограниченным количеством активов между minAssets и maxAssets. Если актив находится в портфеле, его доля ограничена значениями от fmin до fmax.
В этой ссылке вы также можете увидеть, как вы можете попытаться решить эту проблему с помощью ряда линейных задач MIP.
Решатели MIQP легко доступны: CVXPY/ECOS_BB, Cplex и Gurobi - несколько примеров. Все они могут быть вызваны из Python. Простая модель QP портфеля была бы хорошей отправной точкой (без сомнения, такая модель доступна в примерах для любого из этих решателей).
Вы можете взглянуть на некоторые ссылки, касающиеся пакета Python. CVXOPT
:
https://cvxopt.org/examples/book/portfolio.html
https://scaron.info/blog/quadratic-programming-in-python.html