Basic Concepts

Let's discuss the main concepts used in Fractal:

  • Entities: These represent a scope of DeFi primitives with behavior replicated in Python. For example, Uniswap V2-like LP, GMX V2 or Lending primitives such as Aave, Compound, etc. Each entity has global (market) states like prices, yield rates, and an internal state like balances, opened positions, and LP positions. Any developer can create their own entities using our entity interfaces.

  • Actions: Each entity has a set of actions that represent DeFi user transactions such as buy, sell, deposit, or withdraw. Essentially, each action is an entity class method that changes the entity's internal state.

  • Strategies: A strategy is a central object for R&D. Each strategy is a class object that has a set of registered entities and can manipulate them to create policy based on observations. Therefore, a strategy will predict a list of actions to execute at each observation step.

  • Loaders: Our package provides a list of ad-hoc ETLs to load market data for popular DeFi protocols and other market data, enabling quick construction of observations for strategy execution.

  • Pipelines: The Fractal engine includes a variety of backtesting and simulation pipelines for strategy optimization. These include scenario testing, Monte Carlo simulations, and more.

Last updated