
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
Demo
About
# 🚀 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.