Tools to manage portfolio risk analysis
Project description
invest-tools
Tools to manage portfolio risk analysis
Installation
As a python package this should be installable through:
pip install invest-tools
Or:
poetry add invest-tools
Dependencies
The dependencies of this project can be seen in the pyproject.toml
file. However for completeness there is a dependcy on pandas
, statsmodels
and matplotlib
as the basics.
Data Inputs
There are three data inputs which should be present for the package to work as expected.
The path strings to the csvs can be passed in.
- Portfolio price data as a CSV
TIDM | Date | Open | High | Low | Close | Volume | Adjustment |
---|---|---|---|---|---|---|---|
EG | 01/01/2023 | 1 | 1 | 1 | 1 | 1 | 1 |
EG2 | 01/01/2023 | 1 | 1 | 1 | 1 | 1 | 1 |
- Currency data as a CSV
Date | Open | High | Low | Close | Adj Close | Volume |
---|---|---|---|---|---|---|
01/01/2023 | 1 | 1 | 1 | 1 | 1 | 1 |
Example
Build a portfolio of two securities called EG
and EG2
with the weighting split 50:50 between the two. One is denominated in GBP and one in USD.
This will output the mean returns of such a portfolio.
import numpy as np
from invest_tools import portfolio
portfolio_definition = {
"EG": {
"weight": 0.5,
"currency": "gbp"
},
"EG2": {
"weight": 0.5,
"currency": "usd"
}
}
port = portfolio.Portfolio(portfolio_definition, portfolio.Currency.GBP)
port.get_usd_converter("path/to/csv")
port.get_prices("path/to/csv")
port.build()
port.analyse()
print(port.analysis)
port.plot_correlation_heatmap()
port.plot_returns_data()
Roadmap
- Add an input validator
- Add logging
- Update risk free calculation to use new data outputs
- Add deeper analysis methods
- Coppock Curve
- Fama French
- Excess Returns
- Maximum Drawdown
- Calculate Moments
- Add further testing
- Make the package more generic
- Investigate using Polars
- Add func to calculate number of shares to buy to achieve portfolio make up (need to take in cash total for portfolio)
License
Contact
Just open an issue I guess?
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for invest_tools-0.2.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2231d428ae7c58668636ae5e8706522ae3629a119cdf92d7505f019ffc1d8239 |
|
MD5 | 4bbee96f405ab4d1c1799a6558160c63 |
|
BLAKE2b-256 | 83d160a5c2935b7c5188f2415447fa242410170624037f03d2dd9d51664db231 |