Replikant_mih

Читают

User-icon
275

Записи

187

Вот он мой бэктестер-оптимизатор, моя прееелесть.

У хорошего мастера должны быть хорошие инструменты – у кузнеца – молот, у столяра – рубанок, у алготрейдера… — оптимизатор.


Выкатил новую версию.

 

Настоящий мужской оптимизатор конечно же должен быть консольным. Этот красавчик быстр – 10 лет 5-минуток на простой стратегии вместе с вычислением всяких там PF, RF 0,3 секунды. И это на одном потоке! (с многопоточностью, к слову, пока не смог подружить, но заложил такую возможность).

Бэктестер берет задания из csv файла и пашет. Т.е. на данный момент задания на оптимизацию задаются в момент создания файла с заданиями, решил поменять план оптимизации – меняю файл – меняется дальнейшая оптимизация. Т.е. по факту сейчас план на оптимизацию предустановленный, но легко прикрутить в дальнейшем оптимизацию с обратной связью на результаты предыдущих бэктестов. Меня всегда смущали стандартные оптимизаторы в этой части – где перебирается один параметр, или несколько строго итерационно, но я не мог задать явно другие алгоритмы перебора или в общем случае даже не перебора, а «изменения» значений. А здесь могу: т.е., могу за раз закинуть задания сразу на нужное количество гипотез, хочу посмотреть, как стратегия себя ведет между тикерам – не трогаю ничего, меняю только тикер, хочу проверить как ведет себя между тайм-фреймами – меняю только тайм-фреймы и т.д., т.е. минут за 5-10 во всемогущем экселе можно создать файл с заданиями для нужного набора гипотез. Потом когда бэктестер отработает – берешь эксельку и дата-майнишь данные.

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

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

Если вдруг кто-то собирался завидовать – не надо, вам бы не понравился мой оптимизатор. Думаю, он будет нравиться только мне! :)


Получается, я использую индикаторы?

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

Когда мне говорят: Юзаешь индикаторы? – Фу какая мерзость – отвечаю обычно.

А ведь что есть индикатор, если обобщить – это одно или несколько значений, закрепленных за свечой. Т.е. то, что это что-то отрисовывается на графике, содержится в стандартных пакетах индикаторов – это несущественные признаки. Основное – то, что на каждой свече есть какое-то значение. А я постоянно что-то считаю на каждой свече – волатильность, ликвидность, рэйндж, ускорение, что-то ещё. И если с этой стороны посмотреть, то я тоже, получается, использую индикаторы((.


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


Как по мне, индикаторы надо использовать в паттернах. «Индикатор пересек» — конечно тоже паттерн, о это не то. Паттерны должны быть поинтересней, похитрее. А чтобы к таким паттернам прийти, желательно идти не бездумно, а с пониманием физического смысла индикатора. Само название «индикатор», этимология слова – индикатор нам показывает что-то, какой-то физический процесс, какое-то явление. Может и не показывать, индикатор ради индикатора (теоретически, такие есть, наверное).

Индикаторы заманивают своей простотой, вот вам линия, ребята, вот тут как бы очевидно как вы это просто можете использовать. Вот эта красненькая вниз наклонилась – покупайте, вот, ну смотрите же, ну глазами сопоставьте, видите: когда вниз обычно падает, ну? – всё поняли? – ну всё, давайте теперь торгуйте. На самом деле, нужно вытаскивать застревающие в этом болоте ноги и идти дальше по полю индикаторов (если уж ты на него вышел, что не обязательно). Рецепт: физический смысл + глубина рисёча + раскованное мышление.


В общем, я стал немного добрее к стандартным индикаторам и когда-нибудь с ними поиграюсь.


Математическое обоснование выбора стратегии профессиональной эволюции.

2*5 – 2 = 8

3*5 – 3 = 12

10*5 – 10 = 40

 

10 > 3 > 2

40 > 12 > 8



Это, я что хотел сказать-то своим «математическим обоснованием» (которое, конечно, больше шутка, но как иллюстрация – очень даже наглядно) — лучше развивать сильные стороны, чем вытягивать слабые.

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

 

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

 

Крутой аналитик – будь крутым аналитиком, нравится трейдинг – стань алго-трейдером с упором на аналитику, заведи себе крутые аналитические инструменты, развивай этот плюс, твои стратегии будут самыми робастными, портфели самыми диверсифицированными, закономерность самыми крутыми. Не надо пытаться отъедать хлеб у «крутого программиста», ты его никогда не переиграешь на его поле. И не надо, направлять усилия туда гораздо менее эффективно.

Да, понятно, если говорить про алго, надо уметь разное – и кодить, и архитектуру приложения придумать и аналитить и т.д., но вот на что делать упор – тут уже выбор каждого. Играть всегда комфортней на своём поле. И это эффективней. Да, есть синергетический эффект, но и он не отменяет «специализации».

Если что, из приведенной неполной классификации я – «крутой аналитик».


Мартингейл наоборот.

Пирамидинг, мартингейл, усреднение. Не надо спорить о нюансах понятий. Идея этих штук какая: проседаешь — докупаешься, обычно нарастающим сайзом.

А ведь закрываться можно так же — не обязательно связке с аналогичным подходом к набору позы, можно и автономно. Когда ты открываешься — у тебя ограничению по капиталу, когда закрываешься — ограничение по размеру позы. Т.е., исходя из волатильности прикидывать шаг цены, с которым закрываться и агрессивность наращивания размера заявок. Если подумать, что при открытии что при закрытии, при использовании подобного подхода, надо ориентироваться на что-то типа характера распределения движений по выбранной системе входов, на хвосты и т.д.

 

В общем надо тестить, может кто уже?

Просто со входом многие так балуются, про выходы не слышал.


Недостаток итерационного бэктестера - возможность заглядывать в будущее (на самом деле нет).

«Один из недостатков итерационного бэктестера — возможность заглядывать в будущее». 

Серьёзно? А не судьба написать защиту от заглядывания, чтобы код стратегии физически не мог этого сделать.
Мой вот не заглядывает) — запретил)).

Всё-таки свой полностью контролируемый, не переусложненный, с нужным именно тебе набором функциональных возможностей софт — это круто!

Налогообложение на Валютной секции. Доколе?

Привет.

В связи с этим https://smart-lab.ru/blog/521551.php топиком у меня вопрос (просто в тему, может там с налогообложением и никак не связано) :
а чем секция такая особенная, что брокеры по ней не выступают налоговыми агентами? — В брокерских калькуляторах хотя бы посчитать доход, сумму налога можно? — Хотя бы напомнят, что нужно уплатить налог?)

 

Сам никогда на Валютной секции не торговал.


3 уровня познания истины.

Все чаще стал подмечать подобный расклад вещей, поэтому пора поведать о нём миру)).

 

Выделил 3 этапа в познании истины, вернее не всегда это этапы, в смысле кто-то почти сразу попадает на высшую ступень, кто-то не дойдет до неё никогда…

 

Уровень 1.

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

 

Уровень 2.

Системность. Простые работающие схемы, модели.

 

Здесь следует, наверно, временно прервать перечисление и немного прокомментировать. Уровни 2 и 3 – это эффективные уровни – оно работает, оно эффективно. Если говорить о трейдинге, то переход на второй уровень – это построение своей простой, но работающей стратеги – пусть даже одной, в алго это, например, осознание того, что не должно быть больше 1-3 параметров в стратегии чтобы не было подгонки и т.д.

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



( Читать дальше )

Скорости бэктестов. Вопрос.

Всем привет.

Сориентируйте, пож, у кого какие скорости бэктестов на используемой вами технологической платформе. Допустим берем простенькую стратегию с простой логикой — свечная конструкция или что-то аналогичное, где сама торговая логика не ёмкая по вычислительным затратам. Допустим один прогон 5-минуток (речь о свечных данных) за 5 лет сколько будет выполняться?

Изначально хотел узнать, какие скорости на Wealth-lab, но было бы интересно и на других платформах. Сейчас столкнулся с тем, что текущая платформа дает не удовлетворяющую скорости — вот думаю, или адаптироваться или же есть смысл посмотреть в сторону Велс-лаба и т.д…

Секрет успешного трейдинга ещё никогда не был таким простым и гениальным... подробности внутри.

Ну да, название темы немного кликбейтное, но не пропадать же такой ценной идее из-за небольшого охвата аудитори)). Идея мне реально нравится, думаю, в ней много мудрого и кому-то, возможно, это поможет. Пост про внутреннюю гармонию при принятии решений в трейдинге.

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

 

В основном в трейдерских кругах постулируется наступание на горло своим эмоциям. Типа учись контролировать, со временем очерствеешь и т.д. Правильно ли это? Сложно сказать, сейчас вот задумался, что, возможно, не очень.

 

Вообще, все эти инстинкты, эмоции, ощущения – это все про подсознание, подсознание – мощнейшая сила, драйвер внутри нас. Идти наперекор подсознанию не рекомендуется, себе дороже, почему же здесь по-другому?

 

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



( Читать дальше )

Цели на 2019 год: Начало.

Цели на 2019 год: Начало.


Цели:

1. Отэксплуатировать на бэктесте подмеченную ранее на одной неликвидной бумажке закономерность. Done.

2. Запостить для галочки результата бэктеста с растущей эквити. Done.

3. Собрать под постом комментарии вида: «почем робот?», «а ты результаты реальной торговли этого алгоритма покажи», «ну и чё, небось инвесторов зазываешь?», «фи, у меня вагон таких и даже получше». В работе.

4. ...

...

 

Ладно, если что пост полушуточный. Но закономерность реальная. Интересный кстати челлендж замутить экзекьюшн для неликвидной бумаги, чтоб потом не писали: а чей это робот свечу нарисовал на 25% выше рынка?

Кстати, кто-то торгует алгоритмически слабо-ликвидные активы — ну там с дырявыми стаканами и т.д.? Там же роботы точно есть, может это, конечно, маркетмейкеры просто, но может ведь и нет.


теги блога Replikant_mih

....все тэги



UPDONW
Новый дизайн