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 自動化處理,你可以更加靈活地計算和輸出結果,特別適用於數據量較大的情況。

選擇適合你的方法來進行計算,如果你有任何問題或需要進一步調整,歡迎隨時聯繫我!

Licensed under CC BY-NC-SA 4.0
使用 Hugo 建立
主題 StackJimmy 設計