def get_high_low_points(self, stock_code_list): msg = '''<html> <tr>Trend inverse reminder from H&L Model</tr> <table width="300" border="1" bordercolor="black" cellspacing="1">''' bar_size = [5, 30, 60] column_num = [5, 9, 13] threshold = [0.03, 0.05, 0.15] send_email_flag = False for ii in range(len(bar_size)): if bar_size[ii] == 60: stock_intraday_data = LoadData.get_daily_stock_data( stock_code_list, "20100101") msg = msg + ''' <tr><td rowspan="2">''' + ''' daily </td>''' else: stock_intraday_data = LoadData.get_intraday_stock_data( stock_code_list, bar_size=bar_size[ii], delta_days=365) msg = msg + ''' <tr><td rowspan="2">''' + str( bar_size[ii]) + ''' min </td>''' high_point_index_list, high_point_list, high_point_time_list, low_point_index_list, low_point_list, low_point_time_list = HighLowPoint.get_high_low_points_list( stock_intraday_data, threshold[ii]) fall_end_list = [] rise_end_lsit = [] fall_end_msg = "" rise_end_msg = "" for jj in range(len(stock_code_list)): self.write_data_to_file(column_num[ii], jj, high_point_list[jj][-1], high_point_time_list[jj][-1], low_point_list[jj][-1], low_point_time_list[jj][-1]) temp_msg_fall_end, temp_msg_rise_end = self.judge_trend_inverse( high_point_list[jj], low_point_list[jj], self.current_price[jj]) if temp_msg_fall_end == True: fall_end_list.append(stock_code_list[jj]) send_email_flag = True if temp_msg_rise_end == True: rise_end_lsit.append(stock_code_list[jj]) send_email_flag = True for item in fall_end_list: fall_end_msg = fall_end_msg + item + " " for item in rise_end_lsit: rise_end_msg = rise_end_msg + item + " " msg = msg + "<td>" + "Falling End" + "</td><td>" + fall_end_msg + "</td></tr><tr><td> Rising End </td><td>" + rise_end_msg + "</td></tr> \n" msg = msg + " </table></html>" print msg if send_email_flag == True: a = SendEmail.Send_Email("Trend inverse reminder from H&L Model", msg) print a.isSend
def get_high_low_points(self,stock_code_list): msg = '''<html> <tr>Trend inverse reminder from H&L Model</tr> <table width="300" border="1" bordercolor="black" cellspacing="1">''' bar_size = [5,30,60] column_num = [5,9,13] threshold = [0.03,0.05,0.15] send_email_flag = False for ii in range(len(bar_size)): if bar_size[ii]==60: stock_intraday_data = LoadData.get_daily_stock_data(stock_code_list,"20100101") msg = msg +''' <tr><td rowspan="2">''' + ''' daily </td>''' else: stock_intraday_data = LoadData.get_intraday_stock_data(stock_code_list,bar_size=bar_size[ii],delta_days = 365) msg = msg +''' <tr><td rowspan="2">''' +str(bar_size[ii]) + ''' min </td>''' high_point_index_list,high_point_list,high_point_time_list,low_point_index_list,low_point_list,low_point_time_list = HighLowPoint.get_high_low_points_list(stock_intraday_data,threshold[ii]) fall_end_list = [] rise_end_lsit = [] fall_end_msg = "" rise_end_msg = "" for jj in range(len(stock_code_list)): self.write_data_to_file(column_num[ii],jj,high_point_list[jj][-1],high_point_time_list[jj][-1],low_point_list[jj][-1],low_point_time_list[jj][-1]) temp_msg_fall_end, temp_msg_rise_end = self.judge_trend_inverse(high_point_list[jj],low_point_list[jj],self.current_price[jj]) if temp_msg_fall_end ==True: fall_end_list.append(stock_code_list[jj]) send_email_flag = True if temp_msg_rise_end == True: rise_end_lsit.append(stock_code_list[jj]) send_email_flag = True for item in fall_end_list: fall_end_msg = fall_end_msg + item + " " for item in rise_end_lsit: rise_end_msg = rise_end_msg + item +" " msg = msg +"<td>" + "Falling End" + "</td><td>"+fall_end_msg +"</td></tr><tr><td> Rising End </td><td>"+rise_end_msg+"</td></tr> \n" msg = msg +" </table></html>" print msg if send_email_flag == True: a = SendEmail.Send_Email("Trend inverse reminder from H&L Model",msg) print a.isSend
def creepy_data_from_wind_to_local(self): for ii in range(len(self.user_stock_name_list)): self.path_is_exist(self.user_stock_name_list[ii]) data_base_path = sys.path[0] + "\\" + "data" + "\\" + "data_base" stock_fold_path = data_base_path + "\\" + self.user_stock_name_list[ii] for data_type in self.data_type_list: data_path = stock_fold_path + "\\" + data_type latest_date = self.get_latest_date_in_fold(data_path) print latest_date temp_stock_name = [] temp_stock_name.append(self.user_stock_name_list[ii]) delta_day = ( datetime.now() - datetime(int(latest_date[0:4]), int(latest_date[4:6]), int(latest_date[6:8])) ).days print latest_date, delta_day, self.user_stock_name_list[ii] pos = self.user_stock_name_list[ii].split(".")[1] print pos if data_type == "daily": stock_daily_data = LoadData.get_daily_stock_data(temp_stock_name, latest_date) for jj in range(len(stock_daily_data[0])): output_data_path = data_path + "\\" + stock_daily_data[0][jj][0] + ".txt" WriteToFile.write_to_file(output_data_path, stock_daily_data[0][jj]) if pos != "SZ" and pos != "SH": break if float(delta_day) > 3 * 365: delta_day = 1095 if data_type == "60min": print "aaa" stock_60_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=60, delta_days=delta_day ) date_60_min_index = self.get_day_sperate_index(stock_60_min_data) print stock_60_min_data print date_60_min_index for jj in range(len(date_60_min_index) - 1): file_path = data_path + "\\" + stock_60_min_data[0][date_60_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_60_min_data[0][date_60_min_index[jj] : date_60_min_index[jj + 1]] ) elif data_type == "30min": stock_30_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=30, delta_days=delta_day ) date_30_min_index = self.get_day_sperate_index(stock_30_min_data) for jj in range(len(date_30_min_index) - 1): file_path = data_path + "\\" + stock_30_min_data[0][date_30_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_30_min_data[0][date_30_min_index[jj] : date_30_min_index[jj + 1]] ) elif data_type == "15min": stock_15_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=15, delta_days=delta_day ) date_15_min_index = self.get_day_sperate_index(stock_15_min_data) for jj in range(len(date_15_min_index) - 1): file_path = data_path + "\\" + stock_15_min_data[0][date_15_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_15_min_data[0][date_15_min_index[jj] : date_15_min_index[jj + 1]] ) elif data_type == "5min": stock_5_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=5, delta_days=delta_day ) date_5_min_index = self.get_day_sperate_index(stock_5_min_data) for jj in range(len(date_5_min_index) - 1): file_path = data_path + "\\" + stock_5_min_data[0][date_5_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_5_min_data[0][date_5_min_index[jj] : date_5_min_index[jj + 1]] )
def creepy_data_from_wind_to_local(self): for ii in range(len(self.user_stock_name_list)): self.path_is_exist(self.user_stock_name_list[ii]) data_base_path = sys.path[0] + "\\" + "data" + "\\" + "data_base" stock_fold_path = data_base_path + "\\" + self.user_stock_name_list[ ii] for data_type in self.data_type_list: data_path = stock_fold_path + "\\" + data_type latest_date = self.get_latest_date_in_fold(data_path) print latest_date temp_stock_name = [] temp_stock_name.append(self.user_stock_name_list[ii]) delta_day = ( datetime.now() - datetime(int(latest_date[0:4]), int(latest_date[4:6]), int(latest_date[6:8]))).days print latest_date, delta_day, self.user_stock_name_list[ii] pos = self.user_stock_name_list[ii].split(".")[1] print pos if data_type == "daily": stock_daily_data = LoadData.get_daily_stock_data( temp_stock_name, latest_date) for jj in range(len(stock_daily_data[0])): output_data_path = data_path + "\\" + stock_daily_data[ 0][jj][0] + ".txt" WriteToFile.write_to_file(output_data_path, stock_daily_data[0][jj]) if pos != "SZ" and pos != "SH": break if float(delta_day) > 3 * 365: delta_day = 1095 if data_type == "60min": print "aaa" stock_60_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=60, delta_days=delta_day) date_60_min_index = self.get_day_sperate_index( stock_60_min_data) print stock_60_min_data print date_60_min_index for jj in range(len(date_60_min_index) - 1): file_path = data_path + "\\" + stock_60_min_data[0][ date_60_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_60_min_data[0] [date_60_min_index[jj]:date_60_min_index[jj + 1]]) elif data_type == "30min": stock_30_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=30, delta_days=delta_day) date_30_min_index = self.get_day_sperate_index( stock_30_min_data) for jj in range(len(date_30_min_index) - 1): file_path = data_path + "\\" + stock_30_min_data[0][ date_30_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_30_min_data[0] [date_30_min_index[jj]:date_30_min_index[jj + 1]]) elif data_type == "15min": stock_15_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=15, delta_days=delta_day) date_15_min_index = self.get_day_sperate_index( stock_15_min_data) for jj in range(len(date_15_min_index) - 1): file_path = data_path + "\\" + stock_15_min_data[0][ date_15_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_15_min_data[0] [date_15_min_index[jj]:date_15_min_index[jj + 1]]) elif data_type == "5min": stock_5_min_data = LoadData.get_intraday_stock_data( temp_stock_name, bar_size=5, delta_days=delta_day) date_5_min_index = self.get_day_sperate_index( stock_5_min_data) for jj in range(len(date_5_min_index) - 1): file_path = data_path + "\\" + stock_5_min_data[0][ date_5_min_index[jj]][0][0:8] + ".txt" WriteToFile.write_list_to_file( file_path, stock_5_min_data[0] [date_5_min_index[jj]:date_5_min_index[jj + 1]])