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