Git Product home page Git Product logo

finmodels's Introduction

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.

finmodels's People

Contributors

tamilselvanarjun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

roger120981 navalthanik user1githubio123 naval-gndec github1234wq stanleyhigbee35 millicentheard89491 tonaentler20 philipabelsheim69159 shantaytention257 sonal-19 avatewew464 ninaschink487 kritwsdw kanhiya08 brianheron73 tondaduckhorn89 zomboy245 harjobandeepsingh rajat3141 harsh-pandey-06 tanishkab hemapandey1499 verma12334 iamgautamp nidhi2506-nr samroopritgithub bunta216 omkarsunilsurve lokendra-singh-001 antwansindlinger21535 rajan153 gurjotkallah thanksduck manjotsingh001 hii-aman manmohankataria dikshasharma005 hivaibhav123 remansi rohini123793 coderjaspreet098 jaspreet32 gupta-dikshita ludieviorel940 mericastaneda46 bunnystallion881 shayechandley30760 andradunnaway18 raymondebuddenhagen873 clemenciaingels898 alejandrinaweisinger763 aleamonarez71056 goddardcarry563 kathivaladao51 laginalime401 joscelinescharmer06 karrycaramella45 ailenevukcevic038 cordeliabarts637 monroebulliner16234 edwardcleven74873 burmadiley03481 gilberthocking53135 caleighscarp261 juhilkumar carminaskillington35 ridham0001 sanfordiozzi55 dhruvilsavliya vrund-p simran93504 payal2808 meghamia wup-tamil ellakeglovic549 beataheimbaugh436 johnacanterbury52508 dorthasjoberg80 olenerollie924 rajjayvir gurpreetprofile jay-003 luffykesh kamboj7791 natoshacatala210 candacewafula45 sheritasantore67342 callahanringquist70439 alanniscropley64 narcissainghram398 olivaschoberg903 kameronparthemore803 angelikapaseur24 brendenwidmer41 mariellaboensch214 nedramaj756 derekostendorf30332 donitasosbe75 ryannmagnant42

finmodels's Issues

growth factor issue

The correct discount factor for a DCF model should be (1 + growth_rate) instead of 1 / (1 + growth_rate).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.