Exemplo n.º 1
0
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")
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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