Блог им. vtvladim
Анализируем итоги торговли на ФОРТС
Стандартные возможности анализа торговли в личном кабинете брокера не позволяют детально проанализировать результаты торговли на рынке ФОРТС. А при использовании единого брокерского счета (ЕБС) и эти имеющиеся возможности анализа существенно сокращаются.
Изложенный ниже способ анализа позволит показать результаты торговли в разрезе:
— торгуемых инструментов (BR, Si, Gold и т.д.);
— месяцев (либо иных заданных вами интервалов);
— с начала определенной даты;
— количество сделок (по инструменту, по месяцу и т.п.);
— средней прибыли на сделку (в целом и по инструментам) и т.п.
Я организовал данный подход к анализу торговли в рамках Exel и, соответственно, формулы приведу для Exel. Можно, конечно, написать скрипт, но в данном случае с Exel проще и гибче в плане изменений, а также легко можно построить графики и диаграммы. Постарался написать подробно и доходчиво даже для тех, кто имеет небольшой опыт работы с Exel.
Последовательность действий:
1). Заказываем в личном кабинете отчет о детализации вариационной маржи и получаем его в формате ”xls”.
2). Получаем таблицу примерно такого вида:
В конце (в самом низу) таблицы есть строка «ИТОГО»____ руб. – удаляем ее, она нам не нужна от слова «совсем».
3). Удостоверяемся в том, что данные имеют правильный формат: Столбец «Дата» — формат данныхы «дата», столбцы «Вар.маржа» и «Позиция, шт» — должны иметь числовой формат. А также отсутствуют объединенные ячейки (иначе формулы работать будут некорректно).
Совет: Заказывайте отчет о детализации вариационной маржи с самого начала вашей торговли, впоследствии вы просто будете дозаписывать новые данные в конец таблицы и будете не ограничены в выборе начальной даты для анализа. Ячейки ниже таблицы использовать не надо – все расчеты делайте правее таблицы либо на другом листе.
4). Все необходимые для анализа данные получаем используя встроенную функцию Exel БДСУММ. Эта функция суммирует числовые данные в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям.
Из справки Exel:
БДСУММ(база_данных; поле; условия) Синтаксис
База_данных — диапазон ячеек, образующих список или базу данных. База данных представляет собой список связанных данных, в котором строки данных являются записями, а столбцы — полями. Верхняя строка списка содержит заголовки всех столбцов.
Поле — столбец, по которому функция суммирует числовые данные.
Условия — интервал ячеек, который содержит заданные условия, в рамках которых осуществляется суммирование.
В нашем случае:
База_данных — координаты левой верхней ячейки таблицы (ячейка «Дата», например, она находится в ячейке А6) и правой нижней ячейки (если ячейка «Дата» имеет координаты А6, то правая нижняя ячейка таблицы будет находиться в столбце F и если у вас 1000 записей в таблице – то на 1006 строке, т.е. ее координаты будут F1006); Поле – координаты ячейки «Вар.маржа» (если ячейка «Дата» имеет координаты А6, то ячейки «Вар.маржа» будет иметь координаты Е6); Условие – координаты ячеек с условием для суммирования вариационной маржи.
Пример: если таблица разместилась на ячейках А6:F1006:
Тогда введя формулу :
=БДСУММ($A$6:$F$1006;$E$6;L6:L7) (1)
и задав условие для суммирования в ячейках L6:L7 следующего вида:
Контракт |
BR?? |
(2)
мы получим итоговую прибыль по всем фьючерсным контрактам на нефть Brent (знаки вопроса в ячейке L7 заменяют два последних знака в названии контракта, т.е. суммируются результаты по всем контрактам Brent; если указать конкретный контракт, например, BRV8 – то получите результат торговли только по этому контракту) за все время вашей торговли. Важно, чтобы значение ячейки L6 было полностью тождественно названию соответствующего столбца в таблице.
Совет: Задавайте изначально более большой размер таблицы в направлении вниз – в этом случае при добавлении новых данных в конец таблицы вам не придется править формулы. В приведенном примере – вмеcто координаты правой нижней ячейки таблицы F1006 введите F2006. Это позволит не менять формулу, пока не добавится более тысячи новых записей в таблице (2006 – 1006 = 1000). В формуле (1) координаты базы данных и поля приведены в «безусловном виде» — со знаком доллара $ (для этого надо нажать клавишу F4 при задании координат базы данных в функции). Такой способ записи координат базы данных позволяет копировать ячейку с формулой (1) в любую другую ячейку и ссылки на базу данных и поле в формуле не изменятся. Необходимо будет только поменять условие суммирования.
Ячейку с формулой (1), записанной в «безусловном виде», можно скопировать и вставить в другое место. Ссылку на условие меняем, например на ячейки M6:M7, и аналогично (2) в M6 пишем «Контракт», а в M7 – «Si??» — получим результат для фьючерсов на доллар Si. Подобным образом задаем формулы для всех инструментов, которыми велась торговля.
Рекомендую проверить правильность расчета введенных вами формул следующим образом: сумма итогов торгов всех инструментов, рассчитанных по условию (2) должна совпасть с суммой вариационной маржи по столбцу «Вар.маржа». Последнюю можно определить при помощи функции Exel СУММ(ячейка1: ячейка2). В нашем примере: СУММ(Е7: Е1006), но ставьте диапазон суммирования с запасом из тех же предположений, что были указаны выше, например
=СУММ(Е7: Е2006) (3)
Совет: Продумайте расположение ячеек с формулами и ячеек с условиями на листе таким образом, чтобы результаты расчетов было удобно использовать для построения графиков и диаграмм.
5). Комбинируя условия для суммирования, вы получите практически любой анализ своей торговли на ваш вкус.
Например:
А) Количество сделок по фьючерсу на нефть Brent получается с условием:
Контракт |
Позиция, шт. |
BR?? |
0 |
(4)
Если в условии указать ссылку только на ячейки «Позиция, шт.» и «0», то получите общее количество сделок по всем инструментам за все время.
Б) Прибыль за месяц по фьючерсу на нефть Brent получается с условием:
Контракт |
Дата |
Дата |
BR?? |
>=01.01.2021 |
<01.02.2021 |
(5)
Если в условии указать ссылку только на ячейки с датами, то получите общий итог торговли за месяц (в данном случае – январь 2021 года).
В) Зная прибыль по фьючерсу и количество сделок, можно расчитать среднюю прибыль по сделке делением первого на второе.
Г). Зная прибыль и количество сделок в разрезе инструментов можно определить структуру прибыли и сделок.
Д). И т.д. – все зависит от фантазии, вашего желания и грамотного задания условий для суммирования.
Совет: Правильно разместив ячейки с условиями, можно существенно сэкономить на месте, которое они занимают. Необязательно каждое условие писать отдельно, главное – правильно организовать ссылки на условия.
Например, такое комбинирование условий позволяет рассчитать для каждого из 4 инструментов: количество сделок за все время и с заданной даты, прибыль за все время и с заданной даты, а также количество сделок и прибыль за все время по всем инструментам: (6)
Позиция, шт. |
Контракт |
Дата |
Контракт |
Позиция, шт. |
Контракт |
Дата |
Контракт |
Позиция, шт. |
0 |
BR?? |
>=21.09.2020 |
ED?? |
0 |
Eu?? |
>=21.09.2020 |
GD?? |
0 |
Комбинируя условия для суммирования вида (2), (3) – (6) получите разные срезы результата ваших торгов (либо задайте свои условия из соображений как вы хотите проанализировать свои результаты).
Изложенный порядок действий достаточно выполнить один раз. В дальнейшем после добавления новых данных по вариационной марже в конец таблицы, все расчеты будут обновляться автоматически (если, как советовалось выше, вы задали размеры базы данных в формулах с запасом).
В качестве примера приведу возможные виды графического анализа торгов, сделанные при помощи изложенного подхода.
Есть сервисы, в них отчет брокера грузишь, все автоматически считается.
Особых страданий я здесь не вижу. Заказать отчет — это страдание? А в сервисы чужие вы ведь тоже отчет загружаете. Какая разница в этом плане?!
И еще раз подчеркну — вы сами задаете стиль анализа, который вам нужен, даты (период) и проч. И не зависите от того подхода, который использован в чужом сервисе.
Должен такой отчет быть у любого брокера. Смотрите в личном кабинете там, где у вас зазывается брокерский отчет. Только вместо брокерского отчета надо выбрать другой тип отчета — по вариационной марже.