Borsa-agnostik, bağımsız bir TWAP (Time-Weighted Average Price) emir dağıtım motoru. ccxt destekli her borsada çalışır.
Project description
TWAP Engine (Standalone)
Borsa-agnostik, bağımsız bir Time-Weighted Average Price (TWAP) emir dağıtım motoru. Herhangi bir ccxt destekli borsada (Binance, Bybit, Kraken, vb.) çalışır. Hiçbir belirli projeye ya da altyapıya bağımlı değildir.
Özellikler
- Büyük bir emri N eşit parçaya bölüp zaman aralığına yayar
- Slippage-abort: fiyat referans noktasından belirli bir yüzdeden fazla kayarsa kalan dilimleri otomatik iptal eder
- Minimum notional koruması: borsanın minimum emir tutarının altında kalacak dilimleri, hiç başlamadan reddeder
Bu, temel (ücretsiz) sürümdür — mekanik TWAP dağıtımı ve temel güvenlik kontrollerini içerir. Eklenebilir/özel risk zekası (RSI, order book analizi, haber akışı gibi harici sinyallere göre otomatik karar veren katman) ayrı bir gelişmiş sürümün konusudur.
Kurulum
pip install twap-engine
Kaynak koddan kurmak isterseniz:
git clone <bu-repo>
cd twap_engine_standalone
pip install -e .
Hızlı Başlangıç
import asyncio
import ccxt.async_support as ccxt
from twap_engine import TWAPEngine
async def main():
exchange = ccxt.binance({
"apiKey": "...",
"secret": "...",
"enableRateLimit": True,
})
exchange.set_sandbox_mode(True) # ÖNCE TESTNET'TE DENEYİN
engine = TWAPEngine(
exchange=exchange,
symbol="BTC/USDT",
side="buy",
total_amount=0.01,
slices=5,
interval_s=2.0,
max_slippage_pct=0.003, # %0.3
min_notional_usd=10.0,
order_type="market",
)
result = await engine.run()
print(result.status, result.slices_sent, "/", result.slices_requested)
await exchange.close()
asyncio.run(main())
Daha fazla örnek için example.py dosyasına bakın.
Sonuç Nesnesi (TWAPResult)
| Alan | Açıklama |
|---|---|
status |
COMPLETED, ABORTED_SLIPPAGE, REJECTED_MIN_NOTIONAL, PARTIAL_ERROR |
slices_sent / slices_requested |
Kaç dilim gönderildi / istendi |
filled_amount |
Gönderilen toplam miktar (base asset) |
aborted_reason |
İptal/red nedeni (varsa) |
orders |
Borsadan dönen ham emir yanıtları |
errors |
Dilim bazında yakalanan hatalar |
Testler
Gerçek borsaya bağlanmayan, sahte (fake) exchange ile çalışan hafif testler:
python test_engine.py
Sınırlamalar / Sorumluluk Reddi
- Bu yazılım "OLDUĞU GİBİ" (AS-IS) sunulmaktadır, HİÇBİR GARANTİ VERİLMEZ.
- Finansal kayıplardan yazar sorumlu değildir. Gerçek parayla kullanmadan önce mutlaka testnet/sandbox ortamında test edin.
- Bu motor emir GÖNDERMEYİ yönetir; risk yönetimi, pozisyon takibi, kasa muhasebesi gibi konular KAPSAM DIŞIDIR — kendi sisteminize entegre ederken bunları siz eklemelisiniz.
- Yalnızca "spot" tarzı basit emirler için tasarlanmıştır; kaldıraçlı/vadeli işlemler için ek risk kontrolleri (likidasyon, marj) GEREKLİDİR ve bu pakette YOKTUR.
- Ticari kullanım/satış öncesi kendi lisans metninizi (MIT, ticari lisans vb.) ve yasal sorumluluk reddi maddelerinizi eklemeniz önerilir — bu paket bir lisans dosyası içermez.
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file twap_engine-0.1.0.tar.gz.
File metadata
- Download URL: twap_engine-0.1.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57fda91233c75a4198b6d0bef4b173405e289f5895935a20ed7ed09841ecacee
|
|
| MD5 |
8b0714af44294c0aa5f6806e087234c9
|
|
| BLAKE2b-256 |
171e5365b716815be65d4dfb8afa4ab7c1fab9cdd414bc36ddb72f6a8048bfe5
|
File details
Details for the file twap_engine-0.1.0-py3-none-any.whl.
File metadata
- Download URL: twap_engine-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
249e9ac4e425a6af0192b2f330e5d8a8835094f7561cb53741c82266f4bce937
|
|
| MD5 |
c5a2dac34f01d495cdac1b52bded9d5f
|
|
| BLAKE2b-256 |
db454f5c3d9fe1b7b3baaf0d53f12215649bcfa69cec0d7544183d7d2641ff4e
|