Ismerkedés a Bittrex API-val [Python]

Bár kétségtelenül epic jó a kraken api-ja, ellenben a kraken konzervativitása a támogatott coin párok kapcsán már koránts sem tekinthető elégségesnek. Ennek okán elkezdtem kalandozásom a Bittrex API-jával. Api dokumentációt itt találjátok: -link-. Az általam használt python library-t pedig itt: -link-

Ez a cikk a korábban már elkezdett “CryptoCulture: A programozási mint alap nyelvtudás” cikksorozat folytatása. Ezúttal a post végén már egy automata limitáras vásárló robot szerűséget is bemutatok.

Nezzünk egyből az elején egy nagyon egyszerű példát:

#!/usr/bin/python3
import json
from bittrex.bittrex import Bittrex

sf = open("secrets.json")
secrets = json.load(sf)
sf.close()
bt = Bittrex(secrets['key'], secrets['secret'])

actual = bt.get_balance('BTC')
print(actual)

A kód futtatásához létre kell hozni egy secrets.json file-t, amibe be kell rakni az API és secret key-t. Ezt követően a program máris visszaadja az elvárt outputot: “{‘message’: ”, ‘success’: True, ‘result’: {‘CryptoAddress’: None, ‘Currency’: ‘BTC’, ‘Balance’: X.X, ‘Available’: X.X, ‘Pending’: 0.0}}

A get_balance(‘XXX’) helyett a get_balances api call ugyanezen struktúrában visszaadja az összes valaha bírtokolt coin egyenlegét, tehát itt az eredményben fogod látni a nullás egyenlegű tételeket is, amikből valaha rendelkeztél akár egy minimális mennyiséggel.

Folytatás…

A kihagyhatatlan lehetőség…

A mai nap a – közösségi alapon szerveződő – kínai F2Pool is lehetővé tette a minerei számára a Bitcoin Cash bányászatot. Ezzel alig egy óra alatt már ki is termelt 9 BCH blokkot, amivel máris bírtokolja a Bitcoin Cash hashing power 11%-át. Felhívnám a figyelmet a F2Pool koncepciójára, amit Wang Chun az F2Pool ‘arca’ tett közzé: “Ahogy a BCH elsötétítette a BTC-t, mi is átállítjuk folyamatosan a pooljainkat az új altcoinra. A bányászaink viszont továbbra is BTC-ben kapják a jutalmukat, csak ugye sokkal többet kapnak

Tehát gyakorlatilag nem adják ki a kitermelt BCH coinbaseket a minereknek, hanem azokat megtartják maguknak/eladják, helyette a minerek azt az egyre jobban értékét vesztő bitcoint kapják meg, amit korábban az F2Pool felhalmozott, melyeket (ha a predikciók egy fabatkát is ér…) őrült tempóban fognak eladni. Az F2Pool ezzel újabb szintre emeli a kapzsiságot és a árulást, gyakorlatilag direktben asszisztál egy jelentősebb BCH pumpához azáltal, hogy a lehetséges flippeningen nyerészkedni akaró bányászait egy BCHBTC ügyletre kényszeríti. Make sense? Nem tudom… De logika van benne az biztos.

Az F2Pool lépésével perpillanat már 4,8 Exahashre csökkent a bitcoin (legacy) lánc hashing powere, míg a BCH 2,9 eH-ig mászott fel. Ezzel a BCH láncon óránként már 43 block készül, míg a BTC láncon alig három. A BTC mempoolja az esti hátralék ledolgozás után így kora reggel már újra 50.000 függőben lévő tranzakciónál tart, így a legolcsóbb sáv amiben lehet ‘gyorsan’ küldeni BTC-t újra a 300-350 sat/B tranzakciós költség. A profitabilitás tegnap 60% körülig esett, azonban az éjszakai bitcoin árfolyam csökkenés hatására újra 100%-ot meghaladó extra haszon mellett lehet bányászni a Bitcoin Cash láncot.

A középkörban az égi jeleknek nagy változások előrejelzését tulajdonították. Az égi jelek közül a legnagyobb hatást a napfogyatkozás gyakorolta az emberekre. A napközben bekövetkező részleges vagy teljes eclipse egyet jelentett az akkori emberek számára: az isteneknek nem tetszenek a dolgok alakulása. Az eclipse általában egyet jelentett akkor azzal, hogy valami nagyon rossz dolog fog történni.

Bár mára már a hétköznap embere is tudja pontosan, hogy mi az oka a napfogyatkozásnak, mégis hatalmas ámulattal éli át ezt a jelenséget a ma embere is. Eddig leélt életem során volt szerencsém már átélni néhány teljes és részleteg napfogyatkozást a világ különböző szegleteiben, amit erről biztosan el tudok mondani: ez az esemény az utcára viszi az embereket, hatalmas tömegek gyűnek össze és néhány pillanatra szó szerint megfagy a levegő. Megállnak az emberek és lélegzet visszatartva nézik az eget.

Talán az eclipse okozta ámulat miatt döntött úgy a Kraken is, hogy jelentősen csökkenti ma reggel 8 órától az elérhető kereskedési párokat, továbbá beszűnteti az összes létező “okos” order típust. De persze az is lehet, hogy nem az eclipse ennek az oka, hanem egyszerűen csak a tény, hogy ma extrém rohamra készülnek. A közleményt itt olvashatjátok el: -link-

A közlemény lényege: aki ma reggelig nem rakott be stoploss vagy trailing stop ordert, az már nem is fog… Az ‘ideiglenes’ kényszerintézkedés feloldásáig csak és kizárólag limit és market priceos ügyleteket lehet intézni. Az API természetesen marad, így ha valaki még most elkezd leprogramozni egy manuális stop-loss aktiválót, az lehet hogy megússza az egész napos számítógépnél rohadást avagy a mobiltelefon görcsös szorongatását.

Kellemes napot mindenkinek.

 

CryptoCulture: A programozás mint alap nyelvtudás…

Adja magát, hogy a pénzügyi forradalomnak álcázott kriptovaluta térhódítás fő célja a “pénzből még több pénzt csinálni” elv manifesztálása, azonban aki minimálisan is veszi a fáradtságot, hogy mindezek mögé nézzen, az pontosan látja, hogy itt a világ legnagyobb géniuszai már a jövő kultúráját építik. Azt a kultúrát, ahol nem kerülsz hátrányba a származásod, a vallásod vagy akár a születési helyed okán. Bár tudom, itthon kifejezetten nem trendi a ‘nyílt társadalom’ mint eszme, sőt tűzzel-vassal és királykék óriásplakátokkal űldözött, mindettől függetlenül a blog  informális jellegét kihasználva engedjétek meg, hogy felhívjam a figyelmeteket arra, hogy a kriptokultúrák legfrissebb vívmányait javarészt olyan emberek készítik, akik származásuk és kasztrendszerüknek megfelelően egyébként életük legnagyobb eredményeként csak azt tudhatnák felmutatni, hogy a mindenkori legfrissebb iPhone kamerájának optikáját polírozták egy koszos, poros műhelyben valamelyik kimondhatatlan nevű kínai városkában. Ha belepillantotok az összes szörnyen menő éppen felfutófélben lévő ICO marketing anyagába, akkor ott az esetek elsöprő részében orosz vagy kínai esetleg arab illetőségű csapatokat láttok. Hogy mitől jók ezek a csapatok? Leginkább attól, hogy az anyanyelvül mellett folyékonyan beszélnek angolul és legalább ennyire készség szinten tudnak programozni is. Ja és persze a buy és sell gomb nyomogatása helyett legalább addig eljutottak, hogy legyen egy jó ötletük…

Folytatás…

Blockchain elemzés Pythonnal

Most, hogy a kripto piacok erősen az egyet előre, egyet hátra elv szerint működnek (mindezt napi akár 10-15%-os elmozdulásokkal, amiket azért lehet rendesen nyerészkedni) és lényegében már mindenki enerváltan várakozik a augusztusi drámatagozatos óvodások előadására, ahol bal oldalon az UASF család mérhetetlen haragot táplál a jobb oldalon elhelyezkedő BitcoinABC család iránt, mely haragnak az eredeti okára már senki sem emlékszik, de a két család egy-egy sarja… oké, elkalandoztam.

Szóval a nagy rápihenésben végre van időm elővenni a kis házi barkács projektemet. Aki olvasta a self-info postomat, annak ismerős lehet az alábbi rész: “Amivel leginkább szeretnék foglalkozni, az ezen kettő témának (márhogy az Machine-Learning és a Cryptocurrency) összehozatala egy nagy projektté. Persze még messze a cél, de sikerül komolyabb eredményeket felmutatni egy olyan automatizált platform elkészítése kapcsán, ami segíthet hasznos predikciókat készíteni.

Ahol tartok:  az a blockchainek értelmezése és abból hasznos adatok kinyerése. Mivel mapság mindenki blockchain kóder akar lenni (már persze leszámítva azokat akik nem…), ezért gondoltam megosztok néhány nagyon egyszerű példát ami hasznos lehet azoknak akik tényleg csak most ismerkednek a témával. A továbbiakban két minta projektet mutatok be, az első egy egyszerű block explorer és statisztikáció, ami a legyűjti az utolsó 5 block (elmúlt egy óra) teljes tranzakció listáját és abból leválogatja azon bitcoin addresseket, amik az elmúlt egy órában a legtöbb bitcoint szerezték és azokat akik a legtöbbet vesztették el. A második projekt egy egyszerű address explorer, amivel le lehet kérdezni egy konkrét address teljes tranzakció történetét aggregálva blockonként.

Ezek a példák persze önmagukban kb semmit sem érnek, azonban beleillesztve ezeket egy keretbe nagyon is hasznosak lehetnek. Nézzük egy egyszerű példát:

  • Ismeretesek a nagyobb tőzsdék (kraken, bitfinex, pol, stb.) wallet addressei. Ha az elmúlt időszakban ezen addressek irányába nagy mennyiségű bitcoin áramlik olyan privát addressekről amik jelentősebb tranzakciós múlttal rendelkeznek, akkor jogosan lehet feltételezni, hogy ezeket azért rakják oda be, mert el akarják adni vagy fiatra/más kriptora váltani. Ez ugye azt jelentheti, hogy csökkenni fog az adott crypto pénz piaci kapitalizációja. Nyilván ez vice-versa is igaz.

Ennél több részletet egyelőre nem osztanék meg a projektről, de megígérem, hogy folyamatosan közölni fogom a részleteket itt a blogon, ahogy haladok előre. Előbb utóbb tisztulni fog a kép 🙂

Folytatás…

NumPy (Python) és a Sharpe ratio barátsága

Kissé nagy fába vágtam fejszémet a Machine Learning cikksorozatom kapcsán, amikor az előző fejezetben azt ígértem, hogy hamarosan konkrét alkalmazást fogok bemutatni a gépi tanuláshoz. Már persze nem az okozza fejtörőt, hogy élő példát mutassak az alkalmazásra, hanem, az hogy miként lehet ezt normálisan a blog keretei között bemutatni. Az ezzel kapcsolatos cikk vagy iszonyatosan hosszú lesz és szinte lehetetlen lesz követni, vagy pedig olyan tudásra kell hagyatkoznom, amivel az olvasó vagy rendelkezik, vagy nem. Ez utóbbi eléggé lutri. Ezért néhány kitekintő cikkel mutatom be a NumPy alapjait, ami egyébként lényegében az összes python alapú tudományos számítási és machine learning megoldás alapját is adja.

A numpy néhány alap funkcióját egy nagyon tipikus pénzügyi metóduson keresztül (Sharpe ratio számítás) mutatom be: Ennek lényege, hogy valamilyen ismert kockázatmentes portfolióhoz/termékhez képest kerül mérésre egy adott eszközalap vagy részvénypiaci termék teljesítményének szórását. Sharpe ratio lényegében egy referencia értéket ad meg, ami egységesen mutatja az adott eszközalap kockázat-hozam mutatóját.
Folytatás…