.. title:: pyinvestingsnippets
pyinvestingsnippets
=====================
PyInvestingSnippets is a python library which implements `pandas `_ extensions
for stock and investment portfolio analysis. Several utilities are also provided.
Installation
------------
::
pip install pyinvestingsnippets
Pyinvestingsnippets is listed in `PyPI `_ and
can be installed with ``pip``.
**Prerequisites**: pyinvestingsnippets requires Python 3.7 or newer
Quick links
-----------
* Current version: |version| (`download from PyPI `_)
* `Source (GitHub) `_
Features
--------
* Cumulative Wealth Index Growth
* Drawdown
* `SRRI `_
* Rolling Returns
* Rolling Volatility
* Beta (regression/covariance)
* Rolling Beta (regression/covariance)
* Exponentially Weighted Downside Risk
Example
-------
Here is a simple example ::
import datetime
import pyinvestingsnippets
import pandas_datareader as web
if __name__ == "__main__":
end_date = datetime.datetime.now()
start_date = end_date - datetime.timedelta(days=5 * 365)
end_date_frmt = end_date.strftime("%Y-%m-%d")
start_date_frmt = start_date.strftime("%Y-%m-%d")
aapl_prices = web.DataReader('AAPL', data_source='yahoo', start=start_date_frmt, end=end_date_frmt)['Adj Close']
aapl_rets = aapl_prices['AAPL'].returns
aapl_wi = aapl_rets.cwi
aapl_dd = aapl_wi.drawdown
aapl_dd_dur = aapl_dd.durations
print('Total return: {:.0%}'.format(aapl_wi.total_return))
print('Max drawdown: {:.2%}'.format(aapl_dd.max_drawdown))
print('Average drawdown duration: {}'.format(aapl_dd_dur.mean()))
Complete examples can be found `here `_.
.. toctree::
:titlesonly: