Metadata-Version: 2.4
Name: py-vallocation
Version: 0.1.0
Summary: Python package for asset allocation integrating investor views via entropy pooling and Black–Litterman methodology
License: GNU General Public License v3.0
Project-URL: Homepage, https://github.com/enexqnt/py-vallocation
Project-URL: Repository, https://github.com/enexqnt/py-vallocation
Keywords: asset allocation,portfolio optimization,entropy pooling,Black-Litterman
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: cvxopt>=1.2.0
Provides-Extra: pandas
Requires-Dist: pandas>=1.0.0; extra == "pandas"
Dynamic: license-file

# Py-vAllocation

Py-vAllocation is a Python package for asset allocation with a primary focus on integrating investor views.

## Features

It's yet another portfolio optimization library, but unlike many others, **Py-vAllocation** aims to:
- Be modular and beginner-friendly, while remaining flexible and customizable for advanced users  
- Support Variance, CVaR and Robust Bayesian optimisation, using either mean/variance distributions or scenario probabilities
- Avoid hidden assumptions or black-box components — every modeling choice is explicitly stated  
- Incorporate investor views via historical flexible probabilities using entropy pooling and the Black-Litterman methodology  
- Support shrinkage estimators and other Bayesian estimation methods  


## Installation

Since Py-vAllocation is under active development and not yet published on PyPI, install from source:

```bash
git clone https://github.com/enexqnt/py-vallocation.git
cd py-vallocation
pip install .
```

## Quick Start

See [examples here](examples/)


## Requirements

- Python 3.8+
- numpy >= 1.20.0
- cvxopt >= 1.2.0
- pandas (optional, recommended for enhanced functionality)
  - check availability via `pyvallocation.optional.HAS_PANDAS`

## Development Status

**Alpha release**: Under active development. Many features are not yet implemented or fully tested. Breaking changes may occur without notice. Use at your own risk.

## Contributing

Contributions and feedback are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

## License

This project is licensed under the GNU General Public License v3.0 License. See [LICENSE](LICENSE) for details.

## Credits

Some part of the code, where explictly stated, is adapted from [fortitudo-tech](https://github.com/fortitudo-tech/fortitudo.tech)
