import pandas as pd import os # 读取Excel文件 dir_path = "D:\\tmp_financial\DailyK\FullAExcel" #读取今天上午快照数据 excel_files = [f for f in os.listdir(dir_path) if f.endswith('.xlsx')] for excel_file in excel_files: df = pd.read_excel(os.path.join(dir_path, excel_file)) print(excel_file) #计算量比5日 df['volume_rolling_mean'] = df['成交量(手)'].rolling(window=5).mean() # 计算5日平均成交量 df['volume_rolling_mean'] = df['volume_rolling_mean'].shift(1) # 今日成交量 df['量比5日'] = df['成交量(手)'] / df['volume_rolling_mean'] # 计算量比 # 计算量比1日 df['量比1日'] = df['成交量(手)'] / (df['成交量(手)'].shift(1)) # 计算量比 # 计算5日涨跌幅,10日涨跌幅,20日涨跌幅,60日涨跌幅 df['5日涨跌幅'] = (df['收盘价'] - (df['收盘价'].shift(5)))/ (df['收盘价'].shift(5))# 计算5日涨跌幅比 df['10日涨跌幅'] = (df['收盘价'] - (df['收盘价'].shift(10))) / (df['收盘价'].shift(10)) # 计算10日涨跌幅 df['20日涨跌幅'] = (df['收盘价'] - (df['收盘价'].shift(20))) / (df['收盘价'].shift(20)) # 计算20日涨跌幅 df['60日涨跌幅'] = (df['收盘价'] - (df['收盘价'].shift(60))) / (df['收盘价'].shift(60)) # 计算60日涨跌幅 #振幅计算 当日的振幅 = (当日最高-当日最低)/前日收盘 df['振幅'] = (df['最高价'] - df['最低价']) / (df['前收盘价']) # 计算振幅 df.to_excel(os.path.join(dir_path, excel_file), index=False, engine='openpyxl')
批量计算股票量比,5日涨跌幅,振幅数据
于 2024-01-24 11:17:43 首次发布