def create_stock_csv(codeStr): log.info("当前开始生成代码" + codeStr + "的CSV文件!") stock_data = ts.get_k_data(codeStr, start='2010-01-01', end=str(dateUtil.get_date_date())) stock_data.to_csv(con.csvPath + codeStr + '.csv', index=False, encoding='gbk')
def create_all_stock_csv(): # 获取所有的code allCode = get_all_code() # 循环当前所有stock 生成所有stock本地csv for code in allCode.code: # if (code == 601952): codeStr = str(code).zfill(6) # 查询单stock历史所有数据 create_stock_csv(codeStr) log.info("所有stock基础数据生成完毕!")
def create_all_index_csv(): for codeStr in con.baseIndexList: log.info("当前开始生成指数" + codeStr + "的CSV文件!") index_data = ts.get_k_data(codeStr, index=True, start='2010-01-01', end=str(dateUtil.get_date_date())) index_data.to_csv(con.indexCsvPath + codeStr + '.csv', index=False, encoding='gbk')
def add_index_derivative_data(): count = 0 # 2.循环所有的csv文件 for codeStr in con.baseIndexList: count = count + 1 # 3.读取本地csv数据 stock_data = pd.read_csv(con.indexCsvPath + codeStr + '.csv') # 近期数据补全 stock_data = cal.get_lost_data(stock_data, codeStr, True) # 增加衍生数据 stock_data = add_derivative_data(stock_data) # 7.将计算好的kdj写入对应csv中 stock_data.to_csv(con.indexCsvPath + codeStr + '.csv', index=False) log.info('已生成代码' + codeStr + '的衍生数据,生成总数量' + str(count)) log.info("为所有的index增加衍生数据完毕!")
def update_all_stock(): count = 0 # 1.读取base文件获取所有的csv文件名=code allCode = get_all_code() # 2.循环所有的csv文件 for code in allCode.code: # if (code == 1): count = count + 1 codeStr = str(code).zfill(6) # 3.读取本地csv数据 stock_data = pd.read_csv(con.csvPath + codeStr + '.csv') allBaseNameOrder = ['date'] allBaseNameOrder = allBaseNameOrder + con.allBaseNameOrder # 输出到csv stock_data.to_csv(con.csvPath + codeStr + '.csv', index=False, columns=allBaseNameOrder) log.info('已重新生成' + codeStr + '的stock数据,生成总数量' + str(count)) log.info("所有stock数据更新完毕!")
def add_stock_derivative_data(): count = 0 # 1.读取base文件获取所有的csv文件名=code allCode = get_all_code() # 2.循环所有的csv文件 for code in allCode.code: # if (code == 603997): count = count + 1 codeStr = str(code).zfill(6) # 3.读取本地csv数据 try: stock_data = pd.read_csv(con.csvPath + codeStr + '.csv') except: create_stock_csv(codeStr) stock_data = pd.read_csv(con.csvPath + codeStr + '.csv') # 近期数据补全 stock_data = cal.get_lost_data(stock_data, codeStr, False) # 增加衍生数据 stock_data = add_derivative_data(stock_data) # 7.将计算好的kdj写入对应csv中 stock_data.to_csv(con.csvPath + codeStr + '.csv', index=False) log.info('已生成代码' + codeStr + '的衍生数据,生成总数量' + str(count)) log.info("为所有的stock增加衍生数据完毕!")
def check_download_csv(): count = 0 # 1.读取base文件获取所有的csv文件名=code allCode = get_all_code() # 2.循环所有的csv文件 for code in allCode.code: count = count + 1 codeStr = str(code).zfill(6) if not os.path.exists(con.csvPath + codeStr + '.csv'): log.info('不存在的文件名称为:' + codeStr + '已验证个数为:' + str(count)) create_stock_csv(codeStr) log.info(codeStr + '的csv文件已生成') log.info("所有的csv文件验证完毕!")