Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

finmodels

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

finmodels

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

  • 2.0.4
  • PyPI
  • Socket score

Maintainers
1
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.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc