Featured image of post Excel设置品种币种买入总量、总价和加权平均价格

Excel设置品种币种买入总量、总价和加权平均价格

要统计买入每个币种的总量、总价和平均价格,你可以使用 Excel 的透视表功能,或者通过 Python 脚本来处理这个表格数据。

在交易数据中,常常会看到同一币种的多次买入,买入的单价和数量可能有所不同。如果我们想要计算每个币种的总量、总价以及加权平均价格,就需要对数据进行整理和计算。本文将通过 Excel 和 Python 两种方法,帮助你实现这一目标。

示例数据

假设我们有一份交易数据,包含以下列:

  • 时间:交易时间
  • 币种:买入的币种
  • 交易方向:买入(BUY)或卖出(SELL)
  • 单价:买入的单个币种价格
  • 数量:买入的数量
  • 总价:买入币种的总花费(单价 × 数量)

举个例子:

时间 币种 交易方向 单价 数量 总价
2024/2/29 10:26 ARKM BUY 2.2753 94 213.8782
2024/2/29 10:26 ARKM BUY 2.2748 4 9.0992
2024/2/29 10:26 ARKM BUY 2.2749 50 113.745
2024/2/29 10:25 EDU BUY 0.91094 13 11.8422
2024/4/7 12:39 ENA BUY 1.194 1687.05 2014.3377

或者如下图: 计算表格 我们需要计算:

  1. 每个币种的买入总量
  2. 每个币种的买入总价
  3. 每个币种的加权平均价格,即 (单价 * 数量) / 总量

方法 1:使用 Excel 计算

Excel 的透视表功能非常适合进行分组统计,但它没有内置的加权平均计算功能。因此,我们需要稍微调整一下流程:

步骤 1:创建透视表

  1. 打开 Excel 文件,并确保数据格式正确。
  2. 选择所有数据区域(包括表头),然后点击 插入 -> 透视表
  3. 在弹出的窗口中选择 新工作表,然后点击 确定

步骤 2:设置透视表字段

  1. 币种 拖到 区域。
  2. 数量总价 拖到 区域,并设置它们的求和(默认即为求和)。

这样你可以得到每个币种的总量和总价。

步骤 3:计算加权平均价格

  1. 在透视表旁边创建一个新的列来计算加权平均价格。
  2. 假设透视表的 总价 在 G 列,数量 在 F 列,则在新列的第一个单元格(假设是 H2)中,输入以下公式:
    1
    
    =G2/F2
    
  3. 将该公式复制到下面的单元格,得到每个币种的加权平均价格。

完整的透视表示例

币种 总量 总价 加权平均价格
ARKM 529 1070.349 2.024
EDU 1004.3 915.561 0.912
ENA 5636.82 7639.734 1.353

最后得出表格如下: 数据透视表格

方法 2:使用 Python 计算加权平均价格

如果你更喜欢使用 Python 来自动化计算,可以使用 pandas 库进行处理。以下是完整的 Python 脚本,帮助你根据数据计算每个币种的买入总量、总价和加权平均价格。

步骤 1:安装 pandas 库

如果你还没有安装 pandas 库,可以通过以下命令安装:

1
pip install pandas

步骤 2:Python 脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('交易数据.xlsx')

# 筛选出交易方向为 BUY 的数据
buy_df = df[df['交易方向'] == 'BUY']

# 计算每个币种的加权价格
buy_df['加权价格'] = buy_df['单价'] * buy_df['数量']

# 按币种分组,计算总量、总价和加权平均价格
summary_df = buy_df.groupby('币种').agg(
    总量=('数量', 'sum'),
    总价=('加权价格', 'sum'),
).reset_index()

# 计算加权平均价格
summary_df['平均价格'] = summary_df['总价'] / summary_df['总量']

# 将结果输出到一个新的 Excel 文件
summary_df.to_excel('币种统计表.xlsx', index=False)

print(summary_df)

解释:

  1. 读取数据:通过 pandasread_excel() 函数读取 Excel 文件。
  2. 计算加权价格:使用 买入单价 * 数量 计算每笔交易的加权价格。
  3. 按币种分组:通过 groupby('币种') 对数据按币种分组,计算 总量总价(加权价格的总和)。
  4. 计算加权平均价格:最后,使用 总价 / 总量 来计算每个币种的加权平均价格。
  5. 输出结果:通过 to_excel() 将结果保存到新的 Excel 文件中。

输出结果

币种 总量 总价 平均价格
ARKM 529 1070.349 2.024
EDU 1004.3 915.561 0.912
ENA 5636.82 7639.734 1.353

总结

  • Excel 方法:通过透视表和手动计算加权平均价格,你可以快速实现每个币种的统计。
  • Python 方法:通过 pandas 自动化处理,你可以更加灵活地计算和输出结果,特别适用于数据量较大的情况。

选择适合你的方法来进行计算,如果你有任何问题或需要进一步调整,欢迎随时联系我!

转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用 Hugo 构建
主题 StackJimmy 设计