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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a434bfeb462969d8a6c0cf0bd5b737b49730a06e3c369b23bb609d822d7d4c62 |
|
MD5 | 9e6d2a8992f834bd3e8c0f14cfbd6e7b |
|
BLAKE2b-256 | 76130948afbcaf979c1671920bb222121e6806efab8dc4d6c38bafdba50a9434 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0acea0a4c9f2befedc4c08294f9b6c424ddb569105ac9d3373f10f60db5ae7 |
|
MD5 | 200d48dd2fdc4d0aa60cb2a6d42ec552 |
|
BLAKE2b-256 | c28693c70ab068cd7624c3d1ef3c1cf95183b023ce2d2135fc2b1382a2422420 |