Financial Calculator
Comprehensive financial calculations including future value, present value, discount/markup pricing, compound interest, and comparative tables.
Quick Start
CLI Usage
# Future Value
python3 scripts/calculate.py fv 10000 0.05 10 12
# PV=$10,000, Rate=5%, Years=10, Monthly compounding
# Present Value
python3 scripts/calculate.py pv 20000 0.05 10 12
# FV=$20,000, Rate=5%, Years=10, Monthly compounding
# Discount
python3 scripts/calculate.py discount 100 20
# Price=$100, Discount=20%
# Markup
python3 scripts/calculate.py markup 100 30
# Cost=$100, Markup=30%
# Future Value Table
python3 scripts/calculate.py fv_table 10000 0.03 0.05 0.07 --periods 1 5 10 20
# Principal=$10,000, Rates=3%,5%,7%, Periods=1,5,10,20 years
# Discount Table
python3 scripts/calculate.py discount_table 100 10 15 20 25 30
# Price=$100, Discounts=10%,15%,20%,25%,30%
Web UI
Launch the interactive calculator:
./scripts/launch_ui.sh [port]
# Default port: 5050
# Opens at: http://localhost:5050
# Auto-creates venv and installs Flask if needed
Or manually:
cd skills/financial-calculator
python3 -m venv venv # First time only
venv/bin/pip install flask # First time only
venv/bin/python scripts/web_ui.py [port]
Features:
7 calculator types with intuitive tabs
Real-time calculations
Interactive tables
Beautiful gradient UI
Mobile-responsive design
Calculators
1. Future Value (FV)
Calculate what an investment will be worth in the future with compound interest.
Use cases:
Investment growth projections
Savings account growth
Retirement planning
Inputs:
Principal amount
Annual interest rate (%)
Time period (years)
Compounding frequency (annual/quarterly/monthly/daily)
2. Present Value (PV)
Calculate the current value of a future amount (discounted value).
Use cases:
Loan valuation
Bond pricing
Investment analysis
Inputs:
Future value
Annual discount rate (%)
Time period (years)
Compounding frequency
3. Discount Calculator
Calculate final price after applying percentage discount.
Use cases:
Retail pricing
Sale calculations
Cost savings analysis
Inputs:
Original price
Discount percentage
Outputs:
Discount amount
Final price
Savings percentage
4. Markup Calculator
Calculate selling price from cost and markup percentage.
Use cases:
Product pricing
Profit margin calculation
Business pricing strategy
Inputs:
Cost price
Markup percentage
Outputs:
Markup amount
Selling price
Profit margin (as % of selling price)
5. Compound Interest
Detailed breakdown of compound interest calculations.
Use cases:
Interest analysis
Effective rate comparison
Loan interest calculation
Outputs:
Final amount
Total interest earned
Effective annual rate
6. Future Value Table
Generate comparison table across multiple rates and time periods.
Use cases:
Investment scenario comparison
Rate shopping
Long-term planning
Features:
Add multiple interest rates
Add multiple time periods
View all combinations in sortable table
See total gain and gain percentage
7. Discount Table
Compare multiple discount percentages for the same price.
Use cases:
Bulk pricing strategies
Promotional planning
Price comparison
Features:
Add multiple discount percentages
See all discount scenarios
Compare final prices and savings
Installation
Requires Python 3.7+ and Flask:
pip install flask
Or with venv:
python3 -m venv venv
source venv/bin/activate
pip install flask
Python API
Import the calculation module:
from calculate import (
future_value,
present_value,
discount_amount,
markup_price,
compound_interest,
generate_fv_table,
generate_discount_table
)
# Calculate FV
fv = future_value(
present_value=10000,
rate=0.05, # 5% as decimal
periods=10,
compound_frequency=12 # Monthly
)
# Generate table
table = generate_fv_table(
principal=10000,
rates=[0.03, 0.05, 0.07], # As decimals
periods=[1, 5, 10, 20]
)
Formulas
See references/formulas.md for detailed mathematical formulas, examples, and use cases for all calculations.
Tips
Rate Format:
CLI: Use decimals (0.05 for 5%)
Web UI: Use percentages (5 for 5%)
Python API: Use decimals (0.05 for 5%)
Compounding Frequencies:
1 = Annual
4 = Quarterly
12 = Monthly
365 = Daily
Table Generation: Best practices for meaningful comparisons:
FV tables: Use 3-5 rates, 4-6 time periods
Discount tables: Use 5-10 discount percentages
Keep tables focused for easier analysis
Performance:
Web UI calculations are instant
Tables with >100 combinations may take a few seconds
CLI is fastest for single calculations
Common Workflows
Investment Planning
Use FV Calculator to project single investment
Generate FV Table to compare different rates
Check Compound Interest for detailed breakdown
Pricing Strategy
Use Markup Calculator to set selling price
Generate Discount Table to plan promotions
Compare margins and final prices
Loan Analysis
Use PV Calculator to value loan
Check Compound Interest for total interest cost
Generate FV Table to compare loan terms