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

по

Как алготрейдер ручками торговал...

    • 16 апреля 2020, 17:08
    • |
    • Vanches
  • Еще
Здравствуйте, коллеги!
Если вы не знаете про мой путь в трейдинге, то предлагаю вам загляднуть сюда. Та конференция состоялась почти год назад… возможно следующая конфа будет в режиме оналйн?)

Сегодня я вам расскажу о том как перенёс свой алготрейдерский опыт в ручную торговлю. Я нахожусь в регионе где карантин объявлен уже более двух недель. Всё это время я старался проводить с пользой для души, тела и торгового счёта! Поэтому решил попробовать торговать в ручном режиме. Знания и умения которыми я овладел занимаясь алгоритмическим трейдингом очень даже пригодилсь. Была разработана полу автоматическая торговая система. Её описание представлено ниже.


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

Наивный прогноз волатильности

Берём РИ.
Смотрим на high-low за сегодня, вчера и позавчера.

Проверяем гипотезу о чередовании волатильности и её контртрендовости.

Если позавчера было больше, чем вчера, то сегодня должно быть также больше чем вчера.
Если угадали, то получили +1. Если не угадали, то -1. В итоге получаем в среднем +0,28.
Работает.

Если позавчера было меньше, чем вчера, то сегодня должно быть также меньше, чем вчера.
По такой же схеме баллы +1 и -1. В итоге +0,38 в среднем.
Опять работает.

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

Для первого случая получаем среднюю «сделку» в +0,54%. Это что-то типа купленного стрэддла.
Для второго случая получаем среднюю «сделку» в +0,61%. Это что-то типа проданного стрэддла.

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

Возможной стратегией, реализующей эти случаи была бы покупка/продажа стрэддла, например, в 18:30, удержание в один день и скидывание на следующий день в такие же 18:30.

Telagram+Quik+Lua: сам себе мессенджер

Самый простой способ, которым я пользовался долгое время.
Нужно установить две программы: Tor browser и curl.
Первая, чтобы блокировки телеграма обходить. Вторая, чтобы сетевую команду исполнять.

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

В луа после этого всё предельно просто:
str='C:\\curl-7.63.0-win64-mingw\\bin\\curl.exe --socks5 127.0.0.1:9150 '
	str=str..'"https://api.telegram.org/botидентификаторвашегобота/sendMessage?chat_id=айдивашегоаккаунта&text='

str=str..переменная1..": "..переменная2
str=str..'"'
os.execute(str)
Приведенный код будет слать в телеграм значения двух переменных, разделенных двоеточием.
Всё просто, но есть два нюанса:
1. Каждая отправка сообщения сопровождается вызовом окна командной строки, которая всплывает поверх всех окон на одну-две секунды. Поэтому слать такие сообщения на машине, с которой вы работаете, чаще одного раза в минуту, не стоит.
2. Я таким способом пользовался больше года и считал, что он и легкий и надежный, но оказалось, что он легкий, но ненадежный. Один раз у меня случилась такая штука. Всплыло черное окошко командной строки, сообщение в телегу не ушло, окошко продолжило висеть. Видимо, какой-то сетевой сбой. И, как оказалось, квик-поток, вызвавший эту командную строку через os.execute, тоже завис и квик перестал коннектиться почему-то, потерял данные и тд. После того, как я это окошко закрыл крестиком, квик продолжил работу. Грубо говоря, из десятков тысяч запусков за год применения такого способа 1 вот такой глюк. Редко, но неприятно.

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


Отправка уведомлений из QUIK на смартфон

    • 14 апреля 2020, 18:52
    • |
    • iddqd3n
  • Еще
К торговому роботу надо было приделать какие-то уведомления, видел кучу вариантов разной степени извращённости, но ни одного адекватного и изящного. На форуме Арки вообще к решению так и не пришли :)

Для себя сделал простой выбор — Slack. Это что-то типа мессенджера («для рабочих групп», как они говорят) с простым и открытым API, без заморочек вообще. Если не нужно городить мощный функционал с форматированием, аватарками, вложениями и прочим, достаточно двух функций, реализованных через HTTP-запросы, которые можно отправлять хоть curl-ом из системной консоли. Для него полно готовых библиотек на любые ЯП, но мне они показались перегруженными в конкретно моём случае.

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

Как заработать на случайном блуждании. Часть 5. Послесловие

    • 13 апреля 2020, 21:11
    • |
    • Toddler
  • Еще

Господа!
Искренне надеюсь, что среди вас есть программисты.
Прошу, как говорится, войти в положение… Не всем же дано шарить в искусстве кодирования на каких-то инопланетных языках.

Вопрос: как из тикового архива в формате .csv, взятого, к примеру, с Дукаскопи, сделать такую вещь, по столбцам:

1. День недели (0, 1, 2, 3, 4, 5, 6)

2. Час

3. Минута

4. Секунда

5. Bid

6. Ask

7. Бит (0/1) принадлежности к реальной или псевдокотировке

Заполнены должны быть все строки таблицы посекундно. Т.е. за сутки должно сформироваться ровно 86400 строк таблицы.

Очень важно — если не было в данную секунду реальной котировки, записывается предыдущее значение.
В столбце 7 прописываем бит = 1, если котировка реальная, 0 — если псевдокотировка (т.е. предыдущее значение)

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

В обмен — будущий Грааль. А?

С уважением,
Toddler.

★Что делать?! Нефть, нервы и ТС...

    • 12 апреля 2020, 20:53
    • |
    • FullCup
  • Еще
Часть из Вас знает про мой алготрейдинг в нефти: Робот Торговой Системы (ТС) торгует фьючерсом нефти Brent. ВСЁ ТУТ ПО ССЫЛКЕ
Но нервы уже на пределе: да, «вола» выросла, но выросло число сделок; количество вишенок выросло (вот за апрель ДЕВЯТЬ сорвано — я даже не выкладываю их, как раньше!), но и число запИлов выросло. Прямо бесят откровенные стопосъёмы!
Вот Эквити робота ТС в шагах (пунктах, центах) с начала апреля:  (По абсциссе — номер срабатывания сигнала ТС, по ординате — результат в шагах (пунктах, центах) на один контракт.)
★Что делать?! Нефть, нервы и ТС...
Кто понимает, тот знает, что это универсальный Эквити: Можете это итоговое значение (в шагах на один контракт) умножить на стоимость шага (сейчас 7,37 рубля) и умножить на количество торгуемых Вами контрактов. Ну и далее — Вы знаете.
******************************
Теперь вопросы:


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

Срок подачи 3-НДФЛ продлён до 30 июля 2020 года

Уважаемые смартлабовцы, сообщаем, что Правительство РФ приняло решение перенести крайний срок подачи декларации 3-НДФЛ с 30 апреля на 30 июля 2020 года.

Таким образом, если налогоплательщик обязан отчитаться за 2019 год, например, о дивидендах, полученных от иностранных источников, или об инвестиционных доходах, полученных через иностранного брокера, то подать декларацию можно не позднее 30 июля 2020 года.

Если цель предоставления декларации 3-НДФЛ — получение налоговых вычетов, то подать её можно также до 30 июля 2020 года. Напоминаем, что вычет можно получить в течение трёх лет. Например, если клиент пополнял ИИС в 2019 году и хочет получить вычет со взносов за данный календарный год, то декларацию можно предоставить в 2020, 2021 или до конца 2022 года. В том случае, когда в декларации за 2019 год клиент совмещает налоговые вычеты и отчёт о получении доходов, срок подачи устанавливается не позднее 30 июля 2020 г.

Для подачи декларации понадобится:

Заявление о присоединении к регламенту (выдается при заключении договора на ведение ИИС. Если заявления нет, копию можно запросить в «Открытие Брокер»).



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

Open Source : Lua - MatLab Connector (3)



Краткое описание :

Библиотека Matlab2Lua  позволяет интегрировать Lua скрипты и Маtrix Laboratory Engine.


Полное описание :

Библиотека позволяет Lua и Матлаб обмениваться данными при помощи функций :

lua variable = Get( string Matlab varname );  — получение переменной из среды матлаб по имени, поддерживаются Double Array, Cell Array of Strings, Double Value, Integer Value, String Value. Возвращает -1 в случае неудачи.

int Eval ( string MatlabСommand ) — передает команду в MatLab Command Line, в качестве переменной типа string; возвращает -1 в случае неудачи, и 1 в случае успеха.

int PutVal( string Name, string/number Value) — передает в Матлаб значение Value типа string или number под именем Name. 1- успех, -1 — неудача.

int PutDouble( string Name, table T) — передает в Матлаб под именем Name таблицу Луа, заполненную численными значениями. Ответ — аналогичный.

int PutCell( string Name, table T)  — передает в Матлаб под именем Name таблицу Луа, заполненную строковыми или численными значениями, подлежащими преобразованию в строки. Ответ — аналогичный.


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

Интеграция Lua и С++ (2)


Обмен данными между Lua и Сpp осуществляется через Lua-стэк, то есть через специальным образом структурированное (по принципу Last In — First Out) пространство. 


Интеграция Lua и С++ (2)

Иллюстрация процесса добавления переменных в Cтэк (Push) и извлечения переменных из Стэка (Pop).

Иными словами, Lua стэк — это одномерный массив переменных (список, строка) с прямой (от 1 до n) индексацией.



Заполняется стэк командами lua_push (С-side) :

void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L,  const char *s);

и другими. 


Новой переменной в стэке Луа длинной n автоматически присваивается индекс [n+1] или [-1], где n+1 — абсолютный индекс переменной, а -1 — индекс новой переменной относительно конца (!) стэка. 




Доступ, к переменным, соответственно осуществляется функциями lua_to (C-side) :

lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);
где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.

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

Почему случилось bear market rally в США с 23 марта и до конца квартала?

В двух словах. Фонды (в т.ч. пенсионные и суверенные) держат активы в соответствии с инвест.декларацией. 
Например, у вас написано, что фонд должен держать 70% в акциях и 30% в облигациях.

Рынок акций упал на 30% в течение всего одного квартала. Допустим ваш портфель пострадал примерно как индекс.
Доля акций в вашем портфеле упала с 70% до 49%. 
Если облигации не упали в цене, их доля выросла с 30% до 51%.

Что получается? Вам надо до конца квартала провести ребалансировку портфеля. То есть сократить портфель облигаций на 42%, чтобы понизить его долю с 0,51 до 0,3. И на эти деньги докупить акций. Таким образом веса выровняются и снова станут 70-30.

Аналогично по этой же причине могло упасть золото.

Не знаю как точно, но видимо фонды делают ребалансировку под конец квартала. 28 марта об этой ребалансировке писали на Zerohedge, называя даже сумму = $850 млрд.

Это все в общем очевидно наверное, на всякий случай написал.
Почему случилось bear market rally в США с 23 марта и до конца квартала?

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