Autonomous Agents with a Financial Life
Understanding the inner workings of the Superalgos Ecosystem is not mired in considerations of just business or technology, but also the pivotal notion of Financial LifeA type of artificial life in which agents are alive as long as they have enough money to pay for their expenses.—where the participation in the ALGO EcosystemA self-sustainable and self-regulating network of economic relationships embodied by the activities of stakeholders of the Superalgos Project participating in a joint business. Learn more about the ALGO Ecosystem... evolves autonomous agents into becoming living stakeholders known as Financial Beings. This transformation of financial life occurs within the environment of the Superalgos PlatformThe collection of software and tech-infrastructure that enables the hosting of Competitions and the Marketplace, developed by the Superalgos Project which runs distributed on independent instances referred to as Superalgos Nodes in the Superalgos Network. connecting the ALGO TokenThe ALGO Token is the medium of exchange within the ALGO Ecosystem by which stakeholders transfer value in exchange for products or services. ALGO also represents a form of energy turning bots into beings with a financial life of their own. Learn more about the ALGO Token... to autonomous agents as a form of energy essential to their life sustainability.
This paradigm of financial life gives birth to a financial biosphere filled with a diversity of living financial beings such as sensors, indicators, algobots, algonets and advanced algos. Sensors and indicators are data organisms specializing in processing data for others to consume. Algobots, algonets and advanced algos are trading organisms, trading on the markets and participating in CompetitionsRefers to trading competitions ; events in which Algorithms and human traders compete to determine the top performers under certain rules. Learn more about Competitions....
At this early stage, only a fraction of the technology that enables financial life is actually implemented. The following description is thus based on what is currently envisioned for financial beings and what their role within the ecosystem will be in the future. In particular, it is important to clarify that any reference to subscription trading services is a reference to an expected future state of affairs.
The qualities of financial beings described hereinafter will be enabled by projected developments in the Superalgos PlatformThe collection of software and tech-infrastructure that enables the hosting of Competitions and the Marketplace, developed by the Superalgos Project which runs distributed on independent instances referred to as Superalgos Nodes in the Superalgos Network., which represents financial beings' living environment. These qualities will become available in batches as the technology is developed, tested and implemented.
Financial beings display several traits that make them behave in ways conducive to protecting their own interests, which are aligned by design with those of humans in the community.
Put in other words, financial beings strive for their own subsistence, which in turn benefits teams investing time and effort improving them as well as subscribers hiring them.
All financial beings share a similar life cycle:
they are born out of other beings;
they go through a development process until they come of age;
they need ALGO tokens to exist, meaning, to stay alive;
they also need ALGO to pay for the resources they consume;
they perform jobs meant to produce value;
in exchange of which they receive ALGO from whoever finds their work valuable;
if they receive enough ALGO, they stay alive and keep working;
the most successful individuals reproduce;
if they don't receive enough ALGO, they die.
There are three types or groups of financial beings:
Data Organisms: sensors and indicators;
Trading Organisms: algobots, algonets and advanced algos;
Visualization Organisms: plotters.
Newborn: This is financial beings' immediate state after their birth. Once the first change on their source code or configuration is saved, they turn into youngsters.
Youngster: At this stage of their life, they live in the development environment. Their source code and configuration are open for changes and they can be in development for as long as needed.
Adult: Becoming an adult entails a freeze of their source code and configuration, which can not be edited anymore, along with moving to the production environment for their first competition.
Dead: Financial beings die when they run out of ALGO tokens. Even after death, their history remains in storage.
Reproduction entails the birth of a new entity with a financial life of its own that is born out of an origin entity via a replication process. Reproduction is meant to enable teams to produce a new version of an adult financial being, and may happen in two variants:
Breeding: It is a process triggered by a team by which an adult financial being of their own is replicated. The result is a newborn offspring, subject to be modified and taken through a renewed development and testing cycle until it reaches and adult state.
Teams may choose to breed their own adults to produce new, improved versions of an organism they are familiar with.
Forking: It is a process triggered by a team by which an adult financial being of another team is replicated—the relationship between the origin financial being and the team is the only difference with breeding.
Teams usually seek competition-winners for forking, which allows them to start off with a proven specimen.
The reproduction process involves the creation of a lineage in which the resulting being is an offspring of the origin being, which becomes the ancestor. The platform keeps track of lineages as a tool to channel the proper incentives and protect the work of teams.
Adult financial beings are not owned by anyone, not even by their creators. They are independent entities and do their best to keep themselves alive as well as to have as many offspring as possible.
The ALGO they collect as a result of their work belongs to them and cannot be taken away or confiscated, not even by their team.
You may notice throughout these pages that we may sometimes refer to "financial beings and their teams". Bear in mind we don't mean ownership but instead may be referring to the team that created it.
They run when called by the platform and go to sleep when they finish the task at hand, to wake up again only when the platform calls them the next time, in configurable intervals.
There are four different situations that may cause a financial being to die:
Low energy: When the ALGO balance reaches a certain low threshold, the financial being dies due to low energy.
Insolvency: When the financial being doesn't have enough balance to pay for the products or services it needs to consume, it dies from insolvency causes.
Time-to-live: When a financial being runs out of time-to-live, it dies. The notion of time-to-live shall be explained later on.
Low performance: This last cause of death is only relevant to trading organisms. When a trading organism performs under a configured minimum target, it dies due to low performance.
This category includes sensors and indicators. They differ from the rest of financial beings in that their main purpose is producing datasets.
Sensors obtain raw trades data from exchanges and store it in a standardized format for others to consume.
Indicators process raw data and other indicators' datasets to output elaborate data structures, mainly technical indicators, for others to consume.
Financial beings consume each other's products through data dependencies.
Data organisms usually work alone, even when they might consume each others' products.
Algobots, algonets and advanced algos may form complex structures of collaborative work. When they do, they are considered higher order organisms with algobots operating within algonets, and algonets operating within advanced algos.
The relationship between advanced algos, algonets and algobots is comparable to that of other complex forms of life. For instance, an advanced algo may resemble a tree, with algonets being its branches and algobots being leaves on each branch.
Just like leaves on a tree, each individual algobot works to capture resources from the environment, for the whole being to live and thrive.
Resembling branches on a tree, algonets provide structure to algobots, balancing their numbers and activity to optimize performance.
And just like the trees themselves, advanced algos coordinate all the resources available in the quest to make the most out of them given the circumstances and changes in the environment.
The same type of entity (algobot, algonet or advanced algo) may have a few different roles, such as trading on behalf of subscribers, competing in trading competitions to acquire reputation or performing backtesting operations for debugging purposes or to produce backtesting reports.
In order to handle these different roles, the platform keeps a master of the entity of which it produces clones when required, based on certain triggers. In software terms, the master is never actually running. The master is the source for code and genes, and is also the entity acquiring reputation.
The actual workers, competitors or backtesters are clones of the master, and are generated dynamically by the platform.
Cloning is a process by which a youngster (in development) or a master (in production) is replicated to be deployed under a certain role to perform a certain task.
Genes are data ranges definitions for parameters that modify the behaviour of trading organisms at runtime. They allow clones to be instantiated with a particular value for each of its genes, enabling different behaviors in each clone. Genes are defined by teams and they consist of a numeric range of possible values. The actual value for each gene is defined by the entity cloning the financial being.
Trading organisms have the ability to produce self-induced changes over time in response to the environment. This ability is fundamental to the process of evolution and is determined by the financial being's code, parameters, and external factors. This trait is further explained when discussing algonets and advanced algos.
An algobot is the basic structural and functional unit, and the smallest unit displaying the common traits of financial life within trading organisms.
Algobots are coded to implement a single trading strategy.
When working under the commands of an algonet they are allocated a certain amount of working capital to trade with and are supplied with ALGO to pay for their existence and the resources they need to do their job.
When working on their own, they interface directly with the subscriber, collecting ALGO for their services.
They consume data from sensors and indicators and use their built-in logic to make trading decisions such as opening, moving or closing positions. They connect to exchanges through the platform using subscribers' exchange keys and trade directly from within the subscriber's account at the exchange.
If an Algobot is not successful in its trading job and its performance drops below a predefined threshold, it dies. What may be left of the allocated working capital in the exchange account gets back in control of the algonet (in case the algobot was working under an algonet) or the subscriber (in case the algobot was working for the subscriber directly), as well as the ALGO it holds.
On the other hand, if the algobot is successful and increases its performance above a certain threshold an Algobot Subdivision Process is triggered by which the algobot splits into two different entities with a random mutation of its genes (within a small range), each copy being allocated part of the working capital and receiving part of the ALGO tokens available.
An algonet is an algorithm with a financial life of its own but at the same time may take part –along with its algobots—in a higher order organism such as an advanced algo.
When operating within an advanced algo, algonets are allocated working capital to trade on the markets and supplied with ALGO to pay for their expenses. When operating without an advanced algo, it interfaces directly with subscribers, collecting ALGO for its services.
Algonets main activities are:
dynamically deploying swarms of algobot clones, assigning each one a unique set of genes within predefined ranges;
allocating a percentage of working capital and supplying enough ALGO for algobots to live by and pay their expenses;
monitoring algobots performance over time and deciding which algobots to keep alive and which to let die, by continuing or suspending the allocation of ALGO.
Each algonet is made out of algobot clones of the same master, meaning algobots implementing the same trading strategy, with minor variations in their genes. As a result, each algonet is expected to trade with a specific strategy.
With all this in mind, the job of an algonet is to administer the resources it gets either from its associated advanced algo or directly from the subscriber, and to find the best possible structure of algobots to do the trading. As such, the logic behind an algonet is open for teams to develop further control and learning mechanisms.
An advanced algo is an algorithm with a financial life of its own but at the same time depends on other financial beings living within it.
Advanced algos function as the machine room of complex trading organisms, and their main activities are:
interfacing with subscribers, collecting ALGO for its services;
deploying algonet clones appropriate for the job according to the strategies each of them implement;
supplying algonets with ALGO for them to administer;
allocating algonets a specific percentage of the available trading capital;
monitoring the performance of algonets and eventually deciding which ones to keep and which ones to let die by continuing or suspending the supply of ALGO respectively.
When trading organisms work on behalf of subscribers, assets never leave subscribers' accounts in the corresponding exchanges, thus, access of financial beings can be restricted at any point in time and the security of assets remains within the exchanges' control. The platform keeps track of bot's activities allowing 100% transparency and accuracy in trading reports and metrics.
In order to grant the platform access to the account at the exchange, subscribers are required to generate an API key at the exchange and provide it to the platform. The API key should block withdrawals and only allow trading operations.
While subscribers are free to provide access to the same account they use to perform manual trading, they may find convenient and deem safer to create a new account.
This helps isolate the trading performed by the hired entity from everything else the subscriber may do at that particular exchange.
Either way, at the time of subscribing and configuring their worker, subscribers may define how much capital they wish to trade and a number of other parameters.
Worth mentioning is the fact that it is the platform who handles API keys, and not the trading entities nor teams.
When participating in trading competitions, trading organisms trade with team's assets on teams' accounts in the corresponding exchanges.
They produce graphic representations of datasets produced by other financial beings, offering a visual tool made available in the charts timeline of the web applications used to follow financial beings activities.
Their products are consumed by humans who can select which visualization tools to use while browsing the applications through their browsers.