Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| # Function to calculate total returns | |
| def calculate_returns(initial_investment, annual_dividend_yield, monthly_sip, expected_return, time_duration): | |
| months = time_duration * 12 | |
| monthly_return = (1 + expected_return) ** (1 / 12) - 1 | |
| total_value = initial_investment | |
| for i in range(months): | |
| total_value = (total_value + monthly_sip) * (1 + monthly_return) | |
| total_value += total_value * (annual_dividend_yield / 12) # Add monthly dividend yield | |
| return total_value | |
| # Gradio interface function | |
| def total_returns_calculator(initial_investment, annual_dividend_yield, monthly_sip, expected_return, time_duration): | |
| annual_dividend_yield /= 100 # Convert percentage to decimal | |
| expected_return /= 100 # Convert percentage to decimal | |
| total_returns = calculate_returns(initial_investment, annual_dividend_yield, monthly_sip, expected_return, time_duration) | |
| return f"Total Returns after {time_duration} years: {total_returns:.2f}" | |
| # Gradio interface setup | |
| inputs = [ | |
| gr.Number(label="Initial Investment Corpus"), | |
| gr.Number(label="Annual Dividend Yield (%)"), | |
| gr.Number(label="Monthly SIP Contribution"), | |
| gr.Number(label="Expected Annual Return (%)"), | |
| gr.Number(label="Time Duration (years)") | |
| ] | |
| outputs = gr.Textbox(label="Total Returns") | |
| gr.Interface( | |
| fn=total_returns_calculator, | |
| inputs=inputs, | |
| outputs=outputs, | |
| title="Total Returns Calculator", | |
| description="Calculate the total returns of your investment with annual dividend yield and monthly SIP contributions." | |
| ).launch() | |