Избранное трейдера MrD

по

Беспроигрышная стратегия для фьючерсов. Чудеса и их разоблачение

О чудесах календарного спреда фьючерсов уже доложено в статье некого 3Qu. smart-lab.ru/blog/586202.php

Поэтому сразу приступим к разоблачению. Какая проделана работа.
В Qukk'е на QLua написан монитор, который с 2020.01.17 по 2020.02.06 каждые 200 мсек записывал в текстовый файл офера и биды RIH0 и RIM0. Эти данные представлены как стандартный файл котировок Метастока, где Open = Bid(H0), High = Ask(H0), Low = Bid(M0), Close = Ask(M0).
Программа WealthLab показывает график этого файла, не понимая его значения. Но мой скрипт на C# по этим данным строит другие графики:

Диаграмма из WealthLab
Две точечные линии, зелёные и красные ступеньки, в середине центральной панели:
1) SpreadLong = Ask(H0) — Bid(M0).
2) SpreadShrt = Bid(H0) — Ask(M0).
По цене SpreadShrt приходится продавать спред фьючерсов, когда он дорог а по цене SpreadLong — покупать спред, когда он подешевл.
Чтобы определить, дорог спред или дёшев, строим скользящие средние  с горизонтом 10 мин (серые линии)

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

Получение котировок акций при помощи Python

    • 08 февраля 2020, 19:13
    • |
    • Aleks
  • Еще

Статья о том, как получить ежедневные исторические данные по акциям, используя yfinance, и минутные данные, используя alpha vantage.

Как вы знаете, акции относятся к очень волатильному инструменту и очень важно тщательно анализировать поведение цены, прежде чем принимать какие-либо торговые решения. Ну а сначала надо получить данные и python может помочь в этом.

Биржевые данные могут быть загружены при помощи различных пакетов. В этой статье будут рассмотрены  yahoo finance и alpha vantage.

Yahoo Finance

Сначала испытаем yfianance  пакет. Его можно установить при помощи команды pip install yfinance. Приведенный ниже код показывает, как получить данные для AAPL с 2016 по 2019 год и построить скорректированную цену закрытия (скорректированная цена закрытия на дивиденды и сплиты) на графике.

# Import the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook
import yfinance as yf

# Get the data for the stock AAPL
data = yf.download('AAPL','2016-01-01','2019-08-01')

# Import the plotting library
import matplotlib.pyplot as plt
%matplotlib inline

# Plot the close price of the AAPL
data['Adj Close'].plot()
plt.show()


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

Брошенная стратегия. Дневник разработчика.

    • 06 февраля 2020, 16:47
    • |
    • 3Qu
  • Еще
Сегодня окончательно сделал и протестировал DLL. DLL через Lua получает из Quik реал-тайм данные о истории, состоянии текущей свечи, стакане, ленте сделок и пр., и поставляет все эти данные в ТС. Также DLL считает (пока не все) необходимые данные для оценки вектора текущего состояния инструмента, и также передает их ТС. Сама ТС еще не написана, только данные получает. DLL также пишет все получаемые данные в БД Sqlite, где они, при необходимости, доступны ТС.
И, чтобы не быть голословным, картинки.
История, последние 15 записей:
Брошенная стратегия. Дневник разработчика.

Лента сделок, последние 15 сделок.
Брошенная стратегия. Дневник разработчика.

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

Quik->Lua->C++DLL. Опыт разработки и немного кода.

    • 04 февраля 2020, 13:54
    • |
    • 3Qu
  • Еще

Начал вчера работы по реализации "Брошенной стратегии". Хорошо когда есть наработки: взял готовые куски кода, немного доработал под новые нужды, соединил их вместе и уже все готово — почти все необходимые данные передаются в DLL, расставляются по местам и готовы к использованию. С этим почти закончено, остальное будет делаться по ходу пьесы, и по мере необходимости.

С передачей данных закончено, а стратегия даже не начиналась. Система новая и архитектора системы пока не ясна, есть несколько вариантов, выбрать из которых не так просто.
Пока суд, да дело, решил написать о передаче данных из Quik в С++DLL.
О том как сделать простую С++DLL для работы с Quik-Lua написано на сайте https://quikluacsharp.ru  здесь и о передаче данных из Lua — здесь и в других материалах сайта. Наверняка многие из вас все это видели и знают, а некоторые это даже применяют. Я это все не использую, не очень разбирался, но, тем не менее, сам сайт



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Несостоявшаяся стратегия.

    • 30 января 2020, 20:50
    • |
    • 3Qu
  • Еще

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

Но, давайте о самой стратегии.
Пусть текущее состояние инструмента в каждый момент времени описывается вектором X(t)={x1(t),x2(t),...,xi(t),...,xn(t)}, где x(t) — могут быть значениями индикаторов, какими либо значениями, вычисляемыми по неким формулам, значениями, типа, да/нет, фазами Луны, если вы считаете, что Луна как-то связана с поведением инструмента. В общем, значениями чего угодно, что по вашему как-то характеризует состояние инструмента в текущий момент, и может как-то быть связанным с его поведением в будущем. На отрезке истории вектор X(t) будет принимать большое количество различных значений и образует множество состояний или пространство состояний инструмента.
Чтобы как-то получить с инструмента прибыль мы должны предположить, что в пространстве состояний имеются некоторые устойчивые области, при нахождении в которых вектора X(t) мы сравнительно безопасно можем войти в сделку, и даже получить некоторую прибыль. Наша задача в том, чтобы попытаться обнаружить такие области в пространстве состояний. Задача, в общем, не тривиальная, но решаемая методами мат. статистики. Если такие области не будут обнаружены, то, либо они отсутствуют, либо выбранные вами компоненты вектора X(t) не описывают состояний инструмента, и вам следует попробовать другой набор параметров x(t) в векторе X(t).
Если же вам удалось найти такие области, то можно попробовать сократить размерность вектора X(t), выбросив из него малозначимые параметры x(t). После этого нам надо проверить нашу модель на других отрезках истории, и если модель продолжает оставаться работоспособной, то можно переносить ее в торговую систему и готовить к работе на рынке. Если мы не занимаемся пипсовкой, то истории на ТФ 1 мин для таких прогонов вполне хватает.
Именно такой стратегией для фьючерсов Сбербанка я занимался прошлым летом, и получил вот такой результат.
Несостоявшаяся стратегия.



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

Теория и Практика Дельта-Хеджа


Для того, чтобы продать волатильность, нам необходимо продать стрэддл — этим, мы полностью избавляемся от чувствительности к направлению движения цены, оставляя при этом чувствительность к «волатильности»… Чтобы не запутаться, обозначим первую волатильность за IV (Implied Volatility) и будем считать  её заранее известной и эффективной. 


Если бы рынок был монеткой и выходил бы на экспирацию двумя возможными вариантами {+IV, -IV }, то результатом продажи нашей опционной конструкции был бы ровно 0, в силу равенства IV=RV. Но рынок выходит на экспирацию через «тренды» и «пилы», которые выводят Базовый Актив в том числе далеко за ± IV, и в том числе и в ноль.  В результате, конечное отклонение от ± IV  и, соответственно, риски, которые мы принимаем при продаже стрэддла, составляют приблизительно :

Теория и Практика Дельта-Хеджа

где S — СКО, RV ( «реализованная волатильность»)   - отклонение цены на экспирацию, t — время до экспирации, а сигма0 — величина шага движения цены. Это уравнение можно получить численно, а можно, взяв интеграл по соответствующему распределению Гаусса (аналитический вариант).  

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

Полный список льгот по НДФЛ для владельцев ИИС

Индивидуальный инвестиционный счет (ИИС)

Действует с 01.01.2015г.

ИИС-А – получение вычета до 52 тыс. руб. ежегодно,
ИИС-Б – полное освобождение от НДФЛ дохода от торговых операций.

  • 1 инвестор = только 1 ИИС, мин. срок существования ИИС — 3 года с даты его открытия,
  • макс. взнос на ИИС — не более 1 млн. руб. в год

Льгота на долгосрочное владение ценными бумагами (ЛДВ)

Действует с 01.01.2015г.

ЛДВ – освобождение от НДФЛ дохода от торговых операций от 9 млн. руб. по бумагам:

  • обращаемых на организованных торгах, а также паям ОПИФов,
  • приобретенным не ранее 01.01.2014г. и находящихся в непрерывном владении не менее 3 полных лет,
  • размер освобождаемого от НДФЛ дохода определяется по формуле: кол-во лет владения х 3 млн. рублей.

Льгота на долгосрочное владение ценными бумагами высокотехнологичного (инновационного) сектора экономики (ЛДВ-РИИ)



( Читать дальше )
  • обсудить на форуме:
  • ИИС

Сравнение ЕМА и фильтра Баттерворта 2-го порядка.

    • 24 января 2020, 20:39
    • |
    • 3Qu
  • Еще
В связи с моим топиком  Фильтр Гаусса N-ного порядка как индикатор, в комментариях возник вопрос сравнения задержек фильтра Баттерворта 2-го порядка и ЕМА.
Для сравнения групповых задержек различных фильтров обычно сравнивают их отклики на единичный скачок 1(t). Это, типа, ступенька высотой 1.
Сравнение ЕМА и фильтра Баттерворта 2-го порядка.
На рисунке сравниваются отклики на единичный скачок 2-х фильтров с периодом 50. SMA с периодом 50 приведена здесь как калибровочная.
Из рисунка можно видеть, что групповая задержка фильтра Баттерворта при одинаковом периоде Т составляет по уровню 0.5 на ~5 отсчетов больше чем у ЕМА.
Простите, а что-же вы хотели увидеть, если фильтром Баттерворта мы обрезали ВЧ часть спектра сигнала? ЕМА плохо подавляет ВЧ компоненты сигнала, отсюда и такая нервная реакция на любой чих.
Спрашивается, а зачем тогда вообще фильтр, если он мало что подавляет?
Хотите, чтобы фильтр подавлял меньше ВЧ компонент, так уменьшите период сглаживания. Сделаем период сглаживания фильтра Баттерворта Т=25, т.е. расширим полосу пропускания фильтра.

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

Фильтр Гаусса N-ного порядка как индикатор.

    • 23 января 2020, 15:23
    • |
    • 3Qu
  • Еще
Представляю вам статью John Ehlers Gaussian and Other Low Lag Filters, в которой рассматривается построение фильтров Гаусса N-ного порядка и их использование в качестве индикаторов. Статья старая, ей более 10 лет, но фильтры не стареют, и статья не потеряла актуальности. Обычное применение фильтров Гаусса — это фильтрация шумов в сигналах и изображениях.
Единственное, что в статье у меня вызывает сомнение, это расчет зависимости коэффициентов полинома фильтра от периода сглаживания. Но это проверять надо, а так как я использую схожие, но другие фильтры, то делать это мне нет никакого резона.
Во всяком случае, такие фильтры являются хорошей заменой стандартных МА и существенно превосходят их по функциональности.
При использовании подобных фильтров нет смысла увлекаться фильтрами высоких порядков. Если нет особой необходимости, вполне достаточно использования фильтров 2-го, ну м.б. 3-го порядков.
Ну, и, для полноты картины, еще одна, более ранняя статья автора POLES, ZEROS, and HIGHER ORDER FILTERS By John Ehlers

И опять про монетку.

    • 22 января 2020, 02:21
    • |
    • 3Qu
  • Еще
Сижу, изучаю рыночные временные ряды. Уперся вот во что:
Излагаю в очень упрощенном виде.
Имеются 3 монетки — одна честная и две нечестных, с симметричным перекосом, одна в сторону орла, другая в сторону решки. Без разницы, но пусть вероятности будут 0.75 и 0.25.
В основном бросается честная монетка, но время от времени она подменяется одной из нечестных. Выбор одной из нечестных с вероятностью 0.5.
Таким образом, в любой серии вероятность выпадения орла/решки не изменится и останется 0.5.
Вопрос к читателям — возможно ли в каком либо наблюдении или серии наблюдений установить сам факт использования нечестных монеток? И каким образом?
А если бросать только нечестные и выбирать между ними с вероятностью 0.5. Можно это обнаружить? Сам факт, что с монеткой что-то не так?
Что-то мне сдается, что способов нет.
 
PS Когда уже опубликовал пост понял, что решения у этой задачи нет. Распознать подмену монеток невозможно никаким способом. Это свойство широко используется в технике связи. Процесс называется скремблированием. При этом любая произвольная последовательность двоичных символов превращается в последовательность нулей-единиц с вероятностью 0.5.

....все тэги
UPDONW
Новый дизайн