# Overview

Themelia allows investors to create customised cryptocurrency indexing strategies. Our application leads indexing methodology innovation and has been designed to deliver the flexibility and dynamism required by investors to build optimal indexing strategies in this rapidly evolving asset class.

This document details the principles underpinning the calculation of indexes on our platform.&#x20;

#### Why indexes?

New cryptocurrencies are being created at an overwhelming pace. Researching each one individually has made constructing a portfolio based on individual asset selection almost impossible for the majority of investors.

Combining this with the fact that individual cryptocurrencies exhibit greater levels of volatility and an increased probability of complete failure when compared with traditional assets, it makes managing a concentrated portfolio more difficult. &#x20;

Furthermore, given that cryptocurrencies have much shorter market cycles than traditional assets, attempts at improving returns via market timing are less likely to succeed.

In response to these challenges, cryptocurrency investors are now turning to indexing strategies to eliminate the research burden, reduce overall portfolio risk and avoid timing pressure.

#### Why custom indexes?

Themelia enables investors to customise an index strategy using any combination of approximately 80 filters, alongside their preferences for the rebalancing frequency and method for weighting the index. The performance of their index can then be explored across a range of time frames and easily compared to any subsequent iterations on the design. We believe this level of fine grained control will help investors optimise their return profile.


# Qualification

Themelia's backend has been designed to accommodate multiple cryptocurrency data providers, in order to maximise integrity and reliability of the data we serve up for index calculation.

As of May 2024, CoinGecko and CoinMarketCap are Themelia's two data providers. They are the two market-leading cryptocurrency data providers with the longest history of continuous data collection and aggregation, the widest cryptocurrency coverage and enterprise grade APIs.

On a daily basis we match and qualify the active cryptocurrencies from each data provider. To qualify for inclusion in the Themelia universe, a cryptocurrency must meet the following criteria:

* **Market Capitalization**: Minimum of USD 1,000,000
* **Daily Volume**: Minimum of USD 100,000

These qualification criteria represent what we consider to be the minimum threshold for inclusion in the Themelia universe. Tokens are disqualified from being included in future index calculations if their Market Capitalisation or Daily Volume falls below the qualification thresholds.


# Collection and curation

We collect data for qualified cryptocurrencies from both of our data providers at ten minute increments from the start of the hour.&#x20;

For each individual data feed we identify and remove price outliers for cryptocurrencies that vary too greatly from their most recent reference price.&#x20;

After removing records with price outliers, we use the remaining data for each cryptocurrency from both feeds to calculate the median values for each of the data points that the feeds have in common.&#x20;

We then use these median values to generate a series of supplementary data points.

We also store qualitative assessments (Theme) against each set of ten minute incremented data.

#### Filters

The following pages list the current filters and their definitions, by group.&#x20;


# Basic filters

<table><thead><tr><th width="130">Filter</th><th width="550">Description</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>The name of a cryptocurrency e.g. Bitcoin.</td></tr><tr><td><strong>Symbol</strong></td><td>The symbol of a cryptocurrency e.g. BTC.</td></tr><tr><td><strong>Base Layer</strong></td><td>The base layer a cryptocurrency is built on i.e. the Uniswap token UNI is built on the Ethereum base layer.</td></tr><tr><td><strong>Exchange</strong></td><td>The exchange(s) the cryptocurrency is available on.</td></tr></tbody></table>


# Thematic filters

The Include and Exclude features of Themes operate in a similar fashion to the [basic filters](/collection-and-curation/basic-filters).

<table><thead><tr><th width="256">Theme</th><th>Description</th></tr></thead><tbody><tr><td><strong>Advertising</strong></td><td>Blockchain enabled platforms and applications that focus on digital advertising, AdTech services or extending and integrating web2 and web3 marketing services.</td></tr><tr><td><strong>AI Agent</strong></td><td>Blockchain-enabled platforms that assist in the deployment of autonomous AI agents.</td></tr><tr><td><strong>Artificial</strong> <strong>Intelligence</strong></td><td>Blockchain enabled platforms and applications that focus on artificial intelligence and machine learning infrastructure and applications.</td></tr><tr><td><strong>Asset Management</strong></td><td>Blockchain enabled platforms and applications that specialise in asset management, asset management infrastructure and indexing.</td></tr><tr><td><strong>Asset Tokenisation</strong></td><td>Blockchain enabled platforms and applications that enable assets to be transformed into asset backed digital tokens and fractionalised.</td></tr><tr><td><strong>Communication Network</strong></td><td>Blockchain enabled platforms and applications that focus on communication related products and services, such as private messaging, mobile data sharing, naming protocols, push notification services and other methods that facilitate information transfer.</td></tr><tr><td><strong>Computing Resources</strong></td><td>Blockchain enabled platforms and applications that focus on shared computing power, networking and file storage.</td></tr><tr><td><strong>Content</strong></td><td>Blockchain enabled platforms, applications and communities that focus on content creation, curation and monetisation.</td></tr><tr><td><strong>Currency</strong></td><td>Native currencies of blockchains that typically do not offer smart contract functionality, and which are intended to be used as a medium of exchange.</td></tr><tr><td><strong>DeFi Services</strong></td><td>Blockchain enabled platforms and applications that provide facilities analogous to traditional banks, allowing users to deposit, lend, borrow, store, swap and exchange cryptocurrencies. Includes staking.</td></tr><tr><td><strong>DeSci</strong></td><td>Blockchain enabled platforms and applications that aim to decentralise the creation, sharing, validation, and funding of scientific research and data.</td></tr><tr><td><strong>Data Management</strong></td><td>Blockchain enabled platforms and applications that specialise in data management, data exchange, data authentication, data aggregation and other data related services and products.</td></tr><tr><td><strong>Derivatives</strong></td><td>Blockchain enabled platforms and applications that focus on the creation and trading of derivatives.</td></tr><tr><td><strong>Environment</strong></td><td>Projects that aim to tackle critical sustainability and environmental issues.</td></tr><tr><td><strong>Exchange</strong></td><td>Blockchain enabled platforms and applications that offer centralised or decentralised exchange services, for the buying and selling of digital assets. Includes aggregators and automated market makers.</td></tr><tr><td><strong>Fan Token</strong></td><td>Blockchain based tokens that are specific to a celebrity, sporting team or club, that enable holders access to voting rights and membership based rewards and experiences.</td></tr><tr><td><strong>Gambling</strong></td><td>Blockchain enabled platforms and applications that focus on prediction markets, betting and casino games.</td></tr><tr><td><strong>Gaming</strong></td><td>Blockchain enabled platforms and applications that specialise in game development, infrastructure and services.</td></tr><tr><td><strong>Governance</strong></td><td>Blockchain enabled platforms and applications that specialise in governance tooling and enablement, risk management and compliance.</td></tr><tr><td><strong>Identity</strong></td><td>Blockchain enabled platforms and applications that focus on identity solutions for individuals and other entities.</td></tr><tr><td><strong>Insurance</strong></td><td>Blockchain enabled platforms that offer direct insurance or reinsurance services, providing financial protection from possible hazards in the future.</td></tr><tr><td><strong>Investment Collective</strong></td><td>Communities that pool together funds for a specific investment purpose or goal.</td></tr><tr><td><strong>IoT</strong></td><td>Blockchain enabled platforms that enhance centralised IoT infrastructure, focusing on automating device connectivity, monitoring, and data management.</td></tr><tr><td><strong>Launchpad</strong></td><td>Platforms that facilitate funding and promotion for early stage blockchain and web3 projects, by connecting them to a community of investors and contributors.</td></tr><tr><td><strong>Layer 1 Network</strong></td><td>Smart contract blockchain and DAG networks that focus on enabling developers to build applications in any industry.</td></tr><tr><td><strong>Learn to Earn</strong></td><td>Applications that encourage the development of skills and knowledge through traditional approaches to education and more innovative Learn to Earn models.</td></tr><tr><td><strong>Liquid Staking</strong></td><td>Protocols that allow users to get greater utility from staked tokens, predominantly through unlocking liquidity of staked tokens so that they can be used as collateral to generate additional yield.</td></tr><tr><td><strong>Liquidity Aggregator</strong></td><td>Blockchain enabled platforms and applications that aggregate liquidity from multiple sources.</td></tr><tr><td><strong>Marketplace</strong></td><td>Blockchain enabled platforms and applications that allow tangible and intangible goods and services to be bought and sold in an online marketplace.</td></tr><tr><td><strong>Memecoin</strong></td><td>Native blockchain currencies and smart contract based tokens that are inspired by internet memes, individuals and cultural references.</td></tr><tr><td><strong>Metaverse</strong></td><td>Blockchain enabled platforms and applications building immersive virtual and augmented reality environments that allow digital representations of humans (avatars) to socialise, work, play and shop.</td></tr><tr><td><strong>Move to Earn</strong></td><td>Fitness related rewards schemes.</td></tr><tr><td><strong>NFT</strong></td><td>Blockchain enabled platforms and applications that provide infrastructure for NFT creation, minting and exchange.</td></tr><tr><td><strong>Payment Platform</strong></td><td>Blockchain enabled platforms and applications that specialise in payments infrastructure and payment related services.</td></tr><tr><td><strong>Rewards &#x26; Loyalty</strong></td><td>Blockchain enabled platforms and applications involved in the management, aggregation and issuance of loyalty points and crypto rewards for consumers.</td></tr><tr><td><strong>Scaling &#x26; Interoperability</strong></td><td>Blockchain enabled platforms and applications that enhance the scalability and interoperability of Layer 1 blockchains, SDKs that simplify blockchain development and open source tooling platforms. Includes Rollups and RollApps.</td></tr><tr><td><strong>Security &#x26; Privacy</strong></td><td>Blockchain enabled platforms and applications that focus on cybersecurity, privacy and auditing products that aim to prevent against hacks, scams, and fraudulent activities.</td></tr><tr><td><strong>Social Token</strong></td><td>Blockchain based tokens that are issued by individuals and creators to build and monetise their content and reward followers with exclusive benefits and rewards.</td></tr><tr><td><strong>Stablecoin</strong></td><td>Cryptocurrencies that peg their value to a traditional fiat asset (Euro, US Dollar etc) cryptocurrency or basket of cryptocurrencies.</td></tr><tr><td><strong>Stablecoin Governance</strong></td><td>Governance tokens of cryptocurrencies that peg their value to a traditional fiat asset (Euro, US Dollar etc) cryptocurrency or basket of cryptocurrencies.</td></tr><tr><td><strong>Trading Tool</strong></td><td>Blockchain enabled platforms and applications that offer trading tools, information feeds and social trading for cryptocurrency traders.</td></tr><tr><td><strong>Wallet</strong></td><td>Blockchain enabled platforms and applications that offer secure storage of digital assets.</td></tr></tbody></table>


# Thematic classification

For the purposes of construction customisable indexes, it can be useful to divide the cryptocurrency market using a thematic or sector approach.

### **Classification methodology**

To classify a cryptocurrency into a theme, we aim to identify the primary activity/purpose, then map this to a theme in our classification system.

We do this by reviewing a cryptocurrency's technical documentation, marketing materials: website, white paper, lite paper and socials.&#x20;


# Fundamental filters

How the fundamental filters work

Min and Max parameters can be used in conjunction with each other to set the upper and lower thresholds of filter parameters.

<table><thead><tr><th width="131">Filter</th><th width="576">Description</th></tr></thead><tbody><tr><td><strong>Age (years)</strong></td><td>The age of a cryptocurrency based on the date it was first listed by Data Providers.<br><br>It is a proxy for an approximate age of the cryptocurrency.</td></tr><tr><td><strong>Circulating supply</strong></td><td>The amount of tokens that are circulating in the market and are in public hands. </td></tr><tr><td><strong>Circulating supply to max supply</strong></td><td>Ratio of circulating supply to max supply.</td></tr><tr><td><strong>Date added</strong></td><td>The date a cryptocurrency was listed by Data Providers</td></tr><tr><td><strong>Fully diluted market cap</strong></td><td>The market cap if the max supply was in circulation. </td></tr><tr><td><strong>Market cap</strong></td><td>The total market value of a cryptocurrency's circulating supply, measured in USD.</td></tr><tr><td><strong>Market cap (30 day avg)</strong></td><td>The average of the market cap over the past 30 days, measured once daily at 00:00 UTC, measured in USD.</td></tr><tr><td><strong>Max supply</strong></td><td>The maximum amount of tokens that will ever exist in the lifetime of the cryptocurrency.</td></tr><tr><td><strong>Total supply</strong></td><td>Total tokens created minus tokens that have been burned (if any).</td></tr><tr><td><strong>Total value locked</strong></td><td>Value of assets that are currently being staked in the protocol, in USD.</td></tr><tr><td><strong>Total value locked to market cap</strong></td><td>Ratio of total value locked to market cap.</td></tr><tr><td><strong>Unlimited supply</strong></td><td>Cryptocurrencies that do not limit the number of tokens that can be created.</td></tr></tbody></table>


# Trading filters

How the trading filters work

Min and Max parameters can be used in conjunction with each other to set the upper and lower thresholds of filter parameters.

<table><thead><tr><th width="133">Filter</th><th width="554">Description</th></tr></thead><tbody><tr><td><strong>Beta</strong></td><td>Measures the degree of volatility of a cryptocurrency relative to Bitcoin (as a proxy for the market), using 144 ten minute data points.</td></tr><tr><td><strong>Correlation</strong></td><td>Measures the degree to which the cryptocurrency and Bitcoin move in relation to one another, using 144 ten minute data points.</td></tr><tr><td><strong>Daily volume</strong></td><td>How much of a cryptocurrency was traded in the last 24 hours, in USD.</td></tr><tr><td><strong>Daily volume (30 day avg)</strong></td><td>The average daily volume for a cryptocurrency across the prior 30 days, measured in USD.</td></tr><tr><td><strong>Price</strong></td><td>The price of a cryptocurrency, measured in USD. This price is collected every 10 minutes.</td></tr><tr><td><strong>Sharpe ratio</strong></td><td>Measures the risk-adjusted return of a cryptocurrency, using 144 ten minute data points.</td></tr><tr><td><strong>Volatility</strong></td><td>Measures the degree of variation (annualised) in the price of a cryptocurrency, using 144 ten minute data points.</td></tr></tbody></table>


# Analyst Filters

Analyst filters let you tap into the token selections of experienced crypto analysts hand-picked by Themelia. Each analyst curates their own index based on market insight, and you can include or exclude any analyst’s picks as part of your strategy.&#x20;

For finer control, you can choose how consensus is formed between multiple analysts: **Any** includes tokens selected by *any* of the analysts you’ve chosen, while **All** only includes tokens selected by *all* of them. The same logic applies in reverse for exclusions.

Think of it as building your own committee of analysts - you decide who’s on the team and how much agreement you want between them before a token makes it into (or out of) your index.

| Combination       | Description                                                                               | Example                                                                                                                                                                                                                                            |
| ----------------- | ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Include + Any** | For a token to be included in your index, any of your included analysts may select it.    | <p><strong>Bob and Alice are both analysts with their own token selection lists.</strong> </p><p></p><p>If a user selects both Bob and Alice, then as long as either of them has $SOL in their list, $SOL will be included in the user’s index</p> |
| **Include + All** | For a token to be included in your index, all of your included analysts must select it.   | If a user selects both Bob and Alice, then $SOL will only be included in the user’s index if **both** of them have $SOL in their lists.                                                                                                            |
| **Exclude + Any** | For a token to be excluded from your index, any of your excluded analysts may select it.  | If a user selects both Bob and Alice, then if **either** of them has excluded $DOGE from their list, $DOGE will be removed from the user’s index.                                                                                                  |
| **Exclude + All** | For a token to be excluded from your index, all of your excluded analysts must select it. | If a user selects both Bob and Alice, then $DOGE will only be removed from the user’s index if **both** of them have excluded $DOGE from their lists.                                                                                              |


# Calculation

## Lookback window

When calculating an index, we calculate it for a lookback window specified by the user. We currently allow a user to specify a lookback window of 1 day, 7 days, 30 days, 90 days or 365 days from the current time period.

## Filter use

Themelia allows a user to select their preferred combination of filters and these will be applied at the inception of the index, as well as any rebalancing periods.&#x20;

There are four different functions for filters:

| Function | Description                                                                                       |
| -------- | ------------------------------------------------------------------------------------------------- |
| Include  | All constituents in the index must include the selected filter                                    |
| Exclude  | All constituents in the index must not include the selected filter                                |
| Min      | All constituents in the index must be greater than or equal to the value specified for the filter |
| Max      | All constituents in the index must be less than or equal to the value specified for the filter    |

## Rebalancing

Themelia offers 4 rebalancing options for indexes; Never, Quarterly, Monthly, Weekly,&#x20;

| Function  | Description                                                                                                                                                                                                                 |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Never     | No rebalancing occurs                                                                                                                                                                                                       |
| Quarterly | <p>Rebalancing occurs at 00:00:00 UTC on the first day of the new quarter.</p><ul><li>Q1: January 1 – March 31</li><li>Q2: April 1 – June 3</li><li>Q3: July 1 – September 30</li><li>Q4: October 1 – December 31</li></ul> |
| Monthly   | Rebalancing occurs at 00:00:00 UTC on the first day of the new month                                                                                                                                                        |
| Weekly    | Rebalancing occurs at 00:00:00 UTC on the first day of the new week. Weeks start on a Monday.                                                                                                                               |

## Index Type

Themelia indexes are either Market Capitalisation Weighted or Equal Weighted, depending on the preference specified by the user.&#x20;

### Market Capitalisation Weighted Index calculation

Themelia's Market Capitalisation Weighted Indexes allocate weights based on the relative market capitalisation of each constituent in the index at inception and at any rebalancing time periods.&#x20;

To calculate a Market Capitalisation Weighted Index, we are first required to determine the constituents at the earliest time period within the lookback window by applying the filters specified by the user.&#x20;

Based on the constituents at this time period, we then need to calculate the $$Market\ Capitalisation$$:

$$
Market\ Capitalisation\_{t=0} = \displaystyle\sum\_{i} (P\_{i,t=0} \* Q\_{i,t=0})
$$

Where:

* $$P\_{i,t=0}$$ represents the price of the $$i^{th}$$ constituent at time$$\ t=0$$&#x20;
* $$Q\_{i,t=0}$$ represents the circulating supply of the $$i^{th}$$ constituent at time $$t=0$$

By building our index based on the summation of the individual market capitalisations of the constituents in the index, we are effectively weighting the index by the relative size of the market capitalisation for each constituent. This happens naturally when we incept the index at the earliest time period, but for subsequent time periods, we will need to eliminate any changes to the Market Capitalisation of the index which do not arise from changes in the prices of the constituents in the index i.e. they have arisen from changes in circulating supply. This ensures that any changes in the index value over time only reflect changes in the prices of constituents.&#x20;

To handle this requirement, at each time period we need to capture the change in the Market Capitalisation due to the change in circulating supply of any constituents:

* being added to the index
* being removed from the index

We call this value $$Delta$$, which, for the first time period equates to:

$$
Delta\_{t=0} =\displaystyle\sum\_i (PA\_{i,t=0}\*QA\_{i,t=0}) -\displaystyle\sum\_i (PR\_{i,t=0}\*QR\_{i,t=0})
$$

Where:

* $$PA\_{i,t=0}$$ represents the price of the $$i^{th}$$ constituent being added to the index at time$$\ t=0$$&#x20;
* $$QA\_{i,t=0}$$ represents the circulating supply of the $$i^{th}$$ constituent being added to the index time$$\ t=0$$&#x20;
* $$PR\_{i,t=0}$$ represents the price of the $$i^{th}$$ constituent being removed from the index at time$$\ t=0$$&#x20;
* $$QR\_{i,t=0}$$ represents the circulating supply of the $$i^{th}$$ constituent being removed from the index at time$$\ t=0$$&#x20;

We then set the initial $$Index\ Value$$ to an arbitrary value:

$$
Index\ Value\_{t=0} = 100
$$

This incepts the index at the earliest time period within the lookback window.&#x20;

For subsequent periods, we need a broader calculation for Delta which captures changes in Market Capitalisation resulting from:&#x20;

* tokens being added to circulating supply for a constituent
* tokens being removed from circulating supply for a constituent

So we expand our calculation for Delta to:

$$
Delta\_{t} =\displaystyle\sum\_i (PA\_{i,t}\*QA\_{i,t}) -\displaystyle\sum\_i (PR\_{i,t}\*QR\_{i,t}) + \displaystyle\sum (P\_{i,t} \* (Q\_{i,t} - Q\_{i,t-1}))
$$

Where:

* $$P\_{i,t}$$ represents the price of the $$i^{th}$$ constituent within the index at time$$\ t$$&#x20;
* $$Q\_{i,t}$$ represents the circulating supply of the $$i^{th}$$ constituent within the index at time$$\ t$$&#x20;
* $$Q\_{i,t-1}$$ represents the circulating supply of the $$i^{th}$$ constituent within the index at time$$\ t-1$$&#x20;

We can now calculate the $$Divisor$$, which will capture any adjustments required to ensure the Index Value reflects price changes only. We calculate the Divisor using:

$$
Divisor\_t = Divisor\_{t-1} + (Delta\_{t-1}\div Index\ Value\_{t-1})
$$

We can then calculate the Index Value for the current period:

$$
Index\ Value{*t}=(Market\ Cap*{t}-Delta\_{t})\div Divisor\_{t}
$$

Finally, we calculate the $$Index\ Change$$ using:

$$
Index\ Change\_t = (Index\ Value\_t\ \div Index\_\ Value\_{t=0}) -1
$$

After iterating through this process for all time periods required, we make this series available for display in our charts for the front end user.&#x20;

### Equal Weighted Indexes

Themelia's Equal Weighted Indexes allocate weights equally to each constituent included within the index.

To calculate an Equal Weighted Index, we are first required to determine the constituents by applying the filters specified by the user for the earliest time period within the lookback window.&#x20;

We then count the number of constituents at this time period, denoted as $$N$$.

\
Next, we set the initial $$Index\ Value$$ to an arbitrary value.

$$
Index\ Value\_{t=0} =  100
$$

This incepts the index at the earliest time period within the lookback window.

The $$Constituent\ Value$$ represents the hypothetical value of each constituent in the index. We ensure that each constituent has an equal weight in the index at the outset with the following calculation:

$$
Constituent\ Value\_{i,t=0} = Index\ Value\_{t=0}\div N\_{t=0}
$$

For each subsequent period, the Constituent Value is adjusted based on the price change between the previous time period and the current time period.&#x20;

$$
Constituent\ Value\_{i,t} = Constituent\ Value\_{i,t-1}\ \* (Price\_{i,t}\ \div Price\_{i,t-1})
$$

We can then calculate the Index Value by:

$$
Index\ Value\_t = \displaystyle\sum\_i(Constituent\ Value\_{i,t})
$$

If the current time period is also a rebalancing time period, the index undergoes an additional rebalancing process. The filters specified by the user are applied again to determine the new set of constituents.&#x20;

Following this, the number of constituents, 𝑁, is counted.&#x20;

The Constituent Value is then reset to ensure each constituent has an equal weight in the index:

$$
Constituent\ Value\_{i,t} = Index\ Value\_{t}\ \div N\_t
$$

Now we can calculate the $$Index\ Change$$ using:

$$
Index\ Change\_t = (Index\ Value\_t\ \div Index\_\ Value\_{t=0}) -1
$$

After iterating through this process for all time periods required, we make this series available for display in our charts for the front end user.&#x20;


