finance
Money and the codes around it: currency amounts in the styles of different countries and ledgers, currency codes and symbols, the codes of banks, accounts, securities and legal entities, card numbers, cryptocurrency addresses, and rates in basis points or signed percentages.
6 categories, 29 types: 5 a sibling in its category also accepts, 5 accepted by another category's rule, 24 that decompose into parts, 1 flagged as personal data, 2 in Meridian's open data.
The 6 finance categories
Each category's lookup value, against every other category's rule
| Category | Types | Casts to | For example | Within the group | Also accepted by |
|---|---|---|---|---|---|
| 14 | VARCHAR, DECIMAL | $1,234.56 | 4 a sibling accepts, 1 misread | securities | |
| 6 | VARCHAR | BBG000BLNQ16 | 1 a sibling also accepts | banking, currency | |
| 4 | VARCHAR | 021000021 | each told apart | currency, securities | |
| 2 | VARCHAR | 1A1z7agoat2GPFH7pPPPP... | each told apart | — | |
| 2 | VARCHAR | 125 bps | each told apart | — | |
| 1 | VARCHAR | 4532015112830366 | — | currency |
Where finance categories overlap
Each type's lookup value, against every other category's rule
| Value | Written by | Also accepted by |
|---|---|---|
| 021000021 | banking.aba_routing | currency.amount → 21000021.00; securities.cusip |
| 037833100 | securities.cusip | banking.aba_routing; currency.amount → 37833100.00 |
| USD | currency.currency_code | securities.ticker |
| 4532015112830366 | payment.credit_card_number | currency.amount → 4532015112830366.00 |
| 0263494 | securities.sedol | currency.amount → 263494.00 |
Which finance type is it?
3 of 29 finance types in 3 categories accept it, and read it 2 ways.
Currency Code (ISO 4217) carries no pattern or format, so it has no rule to ask.
| Type | Category | Reads it as |
|---|---|---|
ABA Routing Number aba_routing | banking | 021000021 |
Currency Amount (US Format) amount | currency | 21000021.00 |
CUSIP cusip | securities | 021000021 |
What the engine extracts
- currency12 of 14currency_code · is_negative · numeric_value · symbol · ticker
- securities4 of 6body · check_digit · check_digits · country · entity_id · issue · issuer · lou_prefix · nsin · prefix
- banking4 of 4bank_code · bban · branch_code · check_digit · check_digits · country_code · federal_reserve_district · institution_id · location_code · state_code
- crypto1 of 2address_type
- rate2 of 2decimal_rate · raw_bps · raw_pct
- payment1 of 1card_type · issuer_identification_number · last_four
In Meridian's datasets
Use it
One value from each category, each inferred on its own
for v in '$1,234.56' 'BBG000BLNQ16' '021000021' '1A1z7agoat2GPFH7pPPPP...' '125 bps' '4532015112830366'; do finetype infer -i "$v"; doneSELECT v, ft_infer(v) FROM (VALUES ('$1,234.56'), ('BBG000BLNQ16'), ('021000021'), ('1A1z7agoat2GPFH7pPPPP...'), ('125 bps'), ('4532015112830366')) t(v);