UsageΒΆ

To use Mean Variance Portfolio in a project:

.. code:: python
>>> import mvport as mv

Instantiate a portfolio and add some stocks:

>>> p = mv.Portfolio()
>>> p.add_stock('AAPL', [.1,.2,.3])
>>> p.add_stock('AMZN', [.1,.3,.5])

Evaluate a portfolio given a set of weights:

>>> mean, variance, sharp_ratio, weights = p.evaluate([.5, .5])
>>> print '{} +- {}'.format(mean, variance)
0.25 +- 0.0225

Get the portfolio that minimizes risk for a given expected return:

>>> expected_return = 0.25
>>> mean, variance, _, w = p.get_minimum_variance_portfolio(expected_return)
>>> print 'weights: {} \n {} +- {}'.format(w, mean, variance)
weights: [[0.49999993 0.50000007]]
 0.25000000746 +- 0.022500002238

Get tangency portfolio for a given risk free asset:

>>> risk_free_rate = 0.2
>>> mean, variance, _, w = p.get_tangency_portfolio(risk_free_rate)
>>> print 'weights: {} \n {} +- {}'.format(w, mean, variance)
weights: [[2.64767716e-04 9.99735232e-01]]
 0.299973523228 +- 0.0399894099924