Skip to content

Releases: SuadeLabs/fire

v26.01

03 Jan 03:46
cbd7a0c

Choose a tag to compare

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 commission to describe commission paid (in basis points) to a referrer, deposit aggregator, broker etc.
  • Addition of int_reset_freq to indicate how often an adjustable rate may change. Note that it is a multiple of the interest_repayment_frequency
  • Addition of min_interest_repayment and min_principal_repayment to describe min payable amount by a borrower.
  • Addition of provision_amount and undrawn_provision_amount for provisions against borrowed amounts.
  • Addition of many enums to purpose for non-financial balance sheet items relating to dealing revenue, intangibles, leases, recovery and revaluation.
  • Addition of recourse from the extension schema to describe recourse on a credit.

Collateral Schema

  • Addition of regulated to 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_type in the form of more fair value and portfolio hedge types.

Entity Schema

  • Addition of head_office_id for legal entities.
  • Updates to the NACE Codes to incorporate changes to the standard for activity classifications.
  • Addition of riad_code to 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_id to support the existing parent_id Note that if you were using parent_id as 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_status to describe products with risk borne by a third party.
  • Addition of int_reset_freq, min_interest_repayment, min_principal_repayment, undrawn_provision_amount and recourse (see Account Schema updates above)
  • Addition of orig_acc_fv_change_credit_risk ... IYKYK
  • Addition of enums to purpose to model specific corporate scenarios like M&A, stock buybacks, ESOPs etc.
  • Addition of syndication_id for 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_amount and recourse (see Account/Loan updates above)
  • Addition of status_date to put a date to when the status changed.

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

13 Oct 10:58
6055b93

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v25.07...v25.10

v25.07

29 Jul 17:16
6b1a16e

Choose a tag to compare

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_ec and pd_irb_ec to describe exposure at default, loss given default and probability of default respectively for IRB economic capital calculations.
  • Addition of "intangible" to the account purpose enum.
  • Addition of review_date to describe the the next review date for a counterparty.

Collateral Schema

  • Addition of city, country_code, street_address and postal_code to add further granularity to collateral, in particular real estate.
  • Many new enums added to collateral type to provide further granularity for types of cars and properties (mainly relevant for US regs).

Customer Schema

  • Addition of mic_code to denote the main stock exchange where the counterparty's stock trades.

Derivative Schema

  • Addition of ead to input user-defined exposure at default amounts.
  • Addition of economic_loss used for loss given default calculations.
  • Addition of default_date to describe the date of default on the position.
  • Addition of hedge_designation to describe hedging elections (e.g. as described by the FASB)
  • Addition of hedge_sidedness to distinguish between one and 2 sided hedges.
  • Addition of hedge_id to link securities to their hedges.
  • Addition of hedge_type to describe cash flow and fair value hedges.
  • Addition of hedged_cf_type to give even further granularity for categories of cash flow hedges.
  • Addition of hedged_risk to give more information regarding the type of risk hedged.
  • Addition of resolution_date to describe the date of resolution of the defaulted facility.

Entity Schema

  • Addition of bankruptcy_type to 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_status for the loan.
  • Expansion of the arrears_arrangement enum with more types of possible arrangements between borrower and lender.
  • Expansion of the base_rate enum 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_pct and participation_type to describe types and amounts of participation in syndicated facilities.
  • Expansion of loan purpose enum to include more types.
  • Addition of repurchase_status to describe states for loans being repurchased.
  • Addition of review_date (see Account schema updates)
  • Addition of servicer_id to identify the servicer of a loan.
  • Addition of the loan type enum for greater granulrity for US mortgage types.

Security Schema

  • Addition of cum_write_offs to describe the amount of the security written off thus far.
  • Addition of default_date to describe a default on the security.
  • Addition of ead and economic_loss (see Derivative schema updates)
  • Addition of hedged_percentage to denote the percentage of a security hedged.
  • Addition of issuance_type to describe public or private placements.
  • Addition of resolution_date to describe the resolution date for a defaulted security.
  • Addition of sedol for the 7-character SEDOL identifier.
  • Addition of servicing to describe how the security obligations will be serviced.
  • Expansion of the security type enum 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

08 May 15:10
d9d5fb2

Choose a tag to compare

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_date to describe maturity dates including assumptions beyond the contractual.
  • Adition of default_date to describe the date of default.
  • Addition of facility_id to describe the wider facility that this credit is linked to.
  • Addition of frr_id to 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_date to describe the last date a recovery was made on a loan
  • Addition of last_write_off_date to describe the last date a write off was made on a loan
  • Addition of parent_facility_id to describe the even broader set of facilities that this credit is linked to via the facility_id.
  • Addition of resolution_date to 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 seniority to provide further granularity to the resolution order/cap table.

Curve Schema

  • Addition of "risk_rating" to Curve type to 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_id to reference and link to the relevant historical ratings curve (see Curve schema updates)
  • Addition of birr_id to 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 ead to 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

03 Feb 09:07

Choose a tag to compare

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 and fraud_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 and fraud_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

30 Oct 17:42

Choose a tag to compare

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 existing value property to reflect the value of the collateral at origination. Together with the orig_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 and orig_notional properties to reflect the origination values for the corresponding limit_amount and notional 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 and servicing_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 and revolving.
  • 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 and securitisation 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

04 Jul 12:49

Choose a tag to compare

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 the minimum_balance_eur property which never imagined brexit and therefore having to apply the EBA taxonomy in other currencies. Now the minimum_balance will be in relation to the existing currency_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 is mic_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

26 Apr 08:57

Choose a tag to compare

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

26 Apr 09:00

Choose a tag to compare

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 and reversion_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.