Skip to main content

finmodels is a Python package that provides various financial models for analysis and optimization.

Project description

finmodels

finmodels is a Python package designed for financial analysis and optimization. It includes a collection of financial models, such as Discounted Cash Flow (DCF) valuation and Mean-Variance Portfolio Optimization. With finmodels, you can perform essential financial calculations to support investment decisions and portfolio management.

Key Features

Discounted Cash Flow (DCF) Valuation: Calculate the present value of future cash flows to assess the intrinsic value of an investment.

Portfolio Optimization: Optimize portfolio allocations using Mean-Variance Optimization to balance returns and risk.

The Leveraged Buyout (LBO) Model: LBO Model is a financial analysis tool used in corporate finance for

evaluating the acquisition of a company using a significant amount of borrowed funds.

IPO Model: IPO Model is a simple Python script for calculating the Initial Public Offering (IPO) valuation using a discounted cash flow (DCF) model.

Installation

You can install the package using pip:

pip install finmodels

Usage Discounted Cash Flow (DCF) Valuation

Example usage of DCF valuation

import finmodels as fm
cash_flows = [100, 150, 200, 250]
discount_rate = 0.1
dcf_value = fm.calculate_dcf(cash_flows, discount_rate)
print("DCF Value:", dcf_value)

Example usage of Portfolio Optimization

import finmodels as fm
import numpy as np

# Example usage of portfolio optimization
expected_returns = np.array([0.05, 0.08, 0.12])
covariance_matrix = np.array([[0.001, 0.0005, 0.0002],
                              [0.0005, 0.002, 0.001],
                              [0.0002, 0.001, 0.003]])
optimal_weights = fm.optimize_portfolio(expected_returns, covariance_matrix)
print("Optimal Portfolio Weights:", optimal_weights)

Example usage of Leveraged Buyout (LBO) Model

import finmodels as fm
# Example usage
acquisition_price_example = 1000
equity_percentage_example = 0.3
debt_interest_rate_example = 0.05
projection_years_example = 5

# Create an instance of LBOModel
lbo_model = fm.LBOModel(acquisition_price_example, equity_percentage_example,
                     debt_interest_rate_example, projection_years_example)

# Calculate and print equity returns
equity_returns_result = lbo_model.calculate_equity_returns()
print(f"Equity Returns for each year: {equity_returns_result}")

Example usage of IPO Model

import finmodels as fm
# Example usage
initial_valuation = 500000000  # Initial company valuation before IPO
funds_raised = 100000000  # Funds raised during the IPO
operating_income = 75000000  # Annual operating income before IPO
growth_rate = 0.05  # Annual growth rate of operating income
years = 5  # Number of years for the IPO model

ipo_model = fm.IPOModel(initial_valuation, funds_raised, operating_income, growth_rate, years)
ipo_model.print_summary()

Contributors

Tamilselvan Arjunan

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

finmodels-2.0.4.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

finmodels-2.0.4-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file finmodels-2.0.4.tar.gz.

File metadata

  • Download URL: finmodels-2.0.4.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.8.4

File hashes

Hashes for finmodels-2.0.4.tar.gz
Algorithm Hash digest
SHA256 a434bfeb462969d8a6c0cf0bd5b737b49730a06e3c369b23bb609d822d7d4c62
MD5 9e6d2a8992f834bd3e8c0f14cfbd6e7b
BLAKE2b-256 76130948afbcaf979c1671920bb222121e6806efab8dc4d6c38bafdba50a9434

See more details on using hashes here.

File details

Details for the file finmodels-2.0.4-py3-none-any.whl.

File metadata

  • Download URL: finmodels-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.8.4

File hashes

Hashes for finmodels-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8a0acea0a4c9f2befedc4c08294f9b6c424ddb569105ac9d3373f10f60db5ae7
MD5 200d48dd2fdc4d0aa60cb2a6d42ec552
BLAKE2b-256 c28693c70ab068cd7624c3d1ef3c1cf95183b023ce2d2135fc2b1382a2422420

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