def latest_all_stock_k_data(specified_date): db = pymysql.connect("localhost", "root", "", database_name_source, charset='utf8') cursor = db.cursor() sql = "SELECT * FROM " + stock_set_table_name cursor.execute(sql) result = cursor.fetchall() db.close() real_date = trade_day_judgement(specified_date) table_name = real_date + '_' + stock_set_table_name + '_' + 'trade' stock_trade_result = pd.DataFrame() for r in result: stock_code = r[1] stock_name = r[2] tmp_result = get_stock_k_data.get_stock_data(stock_code, stock_name, real_date, real_date, frequency, adjustflag) stock_trade_result = pd.concat([stock_trade_result, tmp_result]) stock_data_to_mysql.write_data_to_database(stock_trade_result, database_name, table_name, mode)
def all_stocks_message_to_mysql(): date = '2019-10-18' query_result = get_basic_data.get_all_stocks(date) database_name = 'baostock' table_name = 'all_stocks' mode = 'replace' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) return
def dividend_data_to_mysql(): start_year = '2009' end_year = '2019' stock_code = 'sh.601717' stock_name = '郑煤机' year_type = 'report' dividend_query_result = get_dividend_data.get_dividend_data( stock_code, stock_name, int(start_year), int(end_year), year_type) database_name = 'baostock' table_name = stock_code + '_' + 'dividend' mode = 'append' stock_data_to_mysql.write_data_to_database(dividend_query_result, database_name, table_name, mode)
def dupont_data_years_to_mysql(): start_year = '2009' end_year = '2019' stock_code = 'sh.601717' stock_name = '郑煤机' query_result = get_dupont_data.get_dupont_data_year( stock_code, stock_name, start_year, end_year) database_name = 'baostock' table_name = stock_code + '_' + 'dupont' mode = 'append' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) return
def dupont_data_single_quarter_to_mysql(): stock_code = 'sh.601717' stock_name = '郑煤机' year = 2018 quarter = 1 query_result = get_dupont_data.get_dupont_data(stock_code, stock_name, year, quarter) database_name = 'baostock' table_name = stock_code + '_' + 'dupont' mode = 'append' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) return
def stock_k_data_to_mysql(): start_day = '2019-10-10' end_day = '2019-10-16' stock_code = 'sh.601717' stock_name = '郑煤机' frequency = 'd' adjustflag = '3' stock_trade_result = get_stock_k_data.get_stock_data( stock_code, stock_name, start_day, end_day, frequency, adjustflag) database_name = 'baostock' table_name = stock_code + stock_name mode = 'append' stock_data_to_mysql.write_data_to_database(stock_trade_result, database_name, table_name, mode)
def operation_data_years_to_mysql(): start_year = '2009' end_year = '2019' stock_code = 'sh.601717' stock_name = '郑煤机' operation_query_result = get_operation_data.get_operation_data_year( stock_code, stock_name, start_year, end_year) database_name = 'baostock' table_name = stock_code + '_' + 'operation' mode = 'append' for rs in operation_query_result: stock_data_to_mysql.write_data_to_database(rs, database_name, table_name, mode) return
def all_index_stocks_to_mysql(): #date='2019-10-18' query_result = get_index_stock.get_sz50_stocks() database_name = 'baostock' table_name = 'sz50_stocks' mode = 'replace' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) query_result = get_index_stock.get_hs300_stocks() database_name = 'baostock' table_name = 'hs300_stocks' mode = 'replace' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) query_result = get_index_stock.get_zz500_stocks() database_name = 'baostock' table_name = 'zz500_stocks' mode = 'replace' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) return
def all_data_to_sql(stock_code, stock_name): #开始日期,默认为2006-1-1,baostock平台只有该日期后的数据 start_date = '2006-1-1' #截止日期,默认为今日 end_date = datetime.date.today().strftime('%Y-%m-%d') #开始年份,默认为2006 start_year = '2006' #截至年份,默认为今年 end_year = datetime.date.today().strftime('%Y') #股票代码 #stock_code='sz.300294' #股票名称 #stock_name='博雅生物' #获取数据频率 frequency = 'd' #复权标志 adjustflag = '2' #年份类别,默认为"report":预案公告年份,可选项"operate":除权除息年份。 year_type = 'report' #写入数据库模式,默认为append。 三个模式:fail,若表存在,则不输出;replace:若表存在,覆盖原来表里的数据;append:若表存在,将数据写到原表的后面。默认为fail mode = 'replace' #######交易数据###### print("------------处理交易数据...------------") stock_trade_result = get_stock_k_data.get_stock_data( stock_code, stock_name, start_date, end_date, frequency, adjustflag) table_name = stock_code + '_' + 'trade' stock_data_to_mysql.write_data_to_database(stock_trade_result, database_name, table_name, mode) print("------------处理完成------------") #######分红数据###### print("------------处理分红数据...------------") dividend_query_result = get_dividend_data.get_dividend_data( stock_code, stock_name, int(start_year), int(end_year), year_type) table_name = stock_code + '_' + 'dividend' stock_data_to_mysql.write_data_to_database(dividend_query_result, database_name, table_name, mode) print("------------处理完成------------") #######盈利数据###### print("------------处理盈利数据...------------") query_result = get_profit_data.get_profit_data_year( stock_code, stock_name, start_year, end_year) table_name = stock_code + '_' + 'profit' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------") #######经营数据###### print("------------处理经营数据...------------") query_result = get_operation_data.get_operation_data_year( stock_code, stock_name, start_year, end_year) table_name = stock_code + '_' + 'operation' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------") #######偿债能力数据###### print("------------处理偿债能力数据...------------") query_result = get_balance_data.get_balance_data_year( stock_code, stock_name, start_year, end_year) table_name = stock_code + '_' + 'balance' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------") #######现金流量数据###### print("------------处理现金流量数据...------------") query_result = get_cash_flow_data.get_cash_flow_data_year( stock_code, stock_name, start_year, end_year) table_name = stock_code + '_' + 'cash_flow' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------") #######杜邦数据###### print("------------处理杜邦数据...------------") query_result = get_dupont_data.get_dupont_data_year( stock_code, stock_name, start_year, end_year) table_name = stock_code + '_' + 'dupont' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------") #######业绩快报###### print("------------处理业绩快报...------------") query_result = get_performance_express_data.get_performance_express_data( stock_code, stock_name, start_date, end_date) table_name = stock_code + '_' + 'performance_express' stock_data_to_mysql.write_data_to_database(query_result, database_name, table_name, mode) print("------------处理完成------------")