Избранное трейдера Volos
Пару лет назад, на одном иностранном сайте (ABC какойт-то там), я наткнулся на подборку неплохих уроков по easy/power language. После перевода с помощью гугл транслейт, они очень помогли мне освоить этот язык. Пожалуй выложу их здесь. Думаю кому нибудь пригодится.
Отлично, вот вы приступили к первому шагу на пути освоения программы Multicharts и Tradestation. Я очень рад отправиться вместе с вами в это увлекательное приключение.
В этом уроке я покажу вам основы работы с PowerLanguage и PowerLanguage Editor. Я много думал над тем как лучше сделать эти занятия. С одной стороны, мы бы могли сразу погрузиться в программирование, а теорию я бы объяснял попутно. С другой стороны, мне кажется что лучше, сначала рассказать об основах, и затем строить практику на этом фундаменте. И когда мы будем делать что-то на следующих уроках, у вас уже будет представление о том, что мы будем делать. И эта информация поможет вам в изучении.
Полезная статья с сайта www.quantinsti.com о тесте на коинтеграцию, применяемому в парном трейдинге.
Как вы знаете, для реализации стратегии парного трейдинга необходимо проведение тестов на коинтеграцию используемых инструментов, и для этой цели часто применяют дополненный тест Дики-Фулера (ADF). Тем не менее, при поиске критериев коинтеграции, ADF не стоит в первых рядах. Скорее, его можно найти по запросу «тестирование на единичный корень (unit root)».
Казалось бы, легко взять книгу по временным сериям и научиться ADF, но эта задача на деле не так проста.Необходимо прочитать не менее 6 глав об анализе временных серий перед тем, как понять различные способы применения ADF в контексте статистического арбитража.
Если вы хотите изучить тест подробно, то прочитайте статью по следующей ссылке: http://robotwealth.com/exploring-mean-reversion-and-cointegration-part-2/
Ранее нигде о подобном подходе не читал. Возможно я скромный первооткрыватель. Натрейдил по системе чуть больше года, более 400% годовых пока, плечо х3. Бай анд холд обогнан в разы. Вообще торгую биткойнами (полюбил я их), но я подозреваю что этот подход ужасно универсален и должен работать везде или почти везде.
Бывают ли на рынках закономерности? ИМХО бывают, просто большинство их найти не может. Если бы большинство могло найти закономерности, тогда они бы их нашли, торговали их, и… никто бы не сливал. Как вы понимаете это невозможно. Невозможна такая ситуация на любом рынке чтобы большинство могло распознать какие-то закономерности. Мне их распознать иногда удается (на биткойне только), но… вскоре они исчезают. И при своем исчезновении дарят прощальный убыток.
В какой-то момент мне это окончательно надоело, и я начал искать для себя «новый подход», без прогнозирования направления тренда или возможной будущей цены. Разумеется я много опробовал, но ничего не работало. Пришлось изобретать велосипед.
Я пробовал создать МТС торгующую наугад. Я знал что она будет убыточной в любом случае. Однако, я хотел понять при каких условиях эти убытки можно свести к минимуму? Мой вопрос был такой — «Какими методами можно свести к минимуму убытки системы торгующей наугад?».
У системы было 50% верных прогнозов, что и не удивительно, наугад же. Далее я экспериментировал с размерами тейка и стопа, пробовал 3к1, 1к3 и 3к3. Как ни странно наименьший убыток был при соотношении 1к1. У других двух убыток был больше. Почему?..
По логике вещей вроде бы тейк 3% / стоп 1% при торговле наугад должен был дать лучший результат (т.е. наименьший убыток), но этого не произошло. Всё дело в том, что чем ближе к текущей цене размещается ордер (стоп-ордер или тейк-ордер не важно), тем выше вероятность что он сработает. Вот и получается, если ставить стоп на 1%, а тейк на 3%, то стоп срабатывает в 3-5 раз чаще тейка. Из-за чего ситуация только ухудшается, при равных значениях тейка и стопа убыток был минимален.
Кстати, это не значит что вам надо делать равные тейк и стоп в вашей стратегии. Это всё актуально только для торговли наугад.
Далее я задумался — «А бывают ли такие моменты на рынке, при которых вероятность срабатывания тейка и стопа будут равны, притом что тейк больше стопа?». То есть, я хотел найти такую ситуацию, где я могу ставить тейк 3%, стоп 1% и чтобы вероятность их срабатывания было 50/50. При таких условиях стратегия была бы прибыльной.
Самое удивительное я такие места нашел! Вот уж не ожидал. Когда рынок вылетает из флета в любую сторону, то он движется без всяких откатов некоторое время только в одну сторону. Я в прямом эфире наблюдал за стаканами и видел что в этом «безоткатном» режиме трейдеры почти всё время закрывают ордеры из стакана только в одну сторону. Таким образом, рынок долго летит либо в одну сторону, либо в другую, но не откатывается, не «пилит» при этом. А значит в этом месте шанс что стоп сработает будет 50%, и для тейка 50%, даже если тейк в 3 раза больше стопа. Типа эврика! :)
Ну вот так и торгую. Повторюсь больше года, более 400% годовых, более 100 трейдов. Плечо х3, биткойн (не принципиально).
Как я вижу использование этой идеи. Надо изучить свой торгуемый инструмент и найти у него эти «безоткатные» места. Измерить насколько %% обычно движение. Чтобы знать какой тейк ставить. Стоп просто в 3 раза меньше и все. Как только появится такое движение — открывать сделку.
Еще одна статья с ресурса www.talaikis.com по разработке простой стратегии на модели Маркова с использованием Python.
Модель скрытых состояний Маркова — это производительная, вероятностная модель, в которой последовательность наблюдаемых переменных генерируется некоторыми неизвестными (скрытыми) состояниями. Мы попытаемся найти такие неизвестные вероятностные функции для, скажем, S&P500. Все опишем кратко, без проверок на ошибки, без тестов вне выборки и т.д. Мы делаем это для того, чтобы минимизировать склонность к ненужному усложнению для начинающих. (Подробнее о модели Маркова см. на моем сайте — www.quantalgos.ru)
Что будем использовать:
библиотеку Python - hmmlearn.
1. Данные. Возьмем данные по свечам (OHLC), включающие объем, из нашей базы
Добавляю код сделанного мной индикатора Parabolik в котором параметр ускорение зависит от волатильности. Чем больше волатильность, тем больше увеличивается ускорение и индикатор быстрее «догоняет» цену. Подобные есть на просторах интернета для метатрейдера (и не бесплатно), для квика не встречал.
Видно, что он дает меньше перескоков (красный), чем обычный Parabolik (черный). Хорошо себя зарекомендовал для выходов из позиций, открытых по тренду. На вход в боковике конечно будет давать ложные сигналы, как и обычный Parabolik (но меньше!), создатель которого не рекомендовал только его использовать для открытия позиций.
Код индикатора:
Settings = { Name = "Parabolic ATR", Period_ATR=14, line = {{ Name = "Parabolic ATR", Type = TYPE_POINT, Color = RGB(255,0,0), Width = 2 } } } old_idx=0 long=false short=false revers=false function Init() return 1 end function OnCalculate(idx) if idx<Settings.Period_ATR then return nil else if idx==Settings.Period_ATR then psar={} psar[idx]=L(idx) long=true hmax=H(idx) per_ATR=Settings.Period_ATR local TR=0 for js=(idx-per_ATR),idx-1 do TR=(TR+H(js)-L(js)) end Old_ATR=TR/per_ATR revers=true else if idx~=old_idx then local TR=0 for js=(idx-per_ATR),idx-1 do TR=(TR+H(js)-L(js)) end local ATR=TR/per_ATR af=ATR/(Old_ATR+ATR) af=af/10 Old_ATR=ATR if long then if hmax<H(idx-1) then hmax=H(idx-1) end psar[idx]=psar[idx-1]+af*(hmax-psar[idx-1]) end if short then if lmin>L(idx-1) then lmin=L(idx-1) end psar[idx]=psar[idx-1]+af*(lmin-psar[idx-1]) end revers=true end if long and L(idx)<psar[idx] and revers then psar[idx]=hmax short=true long=false lmin=L(idx) af=Step revers=false end if short and H(idx)>psar[idx] and revers then psar[idx]=lmin long=true short=false hmax=H(idx) af=Step revers=false end end old_idx=idx return psar[idx] end end