Skip to main content

Glossary

Agent

Abstractly, an agent is an autonomous entity that acts (and interacts) within a complex system in a computational simulation.

Agent Library

A library of Agents that can be used inside of a simulation. This includes any ML models and other forms of agent policy, properties and init- and tear-down functions.

Agent Strategy

A strategy encapsulates the behavior of an agent. It instantiates the logic or algorithm that dictates the agent’s actions (or “decisions”). For example, a trader agent can execute trades on a DEX according to a simple rule– the logic of that trading rule is the strategy. A strategy can employ a model (or multiple models) to inform its actions. A model, for example, can be a statistical, mathematical, computational, or machine learning model. A prediction from a model can be used in the strategy, but the decision rule and the execution of the action are contained in the strategy itself. In this way, strategies and models are independent and modular (i.e. a different model could be swapped out in service of the same strategy, and vice versa).

Data API

Interface that exposes all available data that can be used for training Agents.

Feature Registry

Library containing all features ever created on the Data API. Features can be used to train agents (if using an AI model). Features are provided to simulations as inputs to agents for its decision making.

Model

A model refers to a quantitative method, system, or approach that applies statistical, economic, financial, or mathematical theories, techniques, and assumptions to process input data into quantitative estimates.

Optimization

An optimization is an automated way to run multiple simulation runs to determine an optimal set given an user-defined reward function. A reward function is given or user-defined combination of output metrics which defines better or worse solutions in the optimization process. Within the optimization process, the goal is to either maximize/minimize the objective function based on set constraints.

Post Simulation Optimization

Currently, only post-simulation optimizations via Montecarlo and Metrics are available.

You can define a montecarlo design including parameters you want to vary (i.e. optimize for), define metrics of interest and then analyze them post-simulation to determine which parameter value(s) work best.

Price Simulation

A price simulation creates examples of possible prices that assets may be at over a time period.

It is a core component of a simulation, as it serves as the vehicle for the state space at each time step and the subsequent actions that agents in the environment take by providing asset prices defined by the user.

Price Trajectory(ies)

A price trajectory is a singular time-series generated by the price simulator to represent a realistic price evolution over a specific period of time.

Market Scenario (scenario)

A market scenario is a user-selected simulation environment that exhibits a collection of price trajectories generated from the price simulator with a set of shared parameters (i.e. the market is in an up-trend).

Simulator

The software which is able to take a Scenario Template and parameters, and play out (or simulate) the Scenario.

Simulation

An instance of a run-through of a Scenario. Executed by the Simulator.

Simulation Environment

An environment reflects the underlying protocol(s) & potential off-chain entities such as centralized exchanges used in a simulation to observe the changes of agent actions on its state.

Simulation Results API

API that allows users to retrieve Simulation results. Includes, but not limited to, Logs and Metrics.

Simulation Runs

One use of the Almanak platform can have many simulation runs “under-the-hood”. Each simulation run is completely independent from another simulation run (and so each simulation run can be run in parallel). Each simulation run can be thought of as a “sample” from the distribution of different possible universes (where each universe is a different price trajectory, fixed number of agents, etc) for the statistically inclined.

State Machine

The best example of a state machine is the EVM (ETH 1), aka the execution layer of the Ethereum network. Another example can be Cosmos, but how exactly this will work is yet to be defined.

Strategy Library

A library of strategies that can be used used by agents within a simulation environment. All strategies within the library are associated with a primitive & a protocol for users to identify pot. overlaps with their own ideas & develop new strategies on top. Strategies can be uploaded & updated through the Strategy Library, which additionally hosts all metadata about the respective content.

Wallet

There is a twofold definition of a wallet in the context of a simulation.

One represents the executable of an user in the environment and is the respective wallet on-chain. An agent has a respective wallet associated (and acts on its behalf) and interacts with its content with protocols or other users.

Note that a wallet also represents a dedicated code block/wrapper, tracking the off-chain changes of the actions of the user within the simulation, which does not necessarily represent the state on-chain.

Wallet Initialization

At the start of each simulation run, each agent is auto-impersonated. This means that, by default, the on-chain state values/balances of the address associated with that agent contains the exact numerical values at the block height that the blockchain is forked from.