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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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