matthewmercuri / pyfolio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pyfolio

A python library that helps assess one's investment portfolio risk.


This is currently a work in progress (as I'm sure all projects are πŸ˜…)!

Below you will find the features and capabilities as I implement them.

TODO πŸ“

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?

About

License:MIT License


Languages

Language:Python 100.0%