main

 1import pattern_search
 2import get_company_data
 3import pattern_utils
 4import sys
 5import tendencyCalculator as tc
 6import matplotlib.pyplot as plt
 7
 8"""
 9Main file for programme. This script manages user input and executes the highest-level functions
10"""
11
12#company_json = get_company_data.getCompanyData('AAP')
13#company_dataframe = one_day_pattern_search.createMorningDataframeFromJson('2022-04-01', company_json)
14def trainHistoricDatabase(company, year, patterns_dictionary):
15    """
16    Reads the database and trains the data starting from the given year  
17
18    Args:  
19        company (str): Company where we want to train from
20        year (int): Year since we want to train  
21    Returns:  
22        patterns_found (List[Pattern]): A list containing all the patterns that were found
23    """
24    company_dataframe = get_company_data.getCompanyDataWithYahoo(company, year + '-01-01')
25    if company_dataframe.empty:
26        exit("Dataframe vacío")
27    patterns_found = pattern_search.findHistoricPatterns(60, company_dataframe, patterns_dictionary, company)
28    #plt.show()
29    average_tendency = pattern_utils.calculateTendencyProbability(patterns_found, patterns_dictionary.keys())
30    return patterns_found
31#
32def findCurrentPatterns(company, patterns_dictionary, intensive_search):
33    """
34    Finds if there are patterns in today's stock market  
35
36    Args:  
37        company (str): Company where we want to train from
38        patterns_to_find List[str]: Type of patterns we want to find today  
39    Returns:  
40        patterns_found (List[Pattern]): A list containing all the patterns that were found
41    """
42    company_dataframe = get_company_data.getCompanyDataWithYahoo(company, '2022-01-01')
43    if company_dataframe.empty:
44        exit("Dataframe vacío")
45    min_size, max_size = pattern_utils.minimumAndMaximumPatternSizes(patterns_dictionary)
46    patterns_found = pattern_search.findCurrentPatterns(min_size, max_size, company_dataframe, patterns_dictionary, company, intensive_search)
47    return patterns_found
48
49# if len(sys.argv) > 1:
50#     patterns_dictionary = pattern_utils.loadPatterns(15, {'false_positives', 'double_top', 'double_bottom'})
51#     if sys.argv[1] == '0':
52#         trainHistoricDatabase(sys.argv[2], sys.argv[3], patterns_dictionary)
53#     elif sys.argv[1] == '1':
54#         patterns_found = findCurrentPatterns(sys.argv[2], patterns_dictionary)
55#         patterns_found[0].dataframe_segment.plot()
56#         plt.show()
57#     else:
58#         exit("Option not valid")
def trainHistoricDatabase(company, year, patterns_dictionary)
15def trainHistoricDatabase(company, year, patterns_dictionary):
16    """
17    Reads the database and trains the data starting from the given year  
18
19    Args:  
20        company (str): Company where we want to train from
21        year (int): Year since we want to train  
22    Returns:  
23        patterns_found (List[Pattern]): A list containing all the patterns that were found
24    """
25    company_dataframe = get_company_data.getCompanyDataWithYahoo(company, year + '-01-01')
26    if company_dataframe.empty:
27        exit("Dataframe vacío")
28    patterns_found = pattern_search.findHistoricPatterns(60, company_dataframe, patterns_dictionary, company)
29    #plt.show()
30    average_tendency = pattern_utils.calculateTendencyProbability(patterns_found, patterns_dictionary.keys())
31    return patterns_found

Reads the database and trains the data starting from the given year

Args:
company (str): Company where we want to train from year (int): Year since we want to train
Returns:
patterns_found (List[Pattern]): A list containing all the patterns that were found

def findCurrentPatterns(company, patterns_dictionary, intensive_search)
33def findCurrentPatterns(company, patterns_dictionary, intensive_search):
34    """
35    Finds if there are patterns in today's stock market  
36
37    Args:  
38        company (str): Company where we want to train from
39        patterns_to_find List[str]: Type of patterns we want to find today  
40    Returns:  
41        patterns_found (List[Pattern]): A list containing all the patterns that were found
42    """
43    company_dataframe = get_company_data.getCompanyDataWithYahoo(company, '2022-01-01')
44    if company_dataframe.empty:
45        exit("Dataframe vacío")
46    min_size, max_size = pattern_utils.minimumAndMaximumPatternSizes(patterns_dictionary)
47    patterns_found = pattern_search.findCurrentPatterns(min_size, max_size, company_dataframe, patterns_dictionary, company, intensive_search)
48    return patterns_found

Finds if there are patterns in today's stock market

Args:
company (str): Company where we want to train from patterns_to_find List[str]: Type of patterns we want to find today
Returns:
patterns_found (List[Pattern]): A list containing all the patterns that were found