All Projects → after-the-sunrise → cryptowelder

after-the-sunrise / cryptowelder

Licence: AGPL-3.0 license
(deprecated) Cryptocurrency trade monitoring/visualization tool with time-series data.

Programming Languages

python
139335 projects - #7 most used programming language
PLpgSQL
1095 projects
shell
77523 projects

Projects that are alternatives of or similar to cryptowelder

Option-Trading-Backend
Option trading platform on NSE (India) for Upstox
Stars: ✭ 33 (+13.79%)
Mutual labels:  trading
catalyst
An Algorithmic Trading Library for Crypto-Assets in Python
Stars: ✭ 2,364 (+8051.72%)
Mutual labels:  trading
Benzaiboten-spot-trading-bot
A trading bot easy to use to be linked to your favorite exchange to automatize the trading on cryptocurrencies
Stars: ✭ 20 (-31.03%)
Mutual labels:  trading
camunda-prometheus-process-engine-plugin
Monitor your KPIs!!! Camunda BPM Process Engine Plugin providing Prometheus Monitoring, Metric classes for various BPMN use, Grafana Annotations, and HTTPServer data export: Used to generate Prometheus metrics anywhere in the Engine, including BPMN, CMN, and DMN engines and instances.
Stars: ✭ 48 (+65.52%)
Mutual labels:  grafana
solar-logger
A datalogger for a solar inverter. Stores data in influxdb and displays it in grafana. Has load diverting capability, to use the inverter's excess power
Stars: ✭ 53 (+82.76%)
Mutual labels:  grafana
docker-case
这个项目主要是为了快速拉起docker服务
Stars: ✭ 31 (+6.9%)
Mutual labels:  grafana
Prometheus
App Metrics Extensions for Prometheus reporting
Stars: ✭ 36 (+24.14%)
Mutual labels:  grafana
ninjabot
A fast trading bot platform for cryptocurrency in Go (Binance)
Stars: ✭ 1,021 (+3420.69%)
Mutual labels:  trading
gimlet-stack
Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops.
Stars: ✭ 12 (-58.62%)
Mutual labels:  grafana
Bybit-Auto-Trading-Bot-Ordes-placed-via-TradingView-Webhook
Python based Trading Bot that uses TradingView.com webhook JSON alerts to place orders(buy/sell/close/manage positions/TP/SL/TS etc.) on Bybit.com. Hire me directly here https://www.freelancer.com/u/Beannsofts for any assistance
Stars: ✭ 235 (+710.34%)
Mutual labels:  trading
policy-reporter
Monitoring and Observability Tool for the PolicyReport CRD with an optional UI.
Stars: ✭ 140 (+382.76%)
Mutual labels:  grafana
crypto-trader
Cryptocurrency investing using Dollar Cost Averaging (not limited to dollar)
Stars: ✭ 47 (+62.07%)
Mutual labels:  trading
sarjitsu
dockerized setup for visualizing System Activity Report (SAR) data.
Stars: ✭ 20 (-31.03%)
Mutual labels:  grafana
futu algo
Futu Algorithmic Trading Solution (Python) 基於富途OpenAPI所開發量化交易程序
Stars: ✭ 143 (+393.1%)
Mutual labels:  trading
grafana-redistimeseries
This project is deprecated in favor of https://github.com/RedisTimeSeries/grafana-redis-datasource
Stars: ✭ 19 (-34.48%)
Mutual labels:  grafana
yesoreyeram-boomsummary-panel
Boom Summary Panel for Grafana
Stars: ✭ 14 (-51.72%)
Mutual labels:  grafana
BTB-manager-telegram
A feature packed but easy-to-use Telegram bot for remotely managing Binance Trade Bot instances
Stars: ✭ 337 (+1062.07%)
Mutual labels:  trading
robusta
Open source Kubernetes monitoring, troubleshooting, and automation platform
Stars: ✭ 772 (+2562.07%)
Mutual labels:  grafana
bamboo-prometheus-exporter
Prometheus Exporter For Bamboo
Stars: ✭ 18 (-37.93%)
Mutual labels:  grafana
grafana-stack
Tiny docker images for graphite, grafana and statsdly
Stars: ✭ 28 (-3.45%)
Mutual labels:  grafana

cryptowelder

Build Status Coverage Status

Overview

Cryptowelder is a cryptocurrency trade monitoring application, for visualizing time series data of market prices, account balances, positions, volumes, profits and losses (P/L).

Grafana Dashboard Screenshot

Feature Highlights

Time Series Data Visualization

Collect and display graphs/tables of various time series data.

  • Market Prices
  • Account Deposits and Collaterals
  • Margin Positions and Unrealized P/L
  • Daily/Monthly trading P/L
  • Last N-days Traded Volumes

Customizable Web UI & Notifications

Monitor trading activities from desktop and/or mobile through a standard web browser.

Displayed data are continuously updated in real-time as they are being collected. Time-frames of the displayed data can be specified on the fly, such as intra-day, last 24h, this week, last N days, or arbitrary time-points in the past from T1 to T2.

Visual components, such as graphs and tables, can be added with drag & drop from the web ui. Each components are assigned grids, allowing customized layouts and dashboards.

Custom alerts/notifications can be configured for each the visual components in the dashboards. (cf: "Slack me if this indicator X touches the threshold value Y.")

Multi-Currency, Multi-Exchange, Uniform Evaluation

Collect and store data from multiple exchanges, for multiple products and multiple currencies. All data sets can be displayed in an unified view, allowing cross-exchange and cross-product comparison and analysis.

Amounts denoted in various currency units (cf: JPY, USD, BTC, ETH, ...) are converted into a single home-currency unit (cf: JPY), with dynamically configurable evaluation policy of which currency to convert into, and which conversion rates to apply.

API Access

Direct access to the collected time series data with plain SQL (cf: JDBC, ODBC), without any special deserialization requirements.

Prometheus Client is built-in for quick access to the latest data sets in plain text over HTTP.

Grafana's HTTP API can also be used to interact with dashboards and alerts.

Getting Started

Mechanics

The application consists of the following components welded together:

  • Set of Python scripts for scraping time-series data via public/private APIs.
  • Relational database (PostgreSQL) for storing the time-series data.
  • Grafana for visualization and alerting of the time-series data.

Prerequisites

  • Linux machine with command line interface and direct internet access. Recommendation:
    • Cloud-hosted VM with SSH access. (cf: AWS, Azure, GCE)
    • Modern linux operating system. (cf: CentOS 7.x x64)
    • 2GB or more memory.
    • 50GB or more disk space, preferably SSD.
  • Python 3.x or later with pip. pyenv + pyenv-virtualenv are recommended.
  • PostgreSQL 10.x or later.
  • Grafana 5.x or later installation.
  • Access tokens from each of the exchanges for private API access.
  • Basic knowledge/experience of Linux to install the applications.
  • Basic knowledge/experience of Python and SQL to configure/customize the application.

Installation Steps

  1. Install and configure PostgreSQL database instance.
    1. Create database cryptowelder with UTC timezone.
    2. Execute the DDL and DML scripts.
    3. Create database user grafana and grant read-only access.
  2. Configure and launch the Python scripts.
    1. Install pip requirements. (pip install -r requirements.txt)
    2. Prepare local configuration file (~/.cryptowelder), containing access tokens and scraping policies for each venues.
    3. Launch the script (sh cryptowelder.sh) to start collecting and storing data into the database.
  3. Install and configure Grafana instance.
    1. Configure Grafana users and security policies. (localhost:3000)
    2. Setup up the datasource as cryptowelder. (Use grafana login.)
    3. Import the preconfigured dashboard template.

Secure Access

Typically, multiple layers of security policies are preconfigured by default, which blocks access to Grafana from public internet.

A quick workaround is to use SSH-tunneling.

ssh -L 3000:localhost:3000 cryptowelder@my-virtual-machine

In order to allow direct access from public internet without SSH-tunneling, below are some of the setups recommended for secure access.

  • Disable root login and password login over SSH, and enforce public-key authentication.
  • Configure firewall to accept inbound connections to Grafana's listen port, and bind Grafana's listen address from localhost to 0.0.0.0 (or to a specific network interface.)
  • Purchase a custom domain (cf: Google Domain), obtain SSL certificate (cf: Let’s Encrypt), and switch Grafana's access protocol from HTTP to HTTPS.

Note that this list is not comprehensive. Contact your system administrator if you are not familiar with server securities in general.

DISCLAIMER

Use at your own risk, following the LICENSE. Author has no plan to provide specific support for individual setups nor inquiries.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].