Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import datetime
- import threading
- def importa(url):
- import urllib.request
- prices=urllib.request.urlopen(urllib.request.Request(url)).read()
- data=eval(prices)
- return data
- def stampa(exchange_name,datatype,dati):
- fill=open('dati/'+exchange_name+'_'+datatype+'.dat','a')
- print(datetime.datetime.utcnow().strftime("%Y""-""%m""-""%d""-""%H""-""%M""-""%S"),int(time.time()/60),dati, file=fill)
- fill.close()
- def stats(exchange_name,price,exchange):
- ask=0
- bid=0
- print("stats",exchange[1][0][1])
- pressione=[]
- bids=[]
- asks=[]
- pressione_stampa=''
- dati_stampa=''
- for x in range(101):
- pressione+=[[]]
- bids+=[[]]
- asks+=[[]]
- for r in range(5,101,5):
- for x in range(len(exchange[0][0])):
- if float(exchange[0][0][x])>price*(1-r/100):
- bid+=float(exchange[0][0][x])*float(exchange[0][1][x])
- for x in range(len(exchange[1][0])):
- if float(exchange[1][0][x])<price*(1+r/100):
- ask+=float(exchange[1][0][x])*float(exchange[1][1][x])
- pressione[r]="%.2f"%(bid/ask)
- bids[r]="%.2f"%bid
- asks[r]="%.2f"%ask
- print(exchange_name,r,pressione[r],bids[r],asks[r])#########################
- pressione_stampa+=str(pressione[r])+' '
- dati_stampa+=str(bids[r])+' '+str(asks[r])+' '
- bid=ask=0
- pressione_name="pressione"
- dati_name="dati"
- pressione_stampa+=str("%.2f"%price)
- dati_stampa+=str("%.2f"%price)
- stampa(exchange_name,pressione_name,pressione_stampa) #c'รจ un modo per non passare l'egormento del nome? tipo eval(str(exchange)+'_dati1'
- stampa(exchange_name,dati_name,dati_stampa)
- ##CONVERT FORMATS IN THE SAME STRUCTURE AND IMPORT DATA!!
- ##data format: exchange=[bids[[prices],[amounts]],asks[[prices],[amounts]]]
- #prices=[21,51,54] and amount=[41,651,45,654]
- #example: exchange[bids=1][price=0][x]
- #====bitstamp===================
- ##import data
- stamp=importa('https://www.bitstamp.net/api/order_book/')
- stamp_price=float(importa('https://www.bitstamp.net/api/ticker/')["last"])
- #convert formats
- bitstamp=[ [[],[]] , [[],[]] ]
- for x in range(len(stamp["bids"])):
- bitstamp[0][0]+=[float(stamp["bids"][x][0])]
- bitstamp[0][1]+=[float(stamp["bids"][x][1])]
- for x in range(len(stamp["asks"])):
- bitstamp[1][0]+=[float(stamp["asks"][x][0])]
- bitstamp[1][1]+=[float(stamp["asks"][x][1])]
- #====mtgox======================
- ##import data
- gox=importa('http://data.mtgox.com/api/1/BTCUSD/depth/full')
- gox_price=float(importa('http://data.mtgox.com/api/1/BTCUSD/ticker_fast')["return"]["last_local"]["value"])
- #convert formats
- mtgox=[ [[],[]] , [[],[]] ]
- for x in range(len(gox["return"]["bids"])):
- mtgox[0][0]+=[gox["return"]["bids"][x]["price"]]
- mtgox[0][1]+=[gox["return"]["bids"][x]["amount"]]
- for x in range(len(gox["return"]["asks"])):
- mtgox[1][0]+=[gox["return"]["asks"][x]["price"]]
- mtgox[1][1]+=[gox["return"]["asks"][x]["amount"]]
- bitstamp_name="bitstamp"
- mtgox_name="mtgox"
- stats(bitstamp_name,stamp_price,bitstamp)
- stats(mtgox_name,gox_price,mtgox)
Advertisement
Add Comment
Please, Sign In to add comment