Мутная статистика
Atom Ответить
16.11.2013


Добрался до статистики!
Где обещанный в документации расчет коэффициента Шарпа?

И Вам не кажется, что текущий расчет PnL вводит людей в заблуждение?
Если честно я даже не понял как вы его считаете.
Вот пример:


Снизу ваш график Эквити. Чуть выше нормальный расчет Профита.
Расчет Профита простой. Сделка закрывается, цены вычитаются и локальные профиты суммируются.
У вас же либо не правильный расчет, либо добавлены какие-то другие параметры.

Теги:


Спасибо: pafnuty Андрей Гунинский




18 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 16.11.2013
Ответить


Bond Перейти

Расчет Профита простой. Сделка закрывается, цены вычитаются и локальные профиты суммируются.
У вас же либо не правильный расчет, либо добавлены какие-то другие параметры.


Можно пойти следующим путем. Подписаться на событие изменения PnL и понять, после какого момента идет расхождение.
Спасибо:

pafnuty

Фотография
Программист
Дата: 26.11.2013
Ответить


Цитата:

Bond
И Вам не кажется, что текущий расчет PnL вводит людей в заблуждение?


У меня подтверждается по предварительным оценкам (на собранных в базе данных, полученных с помощью EmulationTrader).

В отладчике я пока не смотрел.

В базе я собираю статистику PnLs (по событию из Strategy), и Orders (тоже по событию). Посчитанный по Orders руками профит (тупо по формулам в Excel забил) существенно отличается от PnLs. (Могу выложить данные.)
Спасибо:

Андрей Гунинский

Фотография
Дата: 28.11.2013
Ответить


Bond Перейти
Добрался до статистики!
И Вам не кажется, что текущий расчет PnL вводит людей в заблуждение?
Если честно я даже не понял как вы его считаете.

Вот потому и нужно иметь возможность видеть раздельно компоненты из которых формируется кумулятивное эквити или PnL.

Когда всё в куче то сложно уже разобрать что даёт отклонение, так как причин может быть несколько и все они примерно одного порядка влияния.
К примеру когда вычисляется приращение прибыли, покупка-продажа фиксируется по оферу-биду, разница и будет единичным приращением эквити, без учета комиссии и проскальзывания, но даже на этом этапе можно затуманить картину, если учитывать бид-аск разницу только с одного конца(по закрытию, открытию, среднюю, вообщн не учитывать) или если добавить рандомный компонент пытаясь смоделировать внутрисвечной тиковый шум. Уплотнения ряда смоделированными тиками, это на мой взгляд бессмысленная алхимия жутко замедляющая тестирование, какой в ней смысл если влияние на эквити оказывает только СКО этих сгенерированных «тиков», которое просто аддитивный статический компонент к издержкам.

Если нет возможности с адекватной точностью выборочно проверить релевантность слагаемых эквити, то я бы не стал доверять такому тестированию. Можно ведь легко так сделать, что бы под понтом точной «генерации тиков», смещать в профит явно сливные типы стратегий и резать профитные, проверить будет это довольно сложно без детальной картины слагаемых эквити, а если что то всё можно будет списать на псевдо-тики.
Спасибо:

Bond

Фотография
Курсы
Дата: 28.11.2013
Ответить


Цитата:
можно затуманить картину, если учитывать бид-аск разницу только с одного конца(по закрытию, открытию, среднюю, вообщн не учитывать)

Все относительно. Конечно здорово брать среднее, а не крайнее значение. Лично я просто уменьшаю таймфрейм. Шумные пятиминутки? Не понятно, что в свечке? Берите минутки и работайте с ними.
Автор топика
Спасибо:

Bond

Фотография
Курсы
Дата: 28.11.2013
Ответить


Андрей, вы вроде подкованы в математике. Работали с оптимизацией методом Монте-Карло? Поиск глабальных экстремумов методом отжига.
Пытаюсь разобраться с какой степенью при каждой новой выборке уменьшать диапазон разброса случайных величин. Так сказать как определимость "сходимость" к экстремуму. Опять же какое распределение случайных величин использовать? Нормальное?
Х=a+(b-a)random[a:b] ?
Как посчитать погрешность расчета?
Если получится два близких по значению экстремума, но на большом расстоянии друг от друга? Какой брать для следующей итерации? И т.д. и т.п.
По сути этот метод урезанная генетика)
И да, я его запилю на базе Оптимизаторов) Сокращу время расчетов и увеличу число переменных в массиве данных)
Буду признателен за помощь!)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.11.2013
Ответить


Андрей Гунинский Перейти

Вот потому и нужно иметь возможность видеть раздельно компоненты из которых формируется кумулятивное эквити или PnL.


Так вроде и так вынесено в отдельный компонент. Как предлагаете еще вынести?

Андрей Гунинский Перейти

Если нет возможности с адекватной точностью выборочно проверить релевантность слагаемых эквити, то я бы не стал доверять такому тестированию.


1) все разбито по компонентам
2) эмулятор сделан на основе конечного автомата.

уж даже не знаю как проще сделать для проверок. Но всегда рад услышать что-то конкретное.Wink
Спасибо:

Bond

Фотография
Курсы
Дата: 28.11.2013
Ответить


Михаил Сухов Перейти
Андрей Гунинский Перейти

Вот потому и нужно иметь возможность видеть раздельно компоненты из которых формируется кумулятивное эквити или PnL.


Так вроде и так вынесено в отдельный компонент. Как предлагаете еще вынести?

Андрей Гунинский Перейти

Если нет возможности с адекватной точностью выборочно проверить релевантность слагаемых эквити, то я бы не стал доверять такому тестированию.


1) все разбито по компонентам
2) эмулятор сделан на основе конечного автомата.

уж даже не знаю как проще сделать для проверок. Но всегда рад услышать что-то конкретное.Wink


Михаил, но согласитесь, что графики явно различаются. Ладно там комиссия или расчет не стандартный, но рисунок совсем другой. Хотя какието корреляции провести можно. Но что главное, цифры разнятся принципиально. Повторюсь, либо у Вас ошибка, либо вы как-то мудрено считаете.

П.С. Как? Как Ваш эквити умудряется менять свое значение между сделками? Явно не стандартный расчет.

Ваш:



Мой:

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.11.2013
Ответить


Bond Перейти

Михаил, но согласитесь, что графики явно различаются. Ладно там комиссия или расчет не стандартный, но рисунок совсем другой. Хотя какието корреляции провести можно. Но что главное, цифры разнятся принципиально. Повторюсь, либо у Вас ошибка, либо вы как-то мудрено считаете.


Я же пишу - надо отчет о разнице. Пересчет ПнЛ идет постоянно, отслеживая стоимость позы. Вот собственно на изменение позы и надо делать проверку.
Спасибо:

Bond

Фотография
Курсы
Дата: 28.11.2013
Ответить


Михаил Сухов Перейти
Bond Перейти

Михаил, но согласитесь, что графики явно различаются. Ладно там комиссия или расчет не стандартный, но рисунок совсем другой. Хотя какието корреляции провести можно. Но что главное, цифры разнятся принципиально. Повторюсь, либо у Вас ошибка, либо вы как-то мудрено считаете.


Я же пишу - надо отчет о разнице. Пересчет ПнЛ идет постоянно, отслеживая стоимость позы. Вот собственно на изменение позы и надо делать проверку.


Я отслеживаю эквити от сделки к сделке, а вы переводите в значение текущий портфель бумаг. Вот у вас и получаются просадки там, где у меня их нет. Я оцениваю доходность стратегии, а вы считаете текущую потенциальную стоимость активов.

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.11.2013
Ответить


Bond Перейти

Я отслеживаю эквити от сделки к сделке, а вы переводите в значение текущий портфель бумаг. Вот у вас и получаются просадки там, где у меня их нет. Я оцениваю доходность стратегии, а вы считаете текущую потенциальную стоимость активов.



Это вообще то неправильно из-за

1. Арбитражеров разрывает по маржину как раз на открытых позициях, а вовсе не на фиксе. Тоесть учет стоимости активов важен. Может для трендовой не так важен, но даже для таких стратегий вносятся коррективы.

2. Для РИ (или любого другого инструмента, стоимость которого рассчитывается в долларомо эквиваленте) можно получить убытки при совершении серии профитных сделок.
Спасибо:

Bond

Фотография
Курсы
Дата: 28.11.2013
Ответить


Михаил Сухов Перейти
Bond Перейти

Я отслеживаю эквити от сделки к сделке, а вы переводите в значение текущий портфель бумаг. Вот у вас и получаются просадки там, где у меня их нет. Я оцениваю доходность стратегии, а вы считаете текущую потенциальную стоимость активов.



Это вообще то неправильно из-за

1. Арбитражеров разрывает по маржину как раз на открытых позициях, а вовсе не на фиксе. Тоесть учет стоимости активов важен. Может для трендовой не так важен, но даже для таких стратегий вносятся коррективы.

2. Для РИ (или любого другого инструмента, стоимость которого рассчитывается в долларомо эквиваленте) можно получить убытки при совершении серии профитных сделок.


Арбитражем я не занимаюсь. А всеми пересчетами в рубли, перепроверками, отслеживанием портфелей и позиций, я считаю, должна заниматься стратегия самостоятельно. Если там все плохо, то она должна закрывать позиции. Мой график профита оценивает исключительно итоговую работу стратегии, ее конечный результат.

П.С. И все равно у вас цифры не правильные Flapper
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.11.2013
Ответить


Bond Перейти
П.С. И все равно у вас цифры не правильные Flapper


Именно поэтому я и предложил разобраться.
Спасибо:

Андрей Гунинский

Фотография
Дата: 29.11.2013
Ответить


Почему бы не взять очень маленький синтетический ряд цены и ряд сигналов к нему(1,0,-1). Такой что бы за пару минут на калькуле или в уме можно было просчитать и убедиться в верности расчета, я так обычно делаю в таких случаях. Тогда все вопросы отпадут.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.11.2013
Ответить


Андрей Гунинский Перейти
Почему бы не взять очень маленький синтетический ряд цены и ряд сигналов к нему(1,0,-1). Такой что бы за пару минут на калькуле или в уме можно было просчитать и убедиться в верности расчета, я так обычно делаю в таких случаях. Тогда все вопросы отпадут.


Хорошо. Ждем от вас такой тест.BigGrin
Спасибо:

Bond

Фотография
Курсы
Дата: 29.11.2013
Ответить


Михаил Сухов Перейти
Андрей Гунинский Перейти
Почему бы не взять очень маленький синтетический ряд цены и ряд сигналов к нему(1,0,-1). Такой что бы за пару минут на калькуле или в уме можно было просчитать и убедиться в верности расчета, я так обычно делаю в таких случаях. Тогда все вопросы отпадут.


Хорошо. Ждем от вас такой тест.BigGrin






Михаил, ваши формулы в студию, пожалуйста!
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 30.11.2013
Ответить


Bond Перейти

Михаил, ваши формулы в студию, пожалуйста!


http://stocksharp.codepl...latest#Sources/Algo/PnL/ С тех пор менялась только косметика. Расчеты все те же.
Спасибо:

Bond

Фотография
Курсы
Дата: 30.11.2013
Ответить


Михаил Сухов Перейти
Bond Перейти

Михаил, ваши формулы в студию, пожалуйста!


https://stocksharp.codepl...latest#Sources/Algo/PnL/ С тех пор менялась только косметика. Расчеты все те же.


Код

d => d.Sum(p => p.Key.MinStepPrice / p.Key.MinStepSize * p.Value.UnrealizedPnL)


Ну, смотрите сами Михаил. Это скорее Вам нужно, чем мне. У меня свой расчет. Графики несут разную информацию, главное, чтобы у ваших клиентов было ясное понимание, что график отображает.
Автор топика
Спасибо:

loop

Фотография
Дата: 01.12.2013
Ответить


Для свечного тестирования, сделки нужно фиксировать(открывать закрывать) по ценам открытия следующей свечи, а не той на которой возник сигнал. Иначе получится подглядывание. С тиками тоже следующим тиком, а не тем на котором сигнал возник, но без учета OHLC. Само собой покупка продажа по аску \биду. Не вижу никакого смысла мониторить субспредовые закономерности(фиксировать на одном аске иле биде), но вот отдельно комиссионные и связанные с проскальзыванием потери можно выводить.

Некоторые фиксируют покупку по HighAsk а продажу по LowBid следующей свечи, ориентируясь на мрачный сценарий и эмпирически это оправданно, так что можно сделать на выбор такой режим тоже.

Соглашусь с коллегами, что каждый режим подсчёта PnL должен быть потенциально фальсифицируем(чётко представлена формула), с черными ящиками работать не всем комфортно.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy