Currencies & Cryptocurrencies Knowledge Model
Overview
Currencies & Cryptocurrencies (display name: Currencies & Cryptocurrencies EN v#) is a document classification and information extraction model for English financial news and technical analyses that deal with currencies and cryptocurrencies.
Category tree
Possible categories are:
1000 Currencies
1100 Forex
1110 Exchange rates
1120 Interest rates
1130 Currency markets
1131 Spot currencies
1132 Currency futures
1133 Currency forwards
1134 Currency swaps
1135 Currency options
2000 Digital currencies
2100 Central bank digital currencies
2200 Cryptocurrencies
2210 Cryptocurrency exchange
2220 Cryptocurrency investing
The taxonomy has two main categories, Currencies and Digital currencies.
The Currencies branch covers fiat currencies and has the Forex sub-category referring to the foreign exchange market for trading currencies. It categorizes the texts dealing with the foreign exchange trading or news. This category is further divided into the following sub-categories, related to the kind of possible markets within the Forex:
- Exchange rates: value of one nation's currency versus the currency of another nation or economic zone. There can be different kinds of exchange rates within the domain of Forex. The exchange rates of currency pairs can be floating, pegged (fixed) or both, adopting a dual exchange rate. The value of a nation’s currency can also be determined to the value of a specific currency, by means of an agreement, but it can still float against the others.
- Interest rates: refers to the amount a lender charges a borrower and is a percentage of the principal (the amount loaned). Within the Forex domain, it is governed by the equation of the Interest Rate Parity (IRP), according to the currency exchange rates.
-
Currency markets: refers to the available financial instruments within the Forex domain and it has the following categories:
- Currency forwards, Currency futures, Currency swaps and Currency options, corresponding to so called derivatives, entail the exchange, sale or purchase of a currency on a future date.
- Spot currencies: direct transactions at the current exchange rate.
The Digital currencies branch covers digital currencies, centralized or decentralized, that are available on the market. Sub-categories are:
- Central bank digital currencies: centralized digital money issued by the central bank.
- Cryptocurrencies: decentralized and crypted digital money. It is further divided into:
- Cryptocurrency exchange for transactions involving exclusively cryptocurrencies.
- Cryptocurrency investing for transactions involving the purchase of cryptocurrencies with fiat currencies.
Extraction groups and classes
Overview
The extraction section of the model predicts Forex or digital currency exchange information such as exchange rates, support and resistance levels, trends and chart patterns.
It can also extract information about cryptocurrency investment apps and Web sites and whether they are deemed safe or not.
Currency and cryptocurrency entities appear in texts both alone and in pairs, like in the following sentence:
GBP/JPY Price Analysis: Upside move awaits bullish cross breakout near 150.50.
For this reason, each extraction group apart from those related to apps and Web sites has three classes dedicated to currency extraction: the first is for currencies that are mentioned alone, the second and the third are for the left and the right currency in a pair, like GBP and JPY in the example above.
Classes in which percentage increments or decrements are extracted have a name ending in by.
For some groups there is a class in which the possible anaphor of a mentioned currency is extracted.
Trends, levels and chart patterns
The following tables indicate the classes for each extraction group corresponding to trends, levels or chart patterns. The last column contains a link to an Investopedia article describing the indicator.
Fiat currencies
Group | Currency (alone) | Left currency in a pair | Righ currency in a pair | % increment/decrement | Anaphor | Trend, level or chart pattern the group refers to |
---|---|---|---|---|---|---|
CURRENCY_UPTREND | currency_up | currency_pair_up1 | currency_pair_up2 | up_by | inference_up | Uptrend |
CURRENCY_DOWNTREND | currency_down | currency_pair_down1 | currency_pair_down2 | down_by | inference_down | Downtrend |
CURRENCY_BREAKOUT_UP | currency_bull | currency_pair_bull1 | currency_pair_bull2 | Breakout up and breakup down | ||
CURRENCY_BREAKOUT_DOWN | fallen_currency | fallen_pair_1 | fallen_pair_2 | Breakout up and breakup down | ||
CURRENCY_OVERBOUGHT | currency_overbought | currency_pair_overbought1 | currency_pair_overbought2 | inference_overbought | Overbought | |
CURRENCY_OVERSOLD | currency_oversold | currency_pair_oversold1 | currency_pair_oversold2 | inference_oversold | Over-Selling | |
CURRENCY_SUPPORT | currency_s | currency_pair_s1 | currency_pair_s2 | inference_support | Support (support level) | |
CURRENCY_RESISTANCE | currency_r | currency_pair_r1 | currency_pair_r2 | inference_resistance | Resistance (resistance level) | |
CURRENCY_PULLBACK | currency_pulledback | currency_pair_pulledback1 | currency_pair_pulledback2 | inference_pullback | Pullback | |
CURRENCY_REVERSAL | currency_reversed | currency_pair_reversed1 | currency_pair_reversed2 | inference_reversal | Reversal | |
CURRENCY_GOLDEN_CROSS | currency_gc | currency_pair1_gc | currency_pair2_gc | inference_gc | Golden Cross | |
CURRENCY_DEATH_CROSS | currency_dc | currency_pair1_dc | currency_pair2_dc | inference_dc | Death Cross |
Cryptocurrencies
Group | Currency (alone) | Left currency in a pair | Righ currency in a pair | % increment/decrement | Anaphor | Trend, level or chart pattern the group refers to |
---|---|---|---|---|---|---|
CRYPTO_UPTREND | cryptocurrency_up | cryptocurrency_pair_up1 | cryptocurrency_pair_up2 | increase_by | c_inference_up | Uptrend |
CRYPTO_DOWNTREND | cryptocurrency_down | cryptocurrency_pair_down1 | cryptocurrency_pair_down2 | decrease_by | c_inference_down | Downtrend |
CRYPTOCURRENCY_BREAKOUT_UP | cryptocurrency_bull | cryptocurrency_pair_bull1 | cryptocurrency_pair_bull2 | Breakout up and breakup down | ||
CRYPTOCURRENCY_BREAKOUT_DOWN | fallen_cryptocurrency | fallen_crypto_pair_1 | fallen_crypto_pair_2 | Breakout up and breakup down | ||
CRYPTO_OVERBOUGHT | cryptocurrency_overbought | cryptocurrency_pair_overbought1 | cryptocurrency_pair_overbought2 | c_inference_overbought | Overbought | |
CRYPTO_OVERSOLD | cryptocurrency_oversold | cryptocurrency_pair_oversold1 | cryptocurrency_pair_oversold2 | c_inference_oversold | Over-Selling | |
CRYPTO_SUPPORT | cryptocurrency_s | cryptocurrency_pair_s1 | cryptocurrency_pair_s2 | c_inference_support | Support (support level) | |
CRYPTO_RESISTANCE | cryptocurrency_r | cryptocurrency_pair_r1 | cryptocurrency_pair_r2 | c_inference_resistance | Resistance (resistance level) | |
CRYPTO_PULLBACK | cryptocurrency_pulledback | cryptocurrency_pair_pulledback1 | cryptocurrency_pair_pulledback2 | c_inference_pullback | Pullback | |
CRYPTO_REVERSAL | cryptocurrency_reversed | cryptocurrency_pair_reversed1 | cryptocurrency_pair_reversed2 | c_inference_reversal | Reversal | |
CRYPTO_GOLDEN_CROSS | cryptocurrency_gc | cryptocurrency_pair1_gc | cryptocurrency_pair2_gc | c_inference_gc | Golden Cross | |
CRYPTO_DEATH_CROSS | cryptocurrency_dc | cryptocurrency_pair1_dc | cryptocurrency_pair2_dc | c_inference_dc | Death Cross |
Example:
The GBP/USD currency pair has fallen to test the pivotal 1.3600 area for the third time since July.
Extraction for group CURRENCY_DOWNTREND:
Class | Value |
---|---|
currency_pair_down1 | GBP |
currency_pair_down2 | USD |
EXCHANGE_RATE
The EXCHANGE_RATE group is used to extract exchange rates of both fiat currencies and cryptocurrencies.
Its classes are:
Class | Description |
---|---|
first_currency | First fiat currency |
second_currency | Second fiat currency |
first_cryptocurrency | First cryptocurrency |
second_cryptocurrency | Second cryptocurrency |
currency_rate | Rate for fiat currencies |
cryptocurrency_rate | Rate for cryptocurrencies |
exchange_rate_value | Exchange rate value |
Example:
At the time of writing, the GBP/JPY cross-currency pair is trading at 150.43.
Extraction record for the EXCHANGE_RATE group:
Class | Value |
---|---|
first_currency | GBP |
second_currency | JPY |
exchange_rate_value | 150.43 |
Apps and Web sites for cryptocurrencies
The INVESTING_APP_WEBSITE group extracts application or website names for cryptocurrency investment.
Its classes are:
Class | Description |
---|---|
investing_app | App name |
investing_website | Web site name |
The CRYPTO_APP_SAFE group extracts names of applications or websites that are deemed safe for cryptocurrency investment.
Its classes are:
Class | Description |
---|---|
app_safe | App name |
website_safe | Web site name |
The CRYPTO_APP_NOT_SAFE group extracts names of applications or websites that are deemed not safe for cryptocurrency investment.
Its classes are:
Class | Description |
---|---|
app_not_safe | App name |
website_not_safe | Web site name |
Example:
Coinbase is considered one of the safest apps for trading cryptocurrencies.
Extraction record for the CRYPTO_APP_SAFE group:
Class | Value |
---|---|
app_safe | Coinbase |
Output structure
The model output has the same structure as any other model and is affected by the functional properties of the workflow block.
The peculiar parts of the output are the result of categorization, i.e. the categories
array, and the result of information extraction, i.e. the extractions
array.
Example
In this model's output, the template key corresponds to the concept of group and template fields correspond to classes.
A possible categorization output is:
"categories": [
{
"frequency": 22.12,
"hierarchy": [
"Currencies",
"Forex"
],
"id": "1100",
"label": "Forex",
"namespace": "currencies_en",
"positions": [
{
"end": 556,
"start": 551
},
],
"score": 290,
"winner": true
},
{
"frequency": 2.28,
"hierarchy": [
"Currencies",
"Forex",
"Exchange rates"
],
"id": "1110",
"label": "Exchange rates",
"namespace": "currencies_en",
"positions": [
{
"end": 211,
"start": 204
}
],
"score": 30,
"winner": true
}
]
Extraction output can be like this:
"extractions": [
{
"fields": [
{
"name": "cryptocurrency_r",
"positions": [
{
"end": 1860,
"start": 1853
}
],
"value": "bitcoin"
}
],
"namespace": "currencies_en",
"template": "CRYPTO_RESISTANCE"
},
{
"fields": [
{
"name": "cryptocurrency_up",
"positions": [
{
"end": 1634,
"start": 1627
}
],
"value": "bitcoin"
},
{
"name": "increase_by",
"positions": [
{
"end": 1617,
"start": 1614
}
],
"value": "20%"
}
],
"namespace": "currencies_en",
"template": "CRYPTO_UPTREND"
},
{
"fields": [
{
"name": "cryptocurrency_up",
"positions": [
{
"end": 1860,
"start": 1853
}
],
"value": "bitcoin"
},
{
"name": "increase_by",
"positions": [
{
"end": 1829,
"start": 1827
}
],
"value": "6%"
}
],
"namespace": "currencies_en",
"template": "CRYPTO_UPTREND"
},
{
"fields": [
{
"name": "currency_pair1_dc",
"positions": [
{
"end": 278,
"start": 275
}
],
"value": "EUR"
},
{
"name": "currency_pair2_dc",
"positions": [
{
"end": 282,
"start": 279
}
],
"value": "USD"
}
],
"namespace": "currencies_en",
"template": "CURRENCY_DEATH_CROSS"
},
{
"fields": [
{
"name": "currency_pair_down1",
"positions": [
{
"end": 278,
"start": 275
}
],
"value": "EUR"
},
{
"name": "currency_pair_down2",
"positions": [
{
"end": 282,
"start": 279
}
],
"value": "USD"
}
],
"namespace": "currencies_en",
"template": "CURRENCY_DOWNTREND"
},
{
"fields": [
{
"name": "first_currency",
"positions": [
{
"end": 126,
"start": 123
}
],
"value": "EUR"
},
{
"name": "second_currency",
"positions": [
{
"end": 130,
"start": 127
}
],
"value": "USD"
},
{
"name": "exchange_rate_value",
"positions": [
{
"end": 211,
"start": 204
}
],
"value": "1.19087"
}
],
"namespace": "currencies_en",
"template": "EXCHANGE_RATE"
},
{
"fields": [
{
"name": "first_currency",
"positions": [
{
"end": 278,
"start": 275
}
],
"value": "EUR"
},
{
"name": "second_currency",
"positions": [
{
"end": 282,
"start": 279
}
],
"value": "USD"
},
{
"name": "exchange_rate_value",
"positions": [
{
"end": 320,
"start": 313
}
],
"value": "1.16026"
}
],
"namespace": "currencies_en",
"template": "EXCHANGE_RATE"
},
{
"fields": [
{
"name": "currency_rate",
"positions": [
{
"end": 126,
"start": 123
}
],
"value": "EUR"
},
{
"name": "exchange_rate_value",
"positions": [
{
"end": 211,
"start": 204
}
],
"value": "1.19087"
}
],
"namespace": "currencies_en",
"template": "EXCHANGE_RATE"
},
{
"fields": [
{
"name": "currency_rate",
"positions": [
{
"end": 278,
"start": 275
}
],
"value": "EUR"
},
{
"name": "exchange_rate_value",
"positions": [
{
"end": 320,
"start": 313
}
],
"value": "1.16026"
}
],
"namespace": "currencies_en",
"template": "EXCHANGE_RATE"
}
]
Note
If you are familiar with Platform extraction projects, the template key in this model's output corresponds to the concept of group and template fields correspond to classes.