Skip to content

Commit

Permalink
0.6 Release (SFLP Data Models)
Browse files Browse the repository at this point in the history
  • Loading branch information
open-risk committed Mar 13, 2023
1 parent 5cee551 commit e3a4910
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 63 deletions.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"esbonio.sphinx.confDir": ""
}
6 changes: 3 additions & 3 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ ChangeLog
===========================
PLEASE NOTE THIS IS ONLY A BETA RELEASE. THE OPENNPL API IS STILL UNSTABLE

v0.6.0 (12-03-2023)
v0.6.0 (13-03-2023)
-------------------
* Functionality: Single Family Loan Performance Templates
* Documentation:
* Functionality: Almost complete Single Family Loan Performance Templates (SFLP) (except repayment strings)
* Documentation: SFLP Data Models

v0.5.3 (18-01-2023)
-------------------
Expand Down
8 changes: 7 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,14 @@ COPY requirements.txt /opennpl/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . /opennpl/
RUN rm -f /opennpl/venv
RUN rm -f /opennpl/db.sqlite3
RUN python /opennpl/manage.py makemigrations
RUN rm -rf /opennpl/npl_portfolio/migrations/*
RUN rm -rf /opennpl/sflp_portfolio/migrations/*
RUN rm -rf /opennpl/start/migrations/*
RUN python /opennpl/manage.py makemigrations start
RUN python /opennpl/manage.py makemigrations npl_portfolio
RUN python /opennpl/manage.py makemigrations sflp_portfolio
RUN python /opennpl/manage.py migrate
RUN python /opennpl/createadmin.py
RUN python /opennpl/manage.py collectstatic --no-input
Expand Down
2 changes: 0 additions & 2 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
django-debug-toolbar
django-extensions
Sphinx
sphinx-rtd-theme
35 changes: 21 additions & 14 deletions sflp_portfolio/models/enforcement.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,59 +53,66 @@ class Enforcement(models.Model):
#

asset_recovery_costs = models.FloatField(blank=True, null=True,
help_text='Expenses associated with removing occupants and personal property from an occupied property post foreclosure. Such expenses include relocation assistance, deed-in-lieu fee, and fees and costs associated with eviction actions.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Expenses associated with removing occupants and personal property from an occupied property post foreclosure. Such expenses include relocation assistance, deed-in-lieu fee, and fees and costs associated with eviction actions.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Asset_Recovery_Costs">Documentation</a>')
""""""

credit_enhancement_proceeds = models.FloatField(blank=True, null=True,
help_text='Proceeds from claims on primary and certain other limited mortgage insurance policies, and recourse and indemnification payments from lenders under arrangements designed to limit credit exposure to Fannie Mae.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Proceeds from claims on primary and certain other limited mortgage insurance policies, and recourse and indemnification payments from lenders under arrangements designed to limit credit exposure to Fannie Mae.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Credit_Enhancement_Proceeds">Documentation</a>')
""""""

current_list_price = models.FloatField(blank=True, null=True,
help_text='The price at which a real property is offered for sale.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The price at which a real property is offered for sale.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Current_List_Price">Documentation</a>')
""""""

current_list_start_date = models.DateField(blank=True, null=True,
help_text='The agreed upon date, between a property seller and a broker, authorizing the broker to begin the process to procure a buyer or tenant for the property seller’s real property.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The agreed upon date, between a property seller and a broker, authorizing the broker to begin the process to procure a buyer or tenant for the property seller’s real property.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Current_List_Start_Date">Documentation</a>')
""""""

cumulative_credit_event_net_gain_or_loss = models.FloatField(blank=True, null=True,
help_text='The cumulative net realized gain or loss amounts for a mortgage loan resulting from a credit event.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
""""""

disposition_date = models.DateField(blank=True, null=True,
help_text='The date on which Fannie Mae’s interest in a property ends through either the transfer of the property to a third party or the satisfaction of the mortgage obligation.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The date on which Fannie Mae’s interest in a property ends through either the transfer of the property to a third party or the satisfaction of the mortgage obligation.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Disposition_Date">Documentation</a>')
""""""

foreclosure_costs = models.FloatField(blank=True, null=True,
help_text='Expenses associated with obtaining title to property from the mortgagor, valuing the property, and maintaining utility services to the property. Such costs include costs and fees associated with bankruptcy and foreclosure.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Expenses associated with obtaining title to property from the mortgagor, valuing the property, and maintaining utility services to the property. Such costs include costs and fees associated with bankruptcy and foreclosure.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Foreclosure_Costs">Documentation</a>')
""""""

foreclosure_date = models.DateField(blank=True, null=True,
help_text='The date on which the completion of the legal action of foreclosure occurred.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The date on which the completion of the legal action of foreclosure occurred.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Foreclosure_Date">Documentation</a>')
""""""

foreclosure_principal_writeoff_amount = models.FloatField(blank=True, null=True,
help_text='Amounts that Fannie Mae or its loan servicers have determined to be uncollectable under applicable state laws, due to foreclosure statute of limitations.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Amounts that Fannie Mae or its loan servicers have determined to be uncollectable under applicable state laws, due to foreclosure statute of limitations.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Foreclosure_Principal_Write-off_Amount">Documentation</a>')
""""""

net_sales_proceeds = models.FloatField(blank=True, null=True,
help_text='Total cash received from the sale of the property net of any applicable selling expenses, such as fees and commissions, allowable for inclusion under the terms of the property sale, as currently reported on the HUD-1 or other settlement statement.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Total cash received from the sale of the property net of any applicable selling expenses, such as fees and commissions, allowable for inclusion under the terms of the property sale, as currently reported on the HUD-1 or other settlement statement.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Net_Sales_Proceeds">Documentation</a>')
""""""

original_list_price = models.FloatField(blank=True, null=True,
help_text='The initial price at which a real property is offered for sale by the property seller. <a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The initial price at which a real property is offered for sale by the property seller. <a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Original_List_Price">Documentation</a>')
""""""

original_list_start_date = models.DateField(blank=True, null=True,
help_text='The agreed upon date, between a property seller and a broker, authorizing the broker to begin the process to procure a buyer or tenant for the property seller’s real property.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The agreed upon date, between a property seller and a broker, authorizing the broker to begin the process to procure a buyer or tenant for the property seller’s real property.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Original_List_Start_Date">Documentation</a>')
""""""

other_foreclosure_proceeds = models.FloatField(blank=True, null=True,
help_text='Amounts, other than sale proceeds, received by Fannie Mae following foreclosure of a property, including redemption proceeds received from the mortgagor.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Amounts, other than sale proceeds, received by Fannie Mae following foreclosure of a property, including redemption proceeds received from the mortgagor.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Other_Foreclosure_Proceeds">Documentation</a>')
""""""

repurchase_make_whole_proceeds = models.FloatField(blank=True, null=True,
help_text='Amounts received by Fannie Mae under the terms of our representation and warranty arrangements for the repurchase of the mortgage loan or the subject property or loss reimbursement subsequent to property disposition.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='Amounts received by Fannie Mae under the terms of our representation and warranty arrangements for the repurchase of the mortgage loan or the subject property or loss reimbursement subsequent to property disposition.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Repurchase_Make_Whole_Proceeds">Documentation</a>')
""""""

repurchase_make_whole_proceeds_flag = models.BooleanField(blank=True, null=True,
help_text='Indicates if Fannie Mae received proceeds under the terms of its representation and warranty arrangements for the repurchase of the mortgage loan. <a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Repurchase_Make_Whole_Proceeds_Flag">Documentation</a>')

repurchase_date = models.DateField(blank=True, null=True,
help_text='The date on which a Reversed Credit Event Reference Obligation occurs with respect to a loan.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
help_text='The date on which a Reversed Credit Event Reference Obligation occurs with respect to a loan.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki/FM_SFLP.Repurchase_Date">Documentation</a>')
""""""

# Bookkeeping fields
Expand Down
4 changes: 4 additions & 0 deletions sflp_portfolio/models/forbearance.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ class Forbearance(models.Model):
help_text='The loss amount calculated for a mortgage loan resulting from a modification event for the corresponding reporting period.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
""""""

current_loan_delinquency_status = models.TextField(blank=True, null=True,
help_text='The number of months the obligor is delinquent as determined by the governing mortgage documents.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
""""""

modification_flag = models.BooleanField(blank=True, null=True,
help_text='An indicator that denotes if the mortgage loan has been modified.<a class="risk_manual_url" href="https://www.openriskmanual.org/wiki">Documentation</a>')
""""""
Expand Down
Loading

0 comments on commit e3a4910

Please sign in to comment.