Ejemplo n.º 1
0
def findSimilar(currentPatternIndex):
                                                #takes a pattern and checks past data,
                                                #returns list of previous pattern start points in past data and 'pattern closeness score'
    reqCloseScore = settings.reqCloseScore
    methodNumber = settings.closeMethodNumber
    predictionDistance = settings.futureDistance
    historicData = settings.historicData
    similarPatternsIndex = []
    pastData = settings.historicData
    patternLength = settings.patternLength
    currentPattern = historicData[currentPatternIndex : currentPatternIndex + patternLength]
    
    for startPoint in range( 0 , len(pastData) - predictionDistance - patternLength):

        patternToCheck = pastData[startPoint : (startPoint + patternLength)]
        #print(str(startPoint))
        #print('toCheck : ' + str(len(patternToCheck)))
        #print('current : ' + str(len(currentPattern)))
        closeScore = comparePattern(currentPattern, patternToCheck, methodNumber)
        if closeScore > reqCloseScore:
            if closeScore != 100:
                similarPatternsIndex.append( [startPoint , closeScore] )
    return similarPatternsIndex
Ejemplo n.º 2
0
    #yList = futureResults(similarPatterns)
    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)
futurePrices = []
def futureResults(similarPatterns):
    futureResults = []
    fururePrices = []
    for i in similarPatterns:
        futurePrice = historicData[i[1] + len(currentPattern) + futureDistance]
        futurePrices.append(futurePrice)
        futurePercentage = percentageChange(historicData[i[1] + len(currentPattern)],futurePrice)
        futureResults.append(futurePercentage)
    return futureResults
print('Found ' +str(len(similarPatterns)) + ' similar patterns')

print('Done')
Ejemplo n.º 3
0
    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)
futurePrices = []


def futureResults(similarPatterns):
    futureResults = []
    fururePrices = []
    for i in similarPatterns:
        futurePrice = historicData[i[1] + len(currentPattern) + futureDistance]
        futurePrices.append(futurePrice)
        futurePercentage = percentageChange(
            historicData[i[1] + len(currentPattern)], futurePrice)
        futureResults.append(futurePercentage)
    return futureResults