Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ggsmith842 authored Jul 29, 2023
1 parent 92cca36 commit eec9b47
Showing 1 changed file with 32 additions and 25 deletions.
57 changes: 32 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,47 @@

![Logo](https://github.com/ggsmith842/thrifty-rabbit/blob/main/thirfyRabbit.jpg?raw=true)

# Modern Portfolio Methods in Python

This repository provides a set of Python modules that implement modern portfolio methods. The modules can be used to collect price data, use goal-based advising techniques, analyze a portfolio for diversification, and visualize the efficient frontier of a portfolio.

### Goals:
1. Monitor a portfolio for performance and health.
2. Optimize a portfolio by creating a robo-advisor with an objective of maximizing long-term returns.
## Installation

#### 1. Monitoring
To install the modules, simply clone the repository and run the following command:

How will this be done?
pip install -e .

1. Collect fundamental data for assets in the portfolio using the [yfinance](https://pypi.org/project/yfinance/) package.
2. Calculate metrics used to evaluate a stock for a dividend portfolio
- Yield (%)
- Dividend Payout Ratio
- Dividend Coverage Ratio
- Free Cash Flow to Equity
- Net Debt to EBIDTA Ratio
- BETA (Volatitlity)
3. Establish rules determining the health of the assets in the portfolio. Examples are:
- a company stops paying a dividend
- a dividend yield has steadily descrased for 2 quarters
- a company is low on cash
4. Develop a portfolio health score and thresholds using the rules and metrics established above
5. Visualize and report results
6. Automate reporting and data refreshes.
## Usage
The modules in this repository can be used as follows:

#### 2. Automate and Optimize
To collect price data, use the get_price_data() function.
To use goal-based advising techniques, use the goal_based_advising() function.
To analyze a portfolio for diversification, use the portfolio_diversification() function.
To visualize the efficient frontier of a portfolio, use the efficient_frontier() function.

1. Using [pyportfolioopt](https://pypi.org/project/pyportfolioopt/)

(Coming soon)
## Examples
The repository includes a number of examples that demonstrate how to use the modules. The examples can be found in the examples directory.

## Documentation
The documentation for the modules can be found in the docs directory. The documentation includes detailed descriptions of the functions and classes in the modules.

## Contributing
Contributions to this repository are welcome. To contribute, simply fork the repository and submit a pull request.

## License
This repository is licensed under the MIT License.
## Credits

This package uses the following packages:

* yfinance: https://pypi.org/project/yfinance/
* pypfopt: https://pypfopt.readthedocs.io/en/stable/

## References
* [Robo-Advisor with Python: A hands-on guide to building and operating your own Robo-advisor](https://github.com/aki-ranin/robo-advisor-with-python)
* [yfinance documentation](https://pypi.org/project/yfinance/)
* [pypfopt documentation](https://pypfopt.readthedocs.io/en/stable/)


### Data Model

(Coming soon)

0 comments on commit eec9b47

Please sign in to comment.