Обсуждение статьи "R-квадрат как оценка качества кривой баланса стратегии" - страница 6

 
Tj1:

Василий,

Спасибо вам за отличную статью.

Есть возможность добавить учет угла наклона кривой баланса и сделать комбинированный параметр оптимизации ?

Спасибо за ответ.

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

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

 
Vasiliy Sokolov:

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

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


Василий, спасибо за ответ.

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


Как вариант :

1. При запуске EA считывать с лога Tester End Date и на этой дате геометрически рассчитать угол как раз перед остановкой;

2. Несопоставимость времени и баланса (или еквити и количества трейдов) решить упрощением :  (1) указать что начальный баланс в тестере всегда указывать 10 000 USD, (2) длительность прогона уравновесить поправочным коэффициентом в инпуте, например для времени прогона день-месяц коэф 0.1, для 1-3 месяца коэф 0.3, для 3-6 месяцев коэф 0.5, для 6-12 месяцев коэф 1, для 1-3 года коэф 3 и т.д. В конечном итоге мы же все равно сравниваем все прогоны на одном и том же промежутке времени. Сложность в том какой вес придать отдельным элементам уравнения   Rsquare * AngleCoeff .

Конечно упрощенно я это могу сделать и в экселе :))


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


Еще раз спасибо за статью!

 
Tj1:


Василий, спасибо за ответ.

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


Как вариант :

1. При запуске EA считывать с лога Tester End Date и на этой дате геометрически рассчитать угол как раз перед остановкой;

2. Несопоставимость времени и баланса (или еквити и количества трейдов) решить упрощением :  (1) указать что начальный баланс в тестере всегда указывать 10 000 USD, (2) длительность прогона уравновесить поправочным коэффициентом в инпуте, например для времени прогона день-месяц коэф 0.1, для 1-3 месяца коэф 0.3, для 3-6 месяцев коэф 0.5, для 6-12 месяцев коэф 1, для 1-3 года коэф 3 и т.д. В конечном итоге мы же все равно сравниваем все прогоны на одном и том же промежутке времени. Сложность в том какой вес придать отдельным элементам уравнения   Rsquare * AngleCoeff .

Конечно упрощенно я это могу сделать и в экселе :))


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


Еще раз спасибо за статью!

Просто нужно задать размер графика в пикселях, тогда у всех графиков будет одинаковый размер и можно будет просто работать с ними как с картинкой, меряя наклон угла. Но не лучше просто смотреть на прибыльность в таком случае?

 
Aleksey Vyazmikin:

Просто нужно задать размер графика в пикселях, тогда у всех графиков будет одинаковый размер и можно будет просто работать с ними как с картинкой, меряя наклон угла. Но не лучше просто смотреть на прибыльность в таком случае?


Мне нравится идея с пикселями :))

Имеете ввиду использовать прибыльность как коэффициент и получить комбинированный параметр оптимизации - может быть даже лучше чем угол наклона. Спасибо за идею.

 
Aleksey Vyazmikin:

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

Бред. 

 
Tj1:


Мне нравится идея с пикселями :))

Имеете ввиду использовать прибыльность как коэффициент и получить комбинированный параметр оптимизации - может быть даже лучше чем угол наклона. Спасибо за идею.

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

 
Vasiliy Sokolov:

Бред. 

Обоснуйте.

 
Aleksey Vyazmikin:

Обоснуйте.

Хорошо. Только в начале рассчитайте угол наклона, образованный следующими двумя точками:

ТочкаЗначениеВремя
 №1 12018.03.21
 №2 103482018.08.13 
 
R2 и показывает угол наклона + минимальная дисперсия, если чО
 
Vasiliy Sokolov:

Хорошо. Только в начале рассчитайте угол наклона, образованный следующими двумя точками:

ТочкаЗначениеВремя
 №1 12018.03.21
 №2 103482018.08.13 

Вы определитесь с эталоном пространства. К примеру 800на600 у нас рисунок, с лева на право он  полностью заполнен графиком, при этом верх и низ у нас экстремумы графика. Последняя точка занимает 50% от верхнего экстремума, значит 400 пунктов. Ну и считаем уже как то, или в чем тут сложность?

Причина обращения: