Skip to content

Commit

Permalink
Add ignored_symbols param to run_detection
Browse files Browse the repository at this point in the history
  • Loading branch information
Herklos committed Jan 8, 2024
1 parent 213c515 commit 774940b
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 8 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.2] - 2024-01-08
### Added
- `ignored_symbols` param to `run_detection`

## [1.0.1] - 2023-10-18
### Fixed
- Added MANIFEST.in to fix PYPI installation
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<img src="illustration.jpeg" width="250px" height="250px" alt="Triangular illustration">
</p>

# Triangular Arbitrage by OctoBot [1.0.1](https://github.com/Drakkar-Software/Triangular-Arbitrage/blob/master/CHANGELOG.md)
# Triangular Arbitrage by OctoBot [1.0.2](https://github.com/Drakkar-Software/Triangular-Arbitrage/blob/master/CHANGELOG.md)
[![PyPI](https://img.shields.io/pypi/v/OctoBot-Triangular-Arbitrage.svg)](https://pypi.python.org/pypi/OctoBot-Triangular-Arbitrage/)
[![Dockerhub](https://img.shields.io/docker/pulls/drakkarsoftware/octobot-triangular-arbitrage.svg?logo=docker)](https://hub.docker.com/r/drakkarsoftware/octobot-triangular-arbitrage)

Expand Down
2 changes: 1 addition & 1 deletion triangular_arbitrage/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
PROJECT_NAME = "OctoBot-Triangular-Arbitrage"
VERSION = "1.0.1"
VERSION = "1.0.2"
14 changes: 8 additions & 6 deletions triangular_arbitrage/detector.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@ def is_delisted_symbols(exchange_time, ticker, threshold = 1 * constants.DAYS_TO
ticker_time = ticker['timestamp']
return not (exchange_time - ticker_time <= threshold)

def get_last_prices(exchange_time, tickers):
def get_last_prices(exchange_time, tickers, ignored_symbols):
return [
ShortTicker(symbol=get_symbol_from_key(key),
last_price=tickers[key]['close'])
for key, _ in tickers.items()
if tickers[key]['close'] is not None and not is_delisted_symbols(exchange_time, tickers[key])
if tickers[key]['close'] is not None
and not is_delisted_symbols(exchange_time, tickers[key])
and str(get_symbol_from_key(key)) not in ignored_symbols
]

def get_best_opportunity(tickers: List[ShortTicker]) -> Tuple[List[ShortTicker], float]:
Expand Down Expand Up @@ -101,12 +103,12 @@ async def get_exchange_data(exchange_name):
await exchange.close()
return tickers, exchange_time

async def get_exchange_last_prices(exchange_name):
async def get_exchange_last_prices(exchange_name, ignored_symbols):
tickers, exchange_time = await get_exchange_data(exchange_name)
last_prices = get_last_prices(exchange_time, tickers)
last_prices = get_last_prices(exchange_time, tickers, ignored_symbols)
return last_prices

async def run_detection(exchange_name):
last_prices = await get_exchange_last_prices(exchange_name)
async def run_detection(exchange_name, ignored_symbols=[]):
last_prices = await get_exchange_last_prices(exchange_name, ignored_symbols)
best_opportunity, best_profit = get_best_opportunity(last_prices)
return best_opportunity, best_profit

0 comments on commit 774940b

Please sign in to comment.