Releases: SuadeLabs/fire
v25.01
What's Changed
New year, new updates! One small but breaking change is to the name of the schemas directory (see below for more details). Other than that, some small additions for credit risk modelling for loans and accounts and inclusion of useful properties for auto loans. General beginning of year testing and versioning housekeeping as well for the pipeline. Enjoy!
Renaming schemas directory
Last year we made major change to how we update and publish new releases by moving to a quarterly, date.month versioning system (e.g. v25.01 is version Jan 2025). So now we are beginning to deprecate the old "v1-dev" schemas directory in favor of just calling the directory "schemas." Simple enough, but it could break any hardcoded links, so we have decided to keep the old dir in sync, and receiving updates for the next 6 months. Following the July release (25.07) the old "v1-dev" will stop receiving updates and in 12 months, will be deleted entirely. Hopefully, that is enough time to change references to "v1-dev" to "schemas" in any hardcoded links. New tests have been added to ensure this backwards compatibility. Note that refs within all schemas will point to the new "schemas" locations.
Schema Updates
Account Schema
- Addition of
economic_loss
andfraud_loss
for better credit risk modelling. - Addition of "pending" as an enum under account `status' to identify account monies in limbo/transition between firms.
- Addition of
Agreement schema
- Addition of "no_right_to_offset" as an enum for the
netting_restriction
property.
Collateral schema
- Addition of "auto" as a collateral type for those. Note also the recent addition of "new_auto" and "used_auto" loan types for greater granularity.
Common schema
- Addition of US states as sub-types within the
country_code
enums. (e.g. US-NY, US-TX)
Loan Schema
- Addition of
economic_loss
andfraud_loss
for better credit risk modelling. - Addition of
credit_process
enum to indicate how a loan was assessed during underwriting. - The
income_assessment
property gets two more detailed subtypes for "single_not_evidenced" and "joint_not_evidenced" for cases where you just don't have all the proof. - Two new loan types have been added for "used_auto" and "new_auto" (see also corresponding "auto" collateral type)
- New loan type for
cd
. This exists in the security schema already, but as a loan this refers to non-negotiable certificates of deposit rather than the tradable kind (see documentation).
Other Updates
Updates to several documentation pages and updates to the testing pipeline to include more recent versions of python and testing with Ubuntu 24.04 LTS.
Thank you to all our contributors!
@AdarshChugani
@kamilxdomo
@MorganP0204
@emburkino
Full Changelog: v24.10...v25.01
v24.10
What's Changed
This quarter saw some notable enhancements for credit risk purposes. As can be expected, these have mostly impacted the loan schema and IRB attributes like LGD and PD being incorporated into other schemas as well. Several new "orig_" fields have been added to give insights into the original values for many properties such as a loan's limit_amount, notional or a collateral's value at origination.
Schema Updates
Account Schema
- Addition of
lgd_floored
, 'lgd_irb' and 'pd_irb' properties to support modelling for IRB credit risk inputs (these already existed in the Loan Schema). - Addition of
orig_credit_score
to record the original credit score (from a commercially available credit bureau) of a customer at origination. Particularly relevant for US overdrafts.
Collateral Schema
- Addition of
orig_value
to accompany the existingvalue
property to reflect the value of the collateral at origination. Together with theorig_notional
in the Loan Schema, this will give an original LTV value. - Addition of more detailed choices for collateral
type
: "commercial_property_hr", "res_property_hr". The "hr" sub-types denote high-risk residential and commercial property (see CRR Articles 124, 126).
Derivative Schema
- Addition of
lgd_floored
, 'lgd_irb' and 'pd_irb' properties to support modelling for IRB credit risk inputs (these already existed in the Loan Schema).
Entity Schema (parent schema of Customer, Issuer, Guarantor)
- Addition of
scra
to accurately record the recently introduced Basel Standardised Credit Risk Assessment for entities without external ratings.
Loan Schema
- Addition of
deferred_fees
for payments subject to prepayment risk. - Addition of
orig_credit_score
to record the original credit score (from a commercially available credit bureau) of a customer at origination. Particularly relevant for US consumer loans. - Addition of
orig_limit_amount
andorig_notional
properties to reflect the origination values for the correspondinglimit_amount
andnotional
properties. - Addition of "object_finance_hq" enum to loan
purpose
to identify high quality object finance loans. - Addition of several construction-specific loan sub-purposes in the loan
purpose
enum tree. ("first_time_buyer_cstr", "further_advance_cstr", "house_purchase_cstr", "remortgage_construct", "remortgage_othr_cstr") - Addition of the
servicing
andservicing_currency_code
properties to describe the source of funds the borrower intends to repay the loan with as well as the currency (if different from the currency of the loan). - Addition of two new loan
status
types:defaulted
andrevolving
. - Addition of more detailed choices for loan
type
: "charge_card", "corporate_card", "education".
Loan Transaction Schema
- Addition of two more enums in loan transaction
type
:acquisition
andsecuritisation
to denote loans moving on/off the balance sheet due to being acquired or securitised by the institution.
Security Schema
- Addition of
lgd_floored
, 'lgd_irb' and 'pd_irb' properties to support modelling for IRB credit risk inputs (these already existed in the Loan Schema).
Other Updates
- Updates to over 15 documentation pages.
- Links updated for credit ratings documentation to point to wikipedia after S&P broke links to their webpage and removed ratings definitions from the public domain (at least we can't find them anymore on their site!).
Thank you to all the contributors!
v24.07
What's Changed
This quarter has seen some minor additions to the schemas, taking into consideration some edge cases and cleaning up of some parameters. This update will likely have little impact with the exception of anyone using aggregated data for accounts/loans and leveraging the minimum_balance_eur
parameter which will be superseded by the minimum_balance
parameter which is essentially the same, just without the need to convert it to EUR.
Schema updates
All Schemas
- Addition of "held_for_sale" enum to the
accounting_treatment
property.
Account Schema
- Addition of
minimum_balance
property which is relevant for aggregated data where multiple accounts were being squashed in to a single record (and this granular information was otherwise lost). This is intended to replace the usage of theminimum_balance_eur
property which never imagined brexit and therefore having to apply the EBA taxonomy in other currencies. Now theminimum_balance
will be in relation to the existingcurrency_code
property just like all other monetary fields. This is more flexible and future-proof. - Addition of the "accruals" and "prepayments" enums to Account
type
as a sub-category of non-product account types.
Loan Schema
- Addition of
minimum_balance
property just like in the Account Schema - see above. - Addition of
cum_write_offs
property to maintain a cumulative total since start of the amount of loan written off. Particularly useful for loans where balance, limits and notionals might have changed over time and so the current values don't reflect original values or where a loan has been involved in multiple impairment/write off evaluations over its lifetime.
Security Schema
- Addition of "ineligible_non_op" as an enum value for
hqla_class
to account for that unique little classification edge case that could crop up. - Addition of "main_index_equity" enum to the Security
type
as a sub-category of equity to more narrowly define equities that are not just listed (there ismic_code
for that), but are listed in the main index which might be a discretionary judgement call as per CRR Article 224.
Other updates
- Update to the test suite to use httpx instead of grequests for a 10x performance boost when checking for those broken regulator links!
- Update to the "cash_ratio_deposit" documentation for more detail.
Thank you to all the contributors!
v24.01
What's changed?
The FIRE project is moving to a quarterly release cycle (as opposed to a continuous release). Quarterly releases will appear the month after the quarter end, so months 1, 4, 7 and 10. Releases will be semantically versioned in the following format: {vyy.mm.p} where "yy" is the 2-digit year number, "mm" is the 2-digit month and "p" is the patch number in the event that an interim release is necessary. So for example the release for July 2024 will have the version number v24.07. Releases will be accompanied with fairly comprehensive release notes introduced with a high level summary of changes.
v24.04
What's changed?
This quarter saw many enhancements included regarding securitisations and some North America specific inclusions such as NAICS codes and the Canadian deposit guarantee scheme. The documentation quality received a big boost with the addition of a copmrehensive scanning and testing of URLs (links) appearing in the documentation (and subsequent fixes to ensure all links work). This was triggered in part due to the EBA breaking many existing bookmarks and links when they updated their website this quarter. This is also the first release in the new format so please comment below if you have any comments or suggestions!
Schema updates
Account Schema
- Addition of Canadian ("ca_cdic") deposit guarantee scheme to
guarantee_scheme
enum. - Addition of "audited" and "unadited" enum values to the
status
enum to identify audited or unaudited P&L statements.
Agreement Schema
- Addition of the following agreement types in the
type
enum: "afb", "drv", "ema", "fbf", "gmra", "gmsla".
Derivative Schema
- Addition of
ccr_approach
property to allow specification of counterparty credit risk approaches at a trade by trade level. Enum values are "imm", "oem", "sa", "ssa". - Addition of "free_deliveries" to the
status
enum as subtype of "unsetled" to distinguish between DVP and non-DVP trades. - Addition of "24m", "60m", "120m" and "360m" to
underlying_index_tenor
enum.
Security Schema
- Addition of "free_deliveries" value to the
status
enum to further distinguish between unsettled trades. - Addition of
call_type
enum with values "clean_up", "clean_up_reg", "other" to provide more information regarding securitisations. - Addition of
excess_spread_type
enum with values "fixed", "fixed_trapped", "none", "variable", "variable_trapped" to provide more information regarding securitisations. - Addition of
originator_id
property to provide more information regarding securitisations. - Addition of
repayment_type
enum with values "other", "pr2s", "pr2s_abcp", "pr2s_non_abcp", "pro_rata", "sequential" to provide more information regarding the amortisation mechanism for securitisations. - Addition of
retention_pct
as a number (0.1=10%) to give more information regarding securitisations. - Addition of
retention_type
enum with values "exempted", "first_loss", "on_bs", "revolving", "vertical_nominal", "vertical_risk" to give more information regarding the retention mechanism for securitisations. - Addition of
reversion_rate
andreversion_date
to provide more reversion rate information for securities. - Addition of "first_loss_secured" value to the
seniority
enum, mainly used in securitisations. - Addition of "abs_cc", "abs_corp", "abs_lease", "abs_sme_corp", "abs_sme_retail", "abs_trade_rec", "abs_wholesale" values to the
type
enum.
Entity
- Addition of
naics_code
(North American Industry Classification System) property as an integer. Min=10, Max=999999.
Other Updates
- Updated links in 50+ documentation files and enhanced testing to try to ensure links in documentation are still active. Thank you EBA for completely breaking all links when you redesigned your website!
- Added more examples for bond futures and fx options.