Пожалуй, спрашивать нужно было до начала разработки. Но теперь как есть.
В декабре ко мне обратился клиент с просьбой сделать удобную аналитику сделок для торгового робота.
Чтобы не портянка из купил-продал и миллиона операций, а агрегированные сделки хотя бы открыл-закрыл позицию в одну строку. Комиссию посчитать и прочее.
Набросал скринов в экселе как считает и я реализовал автоматизацию этой аналитики.
После чего я решил, что разработка достойна внимания, проанализировал существующую функциональность в тинькове, посмотрел существующие приложения и решил сделать из этого сервис, в который вводишь токен для api брокера, а оно выдаёт тебе результат торговли.
Получается примерно следующее:
1. Таблица с агрегированным результатом
2. Список всех операций, которые были на счёте. Если они повторяются, то схлопываются в одну строку и её можно развернуть
3. Список всех сделок, открытых и закрытых по аналогичной схеме
Сейчас примерно то что получается. Вопросы в следующем
1. Чего не хватает из того, что используете сейчас?
2. На какие программы или сервисы из того что используете стоит равняться?
3. Есть ли желающие потестировать текущую версию?
И четвёртый вопрос со звёздочкой:
Как посчитать доходность?
Есть список операций:
1. Завёл 100 тысяч
2. Совершил различных сделок, заработал 10 тысяч, заплатил 500 рублей комиссии
3. Вывел 50 тысяч, удержали налог
4. Завёл 50 тысяч
5. Совершил различных сделок, заработал 10 тысяч, заплатил 500 рублей комиссии
6. Вывел 80 тысяч, удержали налог
Как в этих условиях правильно посчитать доходность счёта? Считать от денег которые были в сделках или среднее от тех, которые лежали на счёте с учётом продолжительности?
Сейчас считаю как
Сумма выведеных средств плюс состояние текущего портфеля, делённое на сумму введённых средств. В общем случае логично.
Но прямо сейчас у меня ситуация:
Я завёл 200 тысяч, потом стал исследовать как считает доходность в пульсе и вывел их. Они полежали на карте и потом опять их завёл. Теперь считается будто я завёл 400 тысяч и показывает доходность в два раза ниже. Чувствую, что можно сделать лучше, но есть много разных способов. Поэтому нужен совет.
Хы, «Заработал ...» — прикольный концепт названий! Сначала мне не понравился вариант «Заработали на трейдере» — слишком негативная формулировка, но когда увидел все названия — очень креативно по-моему.
Из аналитики. Как алг, даже по ручным сделкам мне было бы полезно видеть:
— Разные метрики — winrate, PF, RF, средний трейд и т.д.
— Стата в разрезе тикеров.
— Стата в разрезе дней недели.
— Стата в разрезе часов дня.
«Стата» — ну там те же winrate, PF, суммарный профит и т.д.
В целом, эта табличка готовилась для начинающих трейдеров, кто ничем кроме терминала в телефоне не пользуется и видит только итоговый результат, для понимания финансовых потоков на счёте.
За напутствия по аналитике спасибо. Записал себе и сразу появилась идея, что на основе статы по часам можно попробовать выделить «успешные часы трейдера». Каждый, конечно и сам знает-чувствует, но статистика есть статистика :)