Skip to content

[Feature] Add FFIEC FR Y-15 Risk Report to Federal Reserve (#7359)#7421

Draft
Jaideep726 wants to merge 10 commits intoOpenBB-finance:developfrom
Jaideep726:develop
Draft

[Feature] Add FFIEC FR Y-15 Risk Report to Federal Reserve (#7359)#7421
Jaideep726 wants to merge 10 commits intoOpenBB-finance:developfrom
Jaideep726:develop

Conversation

@Jaideep726
Copy link

@Jaideep726 Jaideep726 commented Mar 19, 2026

Description

  • Summary of the change: Adds the core ETL pipeline and Pydantic models (FfiecRiskQueryParams, FfiecRiskData) for the FFIEC FR Y-15 Systemic Risk Report to the federal_reserve provider. WAF bypass resolved — live data confirmed working.
  • Link # issue, if applicable: Addresses [FR] Add Bank Financial Data From FFIEC NIC #7359.
  • Screenshot of the feature or the bug before/before fix, if applicable.
  • Relevant motivation and context: The original draft was blocked by the FFIEC's Cloudflare WAF (HTTP 403). Resolved using curl_cffi to impersonate a Chrome TLS handshake, combined with a two-step session — first visiting the institution profile page to establish a valid session cookie, then fetching the CSV. Live data confirmed working for JPMorgan Chase (RSSD 1039502, December 31 2024). The CSV returns in tall format (ItemName | Description | Value) which is pivoted during transformation. Still actively working on: Ticker → RSSD mapping, dynamic date resolution, expanded MDRM field coverage, and unit tests.
  • Dependencies added: curl_cffi

How has this been tested?

  • Tested locally against the live FFIEC endpoint — no mocking required.
  • Confirmed live CSV extraction for JPMorgan Chase (RSSD 1039502) returns HTTP 200 with real data.
  • Verified that transform_data correctly pivots the tall-format CSV, parses the report date, and outputs validated Pydantic v2 objects.
  • Example output: rssd_id='1039502' report_date=datetime.date(2024, 12, 31) total_assets=4128989000.0
  • Ensure all unit and integration tests pass.
  • If you modified/added command(s):
    • Ensure the command(s) execute with the expected output.
      • API.
      • Python Interface.
    • If applicable, please add new tests for the command (see CONTRIBUTING.md to leverage semi-automated testing).
  • If a new provider was introduced or a new fetcher was added to an existing provider:
    • Ensure the existing tests pass.
    • Ensure the new provider and/or fetcher is stable and usable.
    • If applicable, please add new tests for the provider and/or fetcher (see CONTRIBUTING.md to leverage semi-automated testing).
  • If a new provider or extension was added:

Checklist

  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have adhered to the GitFlow naming convention and my branch name is in the format of feature/feature-name or hotfix/hotfix-name.
  • I ensure that I am following the CONTRIBUTING guidelines.
@CLAassistant
Copy link

CLAassistant commented Mar 19, 2026

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants