This library contains Cybotrade's core runtime, integrations with Exchanges API, historical and live market data collector and wrap them into a simple, easy-to-use Python SDK.
Project description
Cybotrade
This is the Client SDK for building automated trading strategies on Cybotrade. This library provides the core runtime, integration with Exchanges API, historical and live market data collector and wrap them into a simple, easy-to-use and easy-to-learn Python SDK as a foundation users' strategies.
Documentation
The documentation for the Cybotrade SDK can be found here.
Installation
pip install cybotrade
Usage
The following example shows how to create a simple strategy that buys 0.01 BTC when the price goes up and sells 0.01 BTC when the price goes down.
For a more advanced usage, please refer to the documentation.
from cybotrade.strategy import Strategy as BaseStrategy
from cybotrade.models import (
OrderParams,
OrderSide,
RuntimeMode,
RuntimeConfig,
Exchange,
)
from datetime import datetime, timedelta, timezone
import asyncio
class Strategy(BaseStrategy):
async def on_candle_closed(self, strategy, topic, symbol, data_map):
# Get the currently closed candles
candles = data_map[topic]
if candles[-1].close > candles[-2].close:
# Buy 0.01 BTC
await strategy.open(
side=OrderSide.Buy,
take_profit=None,
stop_loss=None,
quantity=0.01,
limit=None
)
else:
# Sell 0.01 BTC
await strategy.open(
side=OrderSide.Sell,
take_profit=None,
stop_loss=None,
quantity=0.01,
limit=None
)
async def main():
runtime = await Runtime.connect(
RuntimeConfig(
mode=RuntimeMode.Backtest,
exchange=Exchange.BybitLinear,
datasource_topics=[],
candle_topics=["candles-1h-BTC/USDT-bybit"],
start_time=datetime.now(timezone.utc) - timedelta(minutes=10000),
end_time=datetime.now(timezone.utc),
api_key="YOUR_CYBOTRADE_API_KEY",
api_secret="YOUR_CYBOTRAD_API_SECRET",
data_count=100
),
Strategy(),
)
await runtime.start()
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file cybotrade-1.4.28a6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: cybotrade-1.4.28a6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 102.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.5.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18cb09a19fb8283d3f4d7e765d5999904da59310faedd6c94077266d52f97bcd |
|
MD5 | 99e986eba8343734a7e972b670513eca |
|
BLAKE2b-256 | 344be4c45e14817c8dd3db3899dc1a960124b08eed7d39090e8ff410f99b4420 |