Skip to content

Driztek/Maybe-Finance-Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Maybe-Logo

Discord Shield Open in Dev Containers Open In Colab PyPI

Why Maybe Plugins?

Maybe Plugins let you build once, use anywhere across backtests, paper trading, and live markets.

imagde

They are:

  • πŸ”Œ Modular & reusable components
  • πŸ“¦ Environment-agnostic (backtest, sandbox, live)
  • 🧩 Easy to plug into any strategy or workflow
  • 🌐 Exchange-agnostic with unified interfaces

Create, share, or combine plugins for indicators, strategies, risk controls, and more β€” all while keeping your code clean and scalable.

What Can I Do with Maybe?

Maybe offers a modular, open-source payments infrastructure designed for flexibility and control. Apart from our Payment Suite offering, this solution allows businesses to pick and integrate only the modules they need on top of their existing payment stack β€” without unnecessary complexity or vendor lock-in.

Each module is independent and purpose-built to optimize different aspects of payment processing.

Trade Stocks, Crypto, Futures, and Forex

import Maybe
"""
This example shows how backtest over tweets
"""

class TwitterBot(Maybe.Model):
    def main(self, args):
        while self.has_data:
            self.backtester.value_account()
            self.sleep('1h')

    def event(self, type_: str, data: str):
        # Now check if it's a tweet about Tesla
        if 'tsla' in data.lower() or 'gme' in data.lower():
            # Buy, sell or evaluate your portfolio
            pass


if __name__ == "__main__":
    exchange = Maybe.Alpaca()
    model = TwitterBot(exchange)

    # Add the tweets json here
    model.backtester.add_custom_events(Maybe.data.JsonEventReader('./tweets.json'))
    # Now add some underlying prices at 1 month
    model.backtester.add_prices('TSLA', '1h', start_date='3/20/22', stop_date='4/15/22')

    # Backtest or run live
    print(model.backtest(args=None, initial_values={'USD': 10000}))

πŸ› οΈ Installation

Follow the steps below to install and run this project on your local machine.

1. πŸ“¦ Prerequisites

Make sure you have the following tools installed on your system:

  • Node.js (v14.x or newer)
  • npm (comes with Node.js)
  • Git
  • Python 3.x (optional, if any indicators or tools require it)

You can also use Docker to run the project in an isolated environment.

3. πŸ“¦ Install Dependencies

Install the required npm packages:

npm install

If the plugin uses Python-based tools or indicators, install the Python dependencies as well:

pip install -r requirements.txt

4. πŸ” Set Up Exchange API Keys

To allow the plugin to interact with cryptocurrency exchanges, set up your API credentials.

Create a .env file in the root directory and add your exchange keys:

EXCHANGE_API_KEY=your_api_key_here
EXCHANGE_SECRET_KEY=your_secret_key_here

Make sure not to commit this file to version control. It should remain private.


5. βš™οΈ Configure the Plugin

Each plugin comes with a configuration file. For example:

# config/rsi-config.yaml
strategy:
  rsi_period: 14
  overbought_threshold: 70
  oversold_threshold: 30
  symbol: BTC/USDT
  interval: "1h"

You can modify these values based on your trading preferences.


6. ▢️ Run the Plugin

Once everything is set up, start the plugin:

npm start -- --plugin rsi --config config/rsi-config.yaml

Or, if you're using a custom script:

node index.js --plugin rsi --config config/rsi-config.yaml

7. 🐳 Optional: Run with Docker

Build and run the plugin using Docker:

docker build -t Maybe-rsi-plugin .
docker run -it --env-file .env Maybe-rsi-plugin
erDiagram
    PLUGIN {
        string id
        string name
        string type
    }

    PLUGIN ||--o{ STRATEGY : implements
    STRATEGY ||--o{ INDICATOR : uses
    STRATEGY ||--o{ EXECUTOR : runs
    EXECUTOR ||--o{ MARKET_INTERFACE : interacts
    MARKET_INTERFACE }|--o{ EXCHANGE : connects
    PLUGIN ||--o{ CONFIGURATION : requires
    PLUGIN ||--o{ LOGGING : logs
Loading

Preview

snake

Contributors

wouldn't be without you. If we are going to disrupt financial industry, every contribution counts. Thank you for being part of this journey.