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. Чтение данных: с помощью функции read_excel() библиотеки pandas происходит чтение Excel файла.
  2. Вычисление взвешенной цены: рассчитывается взвешенная цена для каждой сделки как Цена за единицу * Количество.
  3. Группировка по криптовалюте: происходит группировка данных по столбцу Криптовалюта и вычисление Общего количества и Общей цены (сумма взвешенных цен).
  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
Тема Stack, дизайн Jimmy