project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Smart Portfolios

A dApp that manages a crypto portfolio, like an ETF in the web3 context, offering: Expected returns Risk reduction Diversification benefits, it rebalances itself daily by a ML model

Smart Portfolios

Created At

ETHOnline 2024

Project Description

πŸš€ Smart Portfolios

Problem: Traditional investors find the cryptocurrency market highly volatile and complex to manage without prior experience in on-chain tools.

Solution: A decentralized platform offering tokenized investment products in crypto assets, managed automatically and transparently through a DAO.


Example:

Our MVP lets you invest in a portfolio of ETH + WBTC, rebalanced daily to maintain an optimal ratio. We outperform S&P's CryptoIndex! πŸš€


Key Features:

🎯 Defined Strategies

Each product aligns with a specific investment thesis, offering options for different risk profiles and objectives.

πŸ›‘οΈ Risk Management

Optimized for financial metrics such as Value at Risk (VaR) or Expected Shortfall (ES), protecting investors' capital.

βš™οΈ Automation

Operates with minimal human intervention, reducing costs and errors.

πŸ€– Smart Rebalancing

Uses Machine Learning (ML) algorithms based on on-chain data to adjust the portfolio and maximize returns.

πŸ” Transparency

Fully auditable on the blockchain, providing trust and security to investors.


Value Proposition:

πŸ§‘β€πŸ’» Ease of Use

Simplified access to sophisticated investment strategies.

πŸ’° Profitability

Optimized performance adjusted to risk.

πŸ”’ Transparency

Total visibility and control over investments.

πŸ›‘οΈ Security

Capital protection through risk management and blockchain technology.

How it's Made

🏦 Decentralized Crypto Investment Platform

A decentralized platform that automates the management of crypto investment portfolios. It leverages a combination of machine learning, Python scripting, and web3 oracles to achieve this. Users can propose parameters for new funds, and then ML + data take over the management.


βš™οΈ Core Components and Functionality:

🧠 Machine Learning Model

A core component of the platform, this model analyzes on-chain data and market trends to generate investment signals.

  • The model type (e.g., regression, classification, reinforcement learning) can be tailored to each investment strategy.
  • For our MVP, we use a reinforcement learning model trained on thousands of data points.
  • Model parameters can be adjusted and optimized based on backtesting and real-time performance data. Example parameters include fund duration, assets to hold, rebalancing frequency, etc.

🐍 Python Scripting

  • Python scripts are used to provide the real-time optimal portfolio composition, using live data generated by the ML model.
  • These scripts handle dynamic changes to the portfolio as new data comes in.

πŸ”— Core Smart Contracts

  • Fetch real-time market data from web3 oracles.
  • Interact with open-market smart contracts (e.g., Uniswap) to execute trades and rebalance portfolios.
  • Calculate portfolio risk metrics and performance indicators.
  • Voting on new fund proposals via smart contracts.
  • Generate logs and reports for users, storing them on Tableland to simplify auditing.

πŸ›°οΈ Web3 Oracles

  • Using Chainlink custom oracles, we ensure that the ML model receives accurate, untampered data.
  • Oracles act as a bridge between the blockchain and external data sources, providing real-time market data critical for generating investment signals.
  • The platform integrates with multiple oracles to ensure data redundancy and reliability.

πŸ”„ Portfolio Rebalancing

  • The platform automatically rebalances portfolios based on the signals generated by the ML model.
  • Ensures that the portfolio remains aligned with the chosen investment strategy and risk tolerance.
  • Rebalancing can be triggered at regular intervals or in response to specific market events.

πŸ—ƒοΈ Tableland Integration

  • A writeToTableland function handles writing data to your specific Tableland table.
  • In the main POST function, after receiving the prediction from the Flask API, writeToTableland stores the data in Tableland.
  • After successful storage, we generate a hash and update the MLPredictionOracle contract.
  • A verify function is deployed on-chain to verify the current fund state with the data stored in Tableland.
background image mobile

Join the mailing list

Get the latest news and updates