Skip to main content

Arbitrage utilities. Has functions that make it easy to work with arbitrage mathematics.

Project description

arbitragepy - the simple arbitrage calculations package

You can easily calculate arbitrage situation between 2 exchanges.

Doesn't use float in calculations, only Decimal from decimal python standard library package, which guarantees accurate calculations with high precision.

Installation

poetry add arbitragepy

or

pip install arbitragepy

Documentation

Quick Start

from decimal import Decimal

from arbitragepy import (
    arbitrage,
    SymbolInfo,
    OrderInfo,
    OrderPayload,
    ArbitragePayload,
    ArbitrageResult,
)


ask_payload = ArbitragePayload(
    symbol=SymbolInfo(quantity_increment=Decimal("0.01")),
    order=OrderInfo(price=Decimal("10.5"), quantity=Decimal("100.15")),
    balance=Decimal("200"),
    fee=Decimal("0.1")
)
bid_payload = ArbitragePayload(
    symbol=SymbolInfo(quantity_increment=Decimal("0.01")),
    order=OrderInfo(price=Decimal("11.5"), quantity=Decimal("50.3")),
    balance=Decimal("65"),
    fee=Decimal("0.1")
)

result = arbitrage(ask=ask_payload, bid=bid_payload)

assert result == ArbitrageResult(
    ask_order=OrderPayload(
        price=Decimal("10.5"),
        quantity=Decimal("19.02"),
        notional_value=Decimal("199.90971"),
        taken_fee=Decimal("0.19971"),
        fee_in_base_currency=False,
    ),
    bid_order=OrderPayload(
        price=Decimal("11.5"),
        quantity=Decimal("19.02"),
        notional_value=Decimal("218.51127"),
        taken_fee=Decimal("0.21873"),
        fee_in_base_currency=False,
    ),
    spread=Decimal("9.304980733552162123590695000"),
    profit=Decimal("18.60156"),
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arbitragepy-3.0.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arbitragepy-3.0.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file arbitragepy-3.0.0.tar.gz.

File metadata

  • Download URL: arbitragepy-3.0.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Darwin/23.1.0

File hashes

Hashes for arbitragepy-3.0.0.tar.gz
Algorithm Hash digest
SHA256 133baf68cfaf0b633cffc898a8cbab3348ca29f37f23a5670c3b96a8bb061f98
MD5 82d57934dc42c0322458bd30ea93c881
BLAKE2b-256 5d58a245198fc40cc1aaecb165eed6e506daeabb276b1cc0a6d62304dab5be25

See more details on using hashes here.

File details

Details for the file arbitragepy-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: arbitragepy-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Darwin/23.1.0

File hashes

Hashes for arbitragepy-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c66b867d302ab777626e388725b63da38d2caa8b688e0d6694fb313bf2b41b2
MD5 73f0cc5e0ca2b7fb425c0dea1ba7bbe0
BLAKE2b-256 c27e1cdf01067d6ed5522b5d7eab08c9da1294a4b57894e04138cd6cfdbc90dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page