Skip to main content

Build discounted cash flow (DCF) models with ease. Allows for advanced manipulation of future growth for more accurate equity valuations.

Project description

https://github.com/jackmoody11/autodcf/workflows/Tests/badge.svg

The autodcf package aims to make it extremely simple to create DCF models, simple and complex alike. If you are tired of running sensitivity tests to see how your model will behave with different sales growth patterns, this package is for you.

Getting Started

You can clone the repo from GitHub using

git clone https://github.com/jackmoody11/autodcf

Setup the project by navigating to the project root directory and running

python setup.py

Basic Usage

There are a few important classes which will help you build your DCF. The Company class encapsulates three classes: BalanceSheet, CashFlows, and IncomeStatement. Once a Company object is created using the 3 financial statements, this can be passed to one of the DCF models (currently either SimpleDCF or DCF).

from autodcf.company import BalanceSheet, CashFlows, Company, IncomeStatement
from autodcf.models import SimpleDCF

balance_sheet = BalanceSheet(assets=100, liabilities=50)
cash_flows = CashFlows(capex=3)
income_statement = IncomeStatement(sales=100,
                                   cogs=50,
                                   sga=25,
                                   rd=0,
                                   depreciation=4,
                                   amortization=2,
                                   interest=0,
                                   nonrecurring_cost=3,
                                   tax=4)
company = Company(balance_sheet=balance_sheet,
                  cash_flows=cash_flows,
                  income_statement=income_statement,
                  price_per_share=2.00,
                  fully_diluted_shares=100)
simple_dcf = SimpleDCF(change_in_nwc_to_change_in_sales=0.1,
                       company=company,
                       discount_rate=0.14,
                       sales_growth=0.03,
                       tax_rate=0.21,
                       terminal_growth_rate=0.03,
                       window=5)
forecast = simple_dcf.forecast()

The code above will provide a filled out pandas DataFrame with estimated growth of different line items from the income statement.

TODO

  • Add docs and deploy using doctr to GitHub Pages site (automate deployment with Travis CI)

  • Publish package to PyPi

Future Enhancements

  • io: Allow for DCF model to be exported to Excel

  • data: Allow users to specify what company and data source to use and fetch necessary data for B/S, CF, and I/S behind the scenes

  • company: Allow for integration with financial data APIs

  • models: Add different types of models (with/without synergies)

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

autodcf-0.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

autodcf-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autodcf-0.1.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for autodcf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1a6110ad3137e4636f4905cff0402f6e85f57463212bfe4af99daea49e48f57e
MD5 3be687eb56aa708009189ed28b5de9f8
BLAKE2b-256 bd5a49661757c73b959abcdfd7f071b4fb8aabc888d4fcc4a79e95244bfe2432

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autodcf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for autodcf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ec9e0186ff54deb4318912c99f7ce6cdcde418836487fea0d31195cdc451ca5
MD5 35c2bc1f9359d7631c6a7aaf090b4ba5
BLAKE2b-256 b8e65f5ada8fefb724442b46bd625eaa4c123cd058b1c43f743ea7def08c1e61

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