def get_price_history(request): if request.POST or request.GET: f = bs.Fetcher() if 'currency' in request.POST: currency = request.POST['currency'] else: currency = 'USD' acc = Account.objects.get(user=request.user) prices = {} prices['BTC'] = f.getPrePrice('BTC')['BTC'] prices['ETH'] = f.getPrePrice('ETH')['ETH'] prices['LTC'] = f.getPrePrice('LTC')['LTC'] prices['BAL'] = [] for i in range(len(prices['BTC'])): b_p = float(prices['BTC'][i]) l_p = float(prices['LTC'][i]) e_p = float(prices['ETH'][i]) bal = acc.btc * b_p + acc.ltc * l_p + acc.eth * e_p + acc.usd prices['BAL'] += [bal] response_text = json.dumps(prices) return HttpResponse(response_text, content_type="application/json")
def update_price_all(request): if request.POST: f = bs.Fetcher() if 'currency' in request.POST: currency = request.POST['currency'] else: currency = 'USD' prices = {} prices['BTC'] = f.getPrice('BTC', currency, 'spot')['spot'] prices['ETH'] = f.getPrice('ETH', currency, 'spot')['spot'] prices['LTC'] = f.getPrice('LTC', currency, 'spot')['spot'] price = Prices.objects.filter(date = date.today()) if len(price) == 0: btcprice = Prices() btcprice.type = "BTC" btcprice.price = prices['BTC'] btcprice.save() ethprice = Prices() ethprice.type = "ETH" ethprice.price = prices['ETH'] ethprice.save() ltcprice = Prices() ltcprice.type = "LTC" ltcprice.price = prices['LTC'] ltcprice.save() response_text = json.dumps(prices) return HttpResponse(response_text, content_type="application/json")
def get_data(cp, currency, rate): f = bs.Fetcher() if rate == 'hourly': prices = f.getPrePrice(cp, currency, 'hour')[cp] prices = list(reversed(prices)) dates = np.arange(len(prices)) if rate == 'daily': prices = f.getPrePrice(cp, currency, 'day')[cp] prices = list(reversed(prices)) dates = np.arange(len(prices)) return dates, prices
def view_leaderboard(request): account, create = Account.objects.get_or_create(user=request.user) f = bs.Fetcher() context={} prices = {} prices['BTC'] = f.getPrice('BTC', 'USD', 'spot')['spot'] prices['ETH'] = f.getPrice('ETH', 'USD', 'spot')['spot'] prices['LTC'] = f.getPrice('LTC', 'USD', 'spot')['spot'] context['account']=account for account in Account.objects.all(): account.total_balance =(account.usd+account.btc* prices['BTC']+ account.eth* prices['ETH']+ account.ltc*prices['LTC']) account.save() now = datetime.datetime.now() user_accounts_sorted = Account.objects.order_by('-total_balance') context['user_accounts']= user_accounts_sorted context['now']=now return render(request, 'mocktrade/leaderboard.html', context)
def get_data(cp, currency, rate): f = bs.Fetcher() if rate == 'hourly': prices = f.getPrePrice(cp, currency, 'hour')[cp] prices = list(reversed(prices)) if rate == 'daily': prices = f.getPrePrice(cp, currency, 'day')[cp] prices = list(reversed(prices)) dates = [] for i in range(len(prices)): dates.append(i) return dates, prices # predict the trend in next 6 time units # def predict_price2( cp, currency, rate = 'hourly'): # dates, prices = get_data(cp, currency, rate) # x = range(len(dates), len(dates) + 6) # # prediction = {} # dates = np.reshape(dates, (len(dates), 1)) # converting to matrix of n X 1 # prices = np.reshape(prices, (len(prices), 1)) # x = np.reshape(x, (len(x), 1)) # # ridge_mod = linear_model.Ridge (alpha = 1) # ridge_mod.fit(dates, prices) # linear_mod = linear_model.LinearRegression() # defining the linear regression model # linear_mod.fit(dates, prices) # fitting the data points in the model # # prediction = list(linear_mod.predict(x).flatten()) # prediction = prediction + list(ridge_mod.predict(x).flatten()) # return prediction #dates, prices = get_data('LTC', 'USD') #predictions = predict_price('BTC', 'USD', 'daily' ) # print predictions
import bitcoin_scraper as bs import time if __name__ == '__main__': # api = bs.Fetcher() # print time.time() # print api.getPrice('BTC', 'USD', 'spot')['spot'] # print api.generateHistURL('BTC', '10' ) # api.getPrePrice('BTC') f = bs.Fetcher() prices = {} prices['BTC'] = f.getPrePrice('BTC')['BTC'] prices['ETH'] = f.getPrePrice('ETH')['ETH'] prices['LTC'] = f.getPrePrice('LTC')['LTC'] prices['BAL'] = [] for i in range(len(prices['BTC'])): b_p = float(prices['BTC'][i]) l_p = float(prices['LTC'][i]) e_p = float(prices['ETH'][i]) bal = 0.12 * b_p + 0.231 * l_p + 23 * e_p prices['BAL'] += [bal] print prices['BAL'] print f.getPrePrice('BTC', 'USD', 'hour')