Skip to content

User Story: As a user, I need the ability to find and save qualifying loans to a CSV file so results can be shared as a spreadsheet.

Notifications You must be signed in to change notification settings

RJGiannini/Qualifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qualifier

This is a python command-line interface application that allows users to see qualifying loans from lenders quickly and easily. The application works by that taking in a daily_rate_sheet of loan criteria from various loan providers, asks the user a number of questions to evaluate their loan eligibility, and then returns to them a list of qualifying loans. User also has the option to save a .csv of qualified loans to a output path of their choice.


Technologies

This project leverages python 3.7 with the following packages:

  • fire - For the command line interface, help page, and entrypoint.

  • questionary - For interactive user prompts and dialogs

  • pytest - For basic assertion testing of financial calculators and filters, and filio.


Installation Guide

Before running the application first install the following dependencies.

  pip install fire
  pip install questionary
  pip install pytest
  pip install mkdocs

Examples

Credit Score Filter. This script filters a bank list by the user's minimum credit score.

    """Filters the bank list by the mininim allowed credit score set by the bank.

    Args:
        credit_score (int): The applicant's credit score.
        bank_list (list of lists): The available bank loans.

    Returns:
        A list of qualifying bank loans.
    """

    credit_score_approval_list = []
    for bank in bank_list:
        if credit_score >= int(bank[4]):
            credit_score_approval_list.append(bank)
    return credit_score_approval_list

Debt to Income Filter. This script filters the bank list by the applicant's maximum debt-to-income ratio.

    """Filters the bank list by the maximum debt-to-income ratio allowed by the bank.

    Args:
        monthly_debt_ratio (float): The applicant's monthly debt ratio.
        bank_list (list of lists): The available bank loans.

    Returns:
        A list of qualifying bank loans.
    """

    debit_to_income_approval_list = []
    for bank in bank_list:
        if monthly_debt_ratio <= float(bank[3]):
            debit_to_income_approval_list.append(bank)
    return debit_to_income_approval_list

Loan to Value Filter. This script filters the bank list by the applicant's maximum home loan to home value ratio.

    """Filters the bank list by the maximum loan to value ratio.

    Args:
        loan_to_value_ratio (float): The applicant's loan to value ratio.
        bank_list (list of lists): The available bank loans.

    Returns:
        A list of qualifying bank loans.
    """

    loan_to_value_approval_list = []

    for bank in bank_list:
        if loan_to_value_ratio <= float(bank[2]):
            loan_to_value_approval_list.append(bank)
    return loan_to_value_approval_list

Max Loan Size Filter. This script filters the bank list by comparing the user's loan value against the bank's maximum loan size.

    """Filters the bank list by the maximum allowed loan amount.

    Args:
        loan_amount (int): The requested loan amount.
        bank_list (list of lists): The available bank loans.

    Returns:
        A list of qualifying bank loans.
    """

    loan_size_approval_list = []

    for bank in bank_list:
        if loan_amount <= int(bank[1]):
            loan_size_approval_list.append(bank)
    return loan_size_approval_list

Usage

To use the loan qualifier application simply clone the repository and run the app.py with:

python app.py

Upon following the loan qualifier prompts you will find below various input-dependent results.

Loan Qualifier With Saved Output

Loan Qualifier With No Saved Output

Loan Qualifier User Not Qualified


Contributors

Brought to you by Robert Giannini. LinkedIn: https://www.linkedin.com/in/robertgianninijr/


License

MIT

About

User Story: As a user, I need the ability to find and save qualifying loans to a CSV file so results can be shared as a spreadsheet.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages