Releases: SuadeLabs/fire
v26.01
What's Changed
After a year of continued support, the legacy 'v1-dev' schemas are officially no longer supported! If you are still using these, this update will probably bring you here to these release notes, in which case I recommend reading the release notes for v25.01 for what to do.
Otherwise, this last quarter has been business as usual. As a reminder, the "extension" schemas continue to be jurisdiction specific. Once an attribute is seen to be valuable across many domains or jurisdictions, it can be upgraded to the main schemas. In practice, this doesn't change anything for users of that attribute and hence the extension, but it can be seen as a sort of UAT phase for an attribute that might not yet be ready for prime time. As such, in these release notes we will highlight changes or additions the main schemas although the changelog for the extension schemas can be found in the link at the bottom.
The account and security schema have seen some updates for the asset-side cases where things tip into credit, like overdrafts. Many of these are mimicked from the loan schema.
On to the updates!
Schema Updates
Account Schema
- Addition of
commissionto describe commission paid (in basis points) to a referrer, deposit aggregator, broker etc. - Addition of
int_reset_freqto indicate how often an adjustable rate may change. Note that it is a multiple of theinterest_repayment_frequency - Addition of
min_interest_repaymentandmin_principal_repaymentto describe min payable amount by a borrower. - Addition of
provision_amountandundrawn_provision_amountfor provisions against borrowed amounts. - Addition of many enums to
purposefor non-financial balance sheet items relating to dealing revenue, intangibles, leases, recovery and revaluation. - Addition of
recoursefrom the extension schema to describe recourse on a credit.
Collateral Schema
- Addition of
regulatedto denote if the collateral meets the new credit risk rules for "regulatory" for credit risk purposes. - Addition of new collateral type enums for more granularity where needed for real-estate e.g. "office", "retail", "warehouse", "healthcare"
Derivative Schema
- Addition of more granularity for
hedge_typein the form of more fair value and portfolio hedge types.
Entity Schema
- Addition of
head_office_idfor legal entities. - Updates to the NACE Codes to incorporate changes to the standard for activity classifications.
- Addition of
riad_codeto represent the unique RIAD Code given to counterparties for ECB reporting. - Addition of new enums in
type, in particular "small_sme", "medium_sme", "micro_sme" and "property_spe" - Addition of
ultimate_parent_idto support the existingparent_idNote that if you were usingparent_idas ultimate parent, then that is still ok, but if you want to draw a more layered corporate tree, using both attributes will now give you that.
Loan Schema
- Addition of
fiduciary_statusto describe products with risk borne by a third party. - Addition of
int_reset_freq,min_interest_repayment,min_principal_repayment,undrawn_provision_amountandrecourse(see Account Schema updates above) - Addition of
orig_acc_fv_change_credit_risk... IYKYK - Addition of enums to
purposeto model specific corporate scenarios like M&A, stock buybacks, ESOPs etc. - Addition of
syndication_idfor the id assigned to the lead arranger of a syndicated product.
Security Schema
- Addition of
fiduciary_status,int_reset_freq,orig_acc_fv_change_credit_risk,provision_amount,undrawn_provision_amountandrecourse(see Account/Loan updates above) - Addition of
status_dateto put a date to when thestatuschanged.
Other Updates
70+ updates to documentation and some new US and LU extension attributes particularly for loans.
Thank you to all our contributors!
@kamilxdomo
@georgecharalambous
@ps327435
@Alex-Stet
@kirasnow507
@seelan93
@Dessuade
@Vignesh-30
@Tom290989
@suadkw
Full Changelog: v25.10...v26.01
v25.10
What's Changed
- Add enums to 'type', 'status' in security schema by @RegGoodall in #458
- Add base_rate enums to derivative and security schemas plus documentation by @kirasnow507 in #466
- Added new enum 'financial_lease' for account type by @Vignesh-30 in #457
- Move attributes from extension schema to main by @muratabur in #468
- Add enums to reversion_base_rate on security schema plus documentation by @kirasnow507 in #470
- Add rate_type enums to security schema and documentation by @kirasnow507 in #472
- Added new it_outsourcing enum for account purpose by @sunroofgod in #476
- Add int_on_asset and int_on_liability enums by @harrison-suade in #467
- Sync enums for arrears_arrangement for loan and loan ext schemas by @RegGoodall in #487
- Sync enums for loan and loan ext schemas by @RegGoodall in #485
- Update ref for reversion base rate by @harrison-suade in #484
- Add purpose enums to account schema by @kirasnow507 in #493
- Add valuation_allowance to account schema by @kirasnow507 in #491
- Add acc_fv_change_before_taxes to the derivative schema by @jeremiah1601 in #494
- Add new iso currency codes by @olliemath in #461
- Added orig_limit_amount and cum_write_offs to the Account schema by @lukeastri in #481
- Add mna_id to account and loan schema + add new agreement type by @hubertbalos in #495
- Remove arrears_arrange_comp and add arrears_arrange_status to loan extension schema by @kirasnow507 in #506
New Contributors
- @kirasnow507 made their first contribution in #466
- @Vignesh-30 made their first contribution in #457
- @sunroofgod made their first contribution in #476
- @harrison-suade made their first contribution in #467
- @lukeastri made their first contribution in #481
- @hubertbalos made their first contribution in #495
Full Changelog: v25.07...v25.10
v25.07
What's Changed
This relase packages a few key milestones, but nothing breaking, all good news!
First off, extension schemas! For a long time, at Suade, we have been extending the main schemas for internal purposes with specific fields which we thought would not be useful to everyone, but now we have decided to publish them publicly. Extension schemas can be found in a new directory /extensions and mirror the same main directory structure of schemas and documentation. For more information, please see the README in the /extensions/documentation folder. In summary, extensions are extension schemas for each of the primary FIRE schemas with niche or jurisdiction-specific attribues. Properties in the extension schemas are such that they will not be relevant to most users and hence have been included separately so as not to clutter the primary schemas. The first wave of extension properties are mostly for a few specific US regulations. You know if you know, if you know what I mean.
One caveat is if jurisdiction-specific extensions are required to existing enumerations, they will be added to the main schemas to avoid duplicate properties and confusion. As such, some changes below may fit that category.
Finally, as promised, we will no longer be backporting new changes to the legacy 'v1-dev' schemas. These will continue to live on within the repo for another 6 months, after which they will become deprecated, in line with the year-long deprecation schedule set out at the end of last year.
Schema Updates
Account Schema
- Addition of
ead_irb_ec,lgd_irb_ecandpd_irb_ecto describe exposure at default, loss given default and probability of default respectively for IRB economic capital calculations. - Addition of "intangible" to the account
purposeenum. - Addition of
review_dateto describe the the next review date for a counterparty.
Collateral Schema
- Addition of
city,country_code,street_addressandpostal_codeto add further granularity to collateral, in particular real estate. - Many new enums added to collateral
typeto provide further granularity for types of cars and properties (mainly relevant for US regs).
Customer Schema
- Addition of
mic_codeto denote the main stock exchange where the counterparty's stock trades.
Derivative Schema
- Addition of
eadto input user-defined exposure at default amounts. - Addition of
economic_lossused for loss given default calculations. - Addition of
default_dateto describe the date of default on the position. - Addition of
hedge_designationto describe hedging elections (e.g. as described by the FASB) - Addition of
hedge_sidednessto distinguish between one and 2 sided hedges. - Addition of
hedge_idto link securities to their hedges. - Addition of
hedge_typeto describe cash flow and fair value hedges. - Addition of
hedged_cf_typeto give even further granularity for categories of cash flow hedges. - Addition of
hedged_riskto give more information regarding the type of risk hedged. - Addition of
resolution_dateto describe the date of resolution of the defaulted facility.
Entity Schema
- Addition of
bankruptcy_typeto describe the various bankruptcy chapters for an entity. - Addition of
pd_irb_ec(see Account schema updates) - Addition of
postal_code(see Collateral schema updates) - Addition of more granular categories for entity
type, in particular credit unions and state owned banks.
Loan Schema
- Addition of
accrual_statusfor the loan. - Expansion of the
arrears_arrangementenum with more types of possible arrangements between borrower and lender. - Expansion of the
base_rateenum with many more standard rates. - Addition of
ead_irb_ec,lgd_irb_ec,pd_irb,pd_irb_ec(see Account schema updates) - Addition of
participation_pctandparticipation_typeto describe types and amounts of participation in syndicated facilities. - Expansion of loan
purposeenum to include more types. - Addition of
repurchase_statusto describe states for loans being repurchased. - Addition of
review_date(see Account schema updates) - Addition of
servicer_idto identify the servicer of a loan. - Addition of the loan
typeenum for greater granulrity for US mortgage types.
Security Schema
- Addition of
cum_write_offsto describe the amount of the security written off thus far. - Addition of
default_dateto describe a default on the security. - Addition of
eadandeconomic_loss(see Derivative schema updates) - Addition of
hedged_percentageto denote the percentage of a security hedged. - Addition of
issuance_typeto describe public or private placements. - Addition of
resolution_dateto describe the resolution date for a defaulted security. - Addition of
sedolfor the 7-character SEDOL identifier. - Addition of
servicingto describe how the security obligations will be serviced. - Expansion of the security
typeenum mainly with more granularity for asset backed securities.
Other Updates
Lots of updates to documentation pages and improved validation rules in schemas. Many tests have been added to incorporate, cross-validate and harmonise the new extension schemas with the existing FIRE schemas.
Thank you to all our contributors!
@gabriella-martin
@MorganP0204
@olliemath
@albieduffy
@seelan93
@jeremiah1601
@RegGoodall
Full Changelog: v25.04...v25.07
v25.04
What's Changed
The past quarter has seen a strong focus on credit risk and in particular IRB data modelling as per Canadian BCAR requirements. So while there may seem like several new changes, their scope is fairly limited. As such, changes mirrored in Accounts from the Loan schema are applicable only to credit exposures (e.g. overdrafts). Additionally, a new Risk Rating schema has been added to give further granularity and definition to internal risk rating systems and historical curves for progressions across risk ratings.
Schema Updates
Account Schema
- Addition of
behavioral_end_dateto describe maturity dates including assumptions beyond the contractual. - Adition of
default_dateto describe the date of default. - Addition of
facility_idto describe the wider facility that this credit is linked to. - Addition of
frr_idto describe the Facility Risk Rating via an identifier to link to the risk rating entry (as per the risk rating schema) - Addition of
last_recovery_dateto describe the last date a recovery was made on a loan - Addition of
last_write_off_dateto describe the last date a write off was made on a loan - Addition of
parent_facility_idto describe the even broader set of facilities that this credit is linked to via thefacility_id. - Addition of
resolution_dateto describe the date when a defaulted exposure is considered to be resolved either by repayment, write-off etc. - Addition of "mezzanine" and "pari_passu" enums to Account
seniorityto provide further granularity to the resolution order/cap table.
Curve Schema
- Addition of "risk_rating" to Curve
typeto describe the history of risk ratings or credit scores over time
Derivative Schema
- Addition of
frr_id(see Account schema updates)
Entity Schema
- Addition of
birr_curve_idto reference and link to the relevant historical ratings curve (see Curve schema updates) - Addition of
birr_idto describe the Borrower Risk Rating via an identifier to link to the risk rating entry (as per the risk rating schema). It should be noted that while this is called the borrower risk rating, it actually can refer to the issuer, guarantor or any entity where the credit risk lies. Hence, why this attribute has been added to all entity schemas rather than just customer.
Loan Schema
- Addition of
behavioral_end_date(see Account schema updates) - Addition of
default_date(see Account schema updates) - Addition of
eadto represent the exposure at default for credit risk purposes - Addition of
facility_id(see Account schema updates) - Addition of
frr_id(see Account schema updates) - Addition of
last_recovery_date(see Account schema updates) - Addition of
last_write_off_date(see Account schema updates) - Addition of
parent_facility_id(see Account schema updates) - Addition of
resolution_date(see Account schema updates) - Addition of "mezzanine" and "pari_passu" enums to account
seniority(see Account schema updates)
Risk Rating Schema
The Risk Rating is a new schema to describe internal risk rating systems used for credit risk purposes. Please see the schema and documentation for further information. Please also note that this schema has 4 required fields as a minimum requirement: "id", "date", "name", "risk_rating_system_id"
Other Updates
Updates to tests on documentation pages, improved structure/content of over 100 documentation files and added additional examples.
Thank you to all our contributors!
@AdarshChugani
@albieduffy
@emburkino
@jayden-bis
@kamilxdomo
@olliemath
Full Changelog: v25.01...v25.04
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_lossandfraud_lossfor 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_restrictionproperty.
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_codeenums. (e.g. US-NY, US-TX)
Loan Schema
- Addition of
economic_lossandfraud_lossfor better credit risk modelling. - Addition of
credit_processenum to indicate how a loan was assessed during underwriting. - The
income_assessmentproperty 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_scoreto 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_valueto accompany the existingvalueproperty to reflect the value of the collateral at origination. Together with theorig_notionalin 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
scrato accurately record the recently introduced Basel Standardised Credit Risk Assessment for entities without external ratings.
Loan Schema
- Addition of
deferred_feesfor payments subject to prepayment risk. - Addition of
orig_credit_scoreto 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_amountandorig_notionalproperties to reflect the origination values for the correspondinglimit_amountandnotionalproperties. - Addition of "object_finance_hq" enum to loan
purposeto identify high quality object finance loans. - Addition of several construction-specific loan sub-purposes in the loan
purposeenum tree. ("first_time_buyer_cstr", "further_advance_cstr", "house_purchase_cstr", "remortgage_construct", "remortgage_othr_cstr") - Addition of the
servicingandservicing_currency_codeproperties 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
statustypes:defaultedandrevolving. - 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:acquisitionandsecuritisationto 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_treatmentproperty.
Account Schema
- Addition of
minimum_balanceproperty 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_eurproperty which never imagined brexit and therefore having to apply the EBA taxonomy in other currencies. Now theminimum_balancewill be in relation to the existingcurrency_codeproperty just like all other monetary fields. This is more flexible and future-proof. - Addition of the "accruals" and "prepayments" enums to Account
typeas a sub-category of non-product account types.
Loan Schema
- Addition of
minimum_balanceproperty just like in the Account Schema - see above. - Addition of
cum_write_offsproperty 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_classto account for that unique little classification edge case that could crop up. - Addition of "main_index_equity" enum to the Security
typeas a sub-category of equity to more narrowly define equities that are not just listed (there ismic_codefor 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!
- @charlenechin
- @AdarshChugani
- @emburkino
- @gabriella-martin
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_schemeenum. - Addition of "audited" and "unadited" enum values to the
statusenum to identify audited or unaudited P&L statements.
Agreement Schema
- Addition of the following agreement types in the
typeenum: "afb", "drv", "ema", "fbf", "gmra", "gmsla".
Derivative Schema
- Addition of
ccr_approachproperty 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
statusenum as subtype of "unsetled" to distinguish between DVP and non-DVP trades. - Addition of "24m", "60m", "120m" and "360m" to
underlying_index_tenorenum.
Security Schema
- Addition of "free_deliveries" value to the
statusenum to further distinguish between unsettled trades. - Addition of
call_typeenum with values "clean_up", "clean_up_reg", "other" to provide more information regarding securitisations. - Addition of
excess_spread_typeenum with values "fixed", "fixed_trapped", "none", "variable", "variable_trapped" to provide more information regarding securitisations. - Addition of
originator_idproperty to provide more information regarding securitisations. - Addition of
repayment_typeenum 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_pctas a number (0.1=10%) to give more information regarding securitisations. - Addition of
retention_typeenum 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_rateandreversion_dateto provide more reversion rate information for securities. - Addition of "first_loss_secured" value to the
seniorityenum, 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
typeenum.
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.