A python library that helps assess one's investment portfolio risk.
Below you will find the features and capabilities as I implement them.
Note: only items that are completely implemented are marked complete. If an item is not checked off, it may be only partly implemented.
- Portfolio Object ๐
- add or remove equity and cash positions
- create a pandas dataframe that calculates daily returns from positions
- handle Canadian and American symbols (FX conversion)
- print portfolio as a JSON object
- calculate daily portfolio value, percent return, log return
- create a pandas df containing daily price data for holdings, total value, and benchmark
- save and load user's portfolios
- Data Object ๐
- get daily returns for symbols
- get latest price for symbols
- get CAD/USD FX data
- data source agnostic
- client-side symbol validation
- Data Sources
- yfinance
- tiingo?
- IEX?
- use env variables to configure APIs
- Risk Object ๐๐
- accept portfolio object in class constructor
- daily average return and volatitily (standard deviation)
- Daily Beta
- Sharpe Ratio
- Correlation Matrix
- Value at Risk (VaR)
- historical (1, 3, 5 years)
- student's t
- monte carlo?
- Expected Shortfall (ES/cVaR)
- historical (1, 3, 5 years)
- student's t
- monte carlo?