批量计算股票量比,5日涨跌幅,振幅数据

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')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值