def setup_db_for_hist_prices_storage(self, stock_sym_list): """ Get the price and dividend history and store them to the database for the specified stock sym list. The length of time depends on the date_interval specified. Connection to database is assuemd to be set. For one time large dataset (where the hist data is very large) Args: stock_sym_list (list): list of stock symbol. """ ## set the class for extraction histdata_extract = YFHistDataExtr() histdata_extract.set_interval_to_retrieve(360*5)# assume for 5 years information histdata_extract.enable_save_raw_file = 0 for sub_list in self.break_list_to_sub_list(stock_sym_list): print ('processing sub list', sub_list) histdata_extract.set_multiple_stock_list(sub_list) histdata_extract.get_hist_data_of_all_target_stocks() histdata_extract.removed_zero_vol_fr_dataset() ## save to one particular funciton #save to sql -- hist table histdata_extract.processed_data_df.to_sql(self.hist_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) #save to sql -- div table histdata_extract.all_stock_div_hist_df.to_sql(self.divdnt_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) self.close_db()
def setup_db_for_hist_prices_storage(self,stock_sym_list,interval): #get price history histdata_extract = YFHistDataExtr() histdata_extract.set_interval_to_retrieve(360*interval) histdata_extract.enable_save_raw_file=0 for sub_list in self.break_list_to_sub_list(stock_sym_list): print ('processing sub list', sub_list) histdata_extract.set_multiple_stock_list(sub_list) histdata_extract.get_hist_data_of_all_target_stocks() histdata_extract.removed_zero_vol_fr_dataset() # save to SQL table histdata_extract.processed_data_df.to_sql(self.hist_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) self.close_db()
def setup_db_for_hist_prices_storage(self, stock_sym_list): """ Get the price and dividend history and store them to the database for the specified stock sym list. The length of time depends on the date_interval specified. Connection to database is assuemd to be set. For one time large dataset (where the hist data is very large) Args: stock_sym_list (list): list of stock symbol. """ ## set the class for extraction histdata_extract = YFHistDataExtr() histdata_extract.set_interval_to_retrieve( 360 * 5) # assume for 5 years information histdata_extract.enable_save_raw_file = 0 for sub_list in self.break_list_to_sub_list(stock_sym_list): print('processing sub list', sub_list) histdata_extract.set_multiple_stock_list(sub_list) histdata_extract.get_hist_data_of_all_target_stocks() histdata_extract.removed_zero_vol_fr_dataset() ## save to one particular funciton #save to sql -- hist table histdata_extract.processed_data_df.to_sql(self.hist_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) #save to sql -- div table histdata_extract.all_stock_div_hist_df.to_sql( self.divdnt_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) self.close_db()
def setup_db_for_hist_prices_storage(self, stock_sym_list, interval): #get price history histdata_extract = YFHistDataExtr() histdata_extract.set_interval_to_retrieve(360 * interval) histdata_extract.enable_save_raw_file = 0 for sub_list in self.break_list_to_sub_list(stock_sym_list): print('processing sub list', sub_list) histdata_extract.set_multiple_stock_list(sub_list) histdata_extract.get_hist_data_of_all_target_stocks() histdata_extract.removed_zero_vol_fr_dataset() # save to SQL table histdata_extract.processed_data_df.to_sql(self.hist_data_tablename, self.con, flavor='sqlite', schema=None, if_exists='append', index=True, index_label=None, chunksize=None, dtype=None) self.close_db()
ss.set_criteria_type('basic') ss.get_all_criteria_fr_file() ss.process_criteria() print "stocks left after basic filtering: ", len(ss.modified_df) ss.modified_df.to_csv(final_store_filename, index = False) print "Basic Filtering of stock data -- Done. \n" if 'c_backup' in partial_run: ## testing, to remove after this #ss.modified_df = ss.modified_df.head() ## 3 days trends data print "Getting Trends data" trend_ext = YFHistDataExtr() trend_ext.set_interval_to_retrieve(365*5) trend_ext.enable_save_raw_file = 0 trend_ext.set_multiple_stock_list(list(ss.modified_df['SYMBOL'])) trend_ext.run_all_hist_data() full_stock_data_df = pandas.merge(ss.modified_df, trend_ext.all_stock_combined_post_data_df, on = 'SYMBOL', how ='left') print "Getting Trends data -- Done. \n" #full_stock_data_df.to_csv(r'c:\data\full_oct21.csv', index = False) if 'c_pre' in partial_run: """ Update the database """ print 'Updating the database with latest hist price.' datastore = FinanceDataStore(db_full_path) stock_list = list(ss.modified_df['SYMBOL']) datastore.scan_and_input_recent_prices(stock_list,5) print 'Updating the database with latest hist price -- Done\n'