def algorithm(request): ticker = str(request.POST.get('ticker')) start = str(request.POST.get('start')) end = str(request.POST.get('end')) code = str(request.POST.get('code')) print code exec code backtester = bt.backtester(strategy, ticker, start, end) response_data = backtester.full_summary() return HttpResponse(json.dumps(response_data), content_type="application/json")
yList = normalisedFuture print(yList) print(int(len(yList))) print(xList) print(int(len(xList))) #pyplot.scatter(xList, yList) pyplot.scatter(25,(historicData[startPosition + length + futureDistance])*ratio,color = 'blue') pyplot.show()''' '''pastPatterns = generatePastPatterns(len(currentPattern), historicData) similarPatterns = [] from shapeComparison import comparePattern for i in pastPatterns: #print('Past pattern : '+str(i)) if comparePattern(currentPattern,i[0],1) > 35: similarPatterns.append(i)''' #currentPatternIndex = settings.currentPatternIndex backtester() '''pattern = [0.72724, 0.72790, 0.72991, 0.73194, 0.73058, 0.73333, 0.73373, 0.73222, 0.73185, 0.73152, 0.73152, 0.73230, 0.73427, 0.73477, 0.73609, 0.73480, 0.73600, 0.73515, 0.73528, 0.73493, 0.73236, 0.73604, 0.73527, 0.73986, 0.73231, 0.73082, 0.73110, 0.73083, 0.73007, 0.73291, 0.73336, 0.73027, 0.73023, 0.73040] pattern = pattern[0:10] pattern.reverse() print(len(pattern))''' #liveTester(pattern) endtime = time.time() print(endtime - startTime)
def home(request): context = {} res = None if request.method == 'GET': # Create a form instance and populate it with data from the request: form = SearchForm(request.GET) # Check whether it's valid: if form.is_valid(): # Convert form data to an args dictionary for backtester args = {} if form.cleaned_data["User_Name"]: args["User_Name"] = form.cleaned_data['User_Name'] if form.cleaned_data['start_date']: args['start_date'] = form.cleaned_data['start_date'] if form.cleaned_data['end_date']: args['end_date'] = form.cleaned_data['end_date'] if form.cleaned_data['letter']: args['letter'] = form.cleaned_data['letter'] if form.cleaned_data['Twitter_Mentions']: args['Twitter_Mentions'] = form.cleaned_data[ 'Twitter_Mentions'] if form.cleaned_data['Google_Trends']: args['Google_Trends'] = form.cleaned_data['Google_Trends'] if form.cleaned_data['Reddit_Subscribers_Total']: args['Reddit_Subscribers_Total'] = form.cleaned_data[ 'Reddit_Subscribers_Total'] if form.cleaned_data['Reddit_Subscribers_Growth']: args['Reddit_Subscribers_Growth'] = form.cleaned_data[ 'Reddit_Subscribers_Growth'] if form.cleaned_data['complexity_score']: args['complexity_score'] = form.cleaned_data[ 'complexity_score'] try: # Check whether user's query returns any coins if len(backtester(args)) == 1: res = backtester(args) else: res = (backtester(args), edit_board(backtester(args)[1])) except Exception as e: print('Exception caught') bt = traceback.format_exception(*sys.exc_info()[:3]) context['err'] = """ An exception was thrown in backtester: <pre>{} {}</pre> """.format(e, '\n'.join(bt)) res = None else: form = SearchForm() # Handle different responses of res if res is None: context['result'] = None elif len(res) == 1: context['result'] = res else: query, board = res columns = query[0] result = query[1] context['result'] = result context['columns'] = columns context['board'] = board context['form'] = form return render(request, 'index.html', context)
def _do_backtest(): # json.loads(request) dd = request.json data = backtester.backtester(dt.datetime(dd['syear'],dd['smon'],dd['sday']), \ dt.datetime(dd['eyear'],dd['emon'],dd['eday']),dd['models']) return data