Skip to main content

A python package that gets stocks prices from yahoo finance (https://finance.yahoo.com/) and calculates how much of each stocks you must buy to have almost equal distribution between the stocks you want in your portfolio

Project description

Welcome to Allokation 👋

GitHub release (latest by date) GitHub

A python package that gets stocks prices from yahoo finance and calculates how much of each stocks you must buy to have almost equal distribution between the stocks you want in your portfolio

***Disclaimer***

NO FINANCIAL ADVISE - This library DO NOT offer financial advises, it just calculates the amount of stocks you will need to buy based on stocks that YOU WILL INFORM and the market price of the day for these stocks, given by yahoo finance.

Requires

  • python >= 3.x

Install

  • install via pip
pip install allokation

Usage

  • It's quite simple to use this package, you just need to import the function allocate_money, pass a list of tickers you want and the available money you have to invest. If you want, you can also pass a list of the percentages of each stocks you want in your portfolio. This list of percentages must have the same length of the tickers.

  • It will return a dict containing the allocations you must need and the total money you must need to have this portfolio (This total will be less or equal than the available money you informed to the allocate_money function). For each stock, it will be returned the price that was used to calculate the portfolio, the amount of stocks you will need to buy, the total money you need to buy this amount of this stock and the percentage that this stock represents in your portfolio. For example:

{
    'allocations': {
        'B3SA3': {
            'price': 58.33,
            'amount': 3.0,
            'total': 174.99,
            'percentage': 18.14420803782506
        },
        'BBDC4': {
            'price': 21.97,
            'amount': 9.0,
            'total': 197.73,
            'percentage': 20.50205300485256
        },
        'MGLU3': {
            'price': 88.77,
            'amount': 2.0,
            'total': 177.54,
            'percentage': 18.408610177927088
        },
        'PETR4': {
            'price': 22.92,
            'amount': 9.0,
            'total': 206.28000000000003,
            'percentage': 21.388577827547596
        },
        'VVAR3': {
            'price': 18.9,
            'amount': 11.0,
            'total': 207.89999999999998,
            'percentage': 21.556550951847704
        }
    },
    'total_value': 964.4399999999999
}

Example

Check out the example available in example/example.py to see it in action.

Development Guide

Getting the project

  • clone this repository
git clone git@github.com:capaci/allokation.git
  • install dependencies
pip install -r requirements.txt
pip install -r requirements-tests.txt

Run tests

  • Unit tests
pytest tests/
  • Coverage
coverage run -m pytest tests/
coverage report
  • Linter
flake8

Author

👤 Rafael Capaci

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

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

allokation-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

allokation-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file allokation-0.1.0.tar.gz.

File metadata

  • Download URL: allokation-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for allokation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d80e8a7a08efa0fa660ad36b3bee6cf8d1e2e2b05479c09c5f81a7dfdcdabe1
MD5 fc0bf17e22fc672e39e59c1949e9d86d
BLAKE2b-256 d887227162144473be0366334e82135ffeb6bc8ecd9ec7312200ce83665059e5

See more details on using hashes here.

File details

Details for the file allokation-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: allokation-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for allokation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77a69f91343d4746c3e4ece1c242d89dfeb2246bd5b0161c94afdd5c80acad4e
MD5 19a4639ee2db9a0b6246b9d3ab55268f
BLAKE2b-256 e03be3f2265db06b01c489995d890a0d1359228eb439ae0a88c4bf7ac1b92ac2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page