# QuantOPT
## Description
This module is to create and run optimizer for the portfolio optimization.
it will have constraints with soft slack version and objects
main functions:
1. RunOpt, main functions with slack constraints path
2. create_constraints_holder, the creator for custom constraints with string
3. Holder, model holder which can be defined by custom or new model
## Usage
```python
from QuantOPT.constraints.relaxer import RunOpt
from QuantOPT.constraints.constraints import create_constraints_holder
from QuantOPT.core.model_core import Holder
import numpy as np
## add model
class risk_budge:
@staticmethod
def loss_func(w):
return np.sum(w)
Holder.add_model('risk_budge',risk_budge)
cov_price= stock_price.pct_change(1).cov()
stock_pool = len(cov_price.columns)
## init constraints
setting_yaml_path = './constraints.yaml'
constr_cls = create_constraints_holder(setting_yaml_path)
method = 'MinVar'
Ropt = RunOpt(method=method, constr_cls=constr_cls)
constraint_param_list = [('general_count_lower_rc', {'bound_value': 5}, 1, 'ineq')]
res = Ropt.run_opt(constraint_param_list, slack=True,stockpool=stock_pool, sigma2=cov_price)
```
Raw data
{
"_id": null,
"home_page": "http://www.github.com/sn0wfree/QuantOPT",
"name": "QuantOPT",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "QuantOPT, analysis",
"author": "sn0wfree",
"author_email": "snowfreedom0815@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/78/19/9f572e2e5e3270cc49f6d95331c1630d554a6020f506ac671476da909d49/QuantOPT-0.1.1.8.tar.gz",
"platform": null,
"description": "# QuantOPT\n\n\n## Description\n\nThis module is to create and run optimizer for the portfolio optimization. \nit will have constraints with soft slack version and objects \n\nmain functions:\n1. RunOpt, main functions with slack constraints path\n2. create_constraints_holder, the creator for custom constraints with string\n3. Holder, model holder which can be defined by custom or new model\n\n\n\n\n## Usage\n\n```python\nfrom QuantOPT.constraints.relaxer import RunOpt\nfrom QuantOPT.constraints.constraints import create_constraints_holder\nfrom QuantOPT.core.model_core import Holder\nimport numpy as np\n## add model\nclass risk_budge: \n @staticmethod\n def loss_func(w):\n return np.sum(w)\nHolder.add_model('risk_budge',risk_budge)\n\ncov_price= stock_price.pct_change(1).cov()\n\nstock_pool = len(cov_price.columns)\n\n## init constraints\nsetting_yaml_path = './constraints.yaml'\nconstr_cls = create_constraints_holder(setting_yaml_path)\nmethod = 'MinVar'\n\nRopt = RunOpt(method=method, constr_cls=constr_cls)\n\nconstraint_param_list = [('general_count_lower_rc', {'bound_value': 5}, 1, 'ineq')]\nres = Ropt.run_opt(constraint_param_list, slack=True,stockpool=stock_pool, sigma2=cov_price)\n\n\n\n```\n\n",
"bugtrack_url": null,
"license": "MIT Licence",
"summary": "a opt tool",
"version": "0.1.1.8",
"project_urls": {
"Homepage": "http://www.github.com/sn0wfree/QuantOPT"
},
"split_keywords": [
"quantopt",
" analysis"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a1d5de21c634ceeb00f892b6dbbdb3ce9cc1286d416253730a03d6d67ecc078",
"md5": "2ea67574c825bcb164859204e041f660",
"sha256": "7b442fd881a3b6b0eb295ac327b5b39049d4f5b7c4efbfdd0d3a2554de5629ec"
},
"downloads": -1,
"filename": "QuantOPT-0.1.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2ea67574c825bcb164859204e041f660",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 26502,
"upload_time": "2024-08-05T05:49:43",
"upload_time_iso_8601": "2024-08-05T05:49:43.914550Z",
"url": "https://files.pythonhosted.org/packages/4a/1d/5de21c634ceeb00f892b6dbbdb3ce9cc1286d416253730a03d6d67ecc078/QuantOPT-0.1.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "78199f572e2e5e3270cc49f6d95331c1630d554a6020f506ac671476da909d49",
"md5": "b42bfb0204369daf0689d7019900ab97",
"sha256": "d9b3f3db35aec032dd836ef6c2a6e44465373e54326b49b23f695add21a239c9"
},
"downloads": -1,
"filename": "QuantOPT-0.1.1.8.tar.gz",
"has_sig": false,
"md5_digest": "b42bfb0204369daf0689d7019900ab97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18476,
"upload_time": "2024-08-05T05:49:45",
"upload_time_iso_8601": "2024-08-05T05:49:45.515532Z",
"url": "https://files.pythonhosted.org/packages/78/19/9f572e2e5e3270cc49f6d95331c1630d554a6020f506ac671476da909d49/QuantOPT-0.1.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-05 05:49:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sn0wfree",
"github_project": "QuantOPT",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pandas",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "pyyaml",
"specs": []
}
],
"lcname": "quantopt"
}