What is The hype∑ngine?The hype∑ngine is tool for crypto-currency markets aiming to help with users trading activities. It features programmatic, config based and on-the-fly strategies, data and opportunity analyzers.
Documentation===============
You can check the latest version of the documentation
Handbook here;
http://brain-book.readthedocs.ioWhy?====
As trading hundreds of cryptocoins in tens of markets could be really hard for users,
The hype∑ngine aims to help with decision taking by presenting the user best possible summarized information.
How?====
The hype∑ngine consists of multiple parts for use; The UI and Engine.
The engine is responsible for running everything behind the curtain including reading & analyzing market data and processing it with opportunity analyzers & strategies.
Here is a very short video showing it in action;
Current Features================
- Tens of ready to use exchanges.
- Fiat rate conversion support.
- Configuration based, programmatic and on-the-fly strategies
- Data & opportunity analyzers
- Detailed strategy execution logs.
- Exchange fee calculation support.
- Time to execute strategy - calculates the total time needed for coin transfers.
Market Data============
The hype∑ngine can read market data from hundres of possible cryptocoin exchanges. Yet again users can also develop their own market data reader programmatically and
The hype∑ngine will be then executing it.
Yet again,
The hype∑ngine can read from fiat conversion API's available through the web to execute cross-fiat conversions.
Data Analyzers===============
Once the market data from all available sources are read,
The engine will then will start executing the available data-analyzer modules.
A
data analyzer is a basic module that can read, process and finally manipulate the data from markets.
As an example
MergedMarketsForPairs data analyzer merges all currency pairs within the market data and will then find each market with best ask & bid prices.
Opportunity Analyzers======================
Once data analyzers are all processed,
The engine will move on executing
opportunity analyzers.
An
opportunity analyzers is a basically another type of module that has access to results from
data analyzers.
They can basically take the results and check for any outstanding
opportunities for the current market state.
As an example, a simple
opportunity analyzer can read from the previous
MergedMarketsForPairs data analyzer's results and calculate if any outstanding opportunities stand for available currency pairs, in which our case buying from the lowest ask market and selling it back in highest bid market would be one.
As well as presenting the user percentage profit, the
opportunity analyzer can then create a
on-the-fly strategy which will be then later executed and calculate the exact outcome.
Strategies===========
Strategies are basically executed by The engine to calculated expected outcome & profit for a given set of actions. The engine can run 3 kind of strategies;
- Configuration based strategies
- Programmatic strategies
- On-the-fly strategies.
Configuration based
=====================
Configuration based strategies are simple YAML markup based strategies. Although it has a pretty basic syntax, it can easly handle the most basic tasks for creating simple strategies.
name: TR markets - BTC
description: BTC strategy for Turkish markets
region: TR
author: Bonesoul
version: 1.0
enabled: true
defaults:
input: &input 1000 USD# default input amount
variants:
- name: Koinim > Paribu
description: Buy BTC [Koinim] > Sell BTC [Paribu]
exec:
- cashin: # Cash in USD to Koinim.
- market: Koinim
- amount: *input
- buy: BTC # Buy BTC using USD
- transfer: Paribu # Transfer Btc to Paribu.
- sell: TRY # Sell BTC for USD.
- cashout: # Cash out USD.
The above strategy will basically execute these actions;
- The above strategy will basically cash in 1000 USD to Bitcoin exchange called Koinim.
- Will buy Bitcoin with all it's fiat.
- Transfer Bitcoins to another exchange called Paribu
- Will sell all the BTC
- Will cash out from the market
Programmatic==============
Programmatic strategies are custom developed strategies by the user with
C# or any other
.Net based language. They are far more powered compared to
Configuration based strategies as the user will be able to develop virtually every possible trading & arbitrage strategy.
As an example, the code below executes the same above strategy;
using System;
using System.Collections.Generic;
using LibBrain.Finance.Currencies;
using LibBrain.Finance.Generic;
using LibBrain.Strategies.Programmatic;
using LibBrain.Strategies.Variants;
using LibBrain.Strategies.Variants.Programmatic;
namespace TheBrain.Strategies
{
[Serializable]
public class Strategy : IProgrammaticStrategy
{
public string Name { get; }
public string Author { get; }
public List<IVariant> Variants { get; }
readonly FiatCurrency _usd = new FiatCurrency("USD");
readonly CoinCurrency _btc = new CoinCurrency("BTC");
public Strategy2()
{
Name = "TR markets - BTC";
Author = "Bonesoul";
Variants = new List<IVariant>();
}
public void Load()
{
var variant = new ProgrammaticVariant(this, "Koinim -> Paribu");
variant1.Execute = new Action(() =>
{
variant.CashIn("Koinim", new Amount(_usd, 1000));
variant.Buy(_btc);
variant.Transfer("Paribu");
variant.Sell(_usd);
variant.CashOut();
});
Variants.Add(variant);
}
}
}
Yet again it will execute the same actions as above configuration based strategy.
On-the-fly==========
On-the-fly strategies are strategies that are not created by the user but
The engine itself based on current market oppurtunities.
Once the market data is read and processed by
data analyzers, a
oppurtunity analyzer that can evaluate possible profit opportunities within the markets and if so, it can dynamically create a suitable
on-the-fly strategy for it.
The basic workflow for
On-the-fly strategies is;
- The hype∑ngine will read data from markets.
- Available data analyzers will be executed where they will process the market data.
- Opportunity analyzers will be evaluating the outcome from data analyzers. Once an opportunity is found, it'll present the user percentage profit and create a on-the-fly strategy utilizing it to exactly calculate the expected outcome.
Planned Features=============
- Visual strategy designer.
- Strategy discovery engine.
- Trade volume support.
Supported exchanges==================
- Bitfinex
- Lykke
- Btcturk
- Paribu
- Koinim
- .. even more..
MoreThe software is still in development but we would like to see the feedback of the community.