Skip to content

techbureau/zaifbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZaifBot

📈 algorithmic trading bot for zaif exchange

Python version PyPI version License: MIT

ZaifBot is a Pythonic algorithmic trading library that run on Zaif Exchange.
It is developed by using Python 3.5.3 and tested in Python 3.4, 3.5, 3.6 and 3.7.

Features

  • Easy to use: Zaifbot is library for trading beginners, so designed simple.
  • Support all currency pairs dealt with Zaif Exchange
  • Technical indicators like SMA, EMA, Bollinger Bands, RSI, ADX
  • You don't have to prepare market data. Zaifbot internal get data from zaif API

To get started with Zaifbot take a look at the tutorial and the full documentation.
『ZaifBotドキュメント』

Note: ZaifBot is unofficial library of Tech Bureau, Inc. Please use it at your own risk.

Installation

instaling with pip

After activating an isolated Python environment, run

$ pip install zaifbot

currently supported platforms includes:

  • Linux 64-bits
  • OSX 64-bits
  • Windows 64-bits

Note: if you use OSX, we assume homebrew is installed.

Setup

After installing Zaifbot, run

$ install_ta_lib

TA-Lib is open-source library of technical analysis indicators that ZaifBot is depending on.
This command install TA-Lib in your operating system.

then,

$ init_database

When init_database command is executed,
db/zaifbot.db is created for SQLite and schema is migrated.
Your Trade records will be saved in this file.

Quick Start

See our getting started tutorial

The following code implements a simple trading algorithm using zaifbot

from zaifbot.trade import Strategy
from zaifbot.rules import Entry, Exit
from zaifbot.config import set_keys
from zaifbot.trade.tools import last_price

# setting your Zaif API key
set_keys(key='your_key', secret='your_secret')


# creating rule to buy
class BuyWhenCheap(Entry):
    def can_entry(self):
        if last_price(self.currency_pair.name) < 25000:
            return True
        return False

# creating rule to exit
class ExitWhenPriceGoUp(Exit):
    def can_exit(self, trade):
        # 'trade' has the entry information
        current_price = last_price(trade.currency_pair.name)
        if current_price > trade.entry_price + 5000:
            return True
        return False

my_entry = BuyWhenCheap(currency_pair='btc_jpy',
                        amount=0.01,
                        action='bid')
my_exit = ExitWhenPriceGoUp()

# strategy is an unite of automated trading
my_strategy = Strategy(entry_rule=my_entry,
                       exit_rule=my_exit)

my_strategy.start(sec_wait=1)

Feedback

If you have a question, or find a bug, feel free to open an issue.

Contributing

Any kind of contributions are welcome.
Please contribute by following the steps below.

  1. Fork and clone this repository to your computer
  2. Run docker build -t zaifbot . to create development environment
  3. Edit source code and make pull request to depelop branch

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages