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

по

Стандартный сервер общения с Telegram через ЛОГ и из Роботов для Os Engine.

В сервис логирования OsEngine добавлен функционал отправки сообщений в Телеграм.

Там же добавлена возможность принимать и обрабатывать команды от своего Телеграм-бота.

Стандартный сервер общения с Telegram через ЛОГ и из Роботов для Os Engine.

 

1. Создание бота в Telegram для приема сообщений.

Нам будет нужен бот в самом мессенджере Телеграм. Для его создания используем BotFather – это официальный бот мессенджера, который позволяет создавать ботов и управлять ими.

Ищем его в поиске Телеграм:



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

Как я пришел в алготрейдинг. Часть 1.

  День добрый! Проанализирова недавнюю мою дисскусию на смартлаб с очередным гуру от алготрейдинга и активно зазывающего подписаться на его стратегии по автоследованию в Тинькофф, решил опубликовать свою историю как я пришел в алготрейдинг и что из этого получилось на текущий момент и почему автоследование это очередной развод кроликов по моему мнению (и не только моему). 

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

  Я был одним из тех, кто начал торговать на рынке акций еще в далеком 2002году. И в начале все было хорошо, акции росли как на дрожжах и лучшей стратегией было покупать на просадках и те акции, которые выросли меньше других и никогда не продавать. Я был уверен, что могу зарабатывать деньги на этом, но я ошибался. Первый же кризис, связанный с делом Юкоса обнулил мой счёт.



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

10 лет торговли опционами

Изучая посты вспомнил, что я уже 10 лет торгую опционами. Именно, в январе 2012 начался путь опционщика с изучения бесплатной лекции Твардовского https://youtu.be/TCe0LZeeDWo. Чтобы понять, как работают опционы, в том числе, какие риски несут потребовалось около недели. Меня удивляют платные и не дешёвые предложения, типа https://smart-lab.ru/blog/754445.php. Чтобы базово освоить опционы, не вдаваясь в математику, особого ума и тренера не нужно. Необходимо только желание.

 

Риски.

Главное было уяснить, что при продаже риск такой же, как как при удержании базового актива. Данное понимание оградило меня от больших неприятностей на торговом счёте. Придерживаюсь его и сейчас. Например, если у меня 300т.р. на депозите, то я могу себе позволить работать не более, чем 10-ю контрактами SR30000 (30000*10=300000).

 

Дешёвые опционы.

От работы с дешёвыми опционами я отказался на начальном этапе. Продажу краёв не рассматривал по двум причинам.

  1. Риски. С моим понятием риска можно было заработать копейки.
  2. Издержки. Например, когда продаёшь опцион с ценой 50 рублей, а платишь 5 рублей бирже и брокеру, издержки составляют 10%. Это тоже нарушало мои «не более 2-3%».


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

Пошаговое руководство: как инвестировать в IPO раньше толпы и заработать на этом

Лонгрид рассказывает, как защитить инвестиции и получить дополнительную прибыль в pre-IPO сделках. Из материала вы узнаете, как купить акции частных компаний дешевле рынка и продать их по рыночной стоимости. Обычно этот подход применяют крупные фонды, но есть случаи, когда он доступен частным инвесторам. Дальнейшая речь пойдет именно о таких случаях.

 Пошаговое руководство: как инвестировать в IPO раньше толпы и заработать на этом

Чтобы упростить восприятие метода, я разбил его на шаги. Получилось семь штук. Сначала идет теоретическая часть, затем более прикладные вещи. Лучше читать подряд, но если вы имеете базовое понимание о стадиях развития компании и pre-IPO сделках, то матчасть можете пропустить.

Дисклеймер: данный материал опубликован для ознакомления и не является инвестиционной рекомендацией. И руководством к действию он тоже не является. Любые операции на финансовых рынках опасны, и все читатели понимают и принимают этот факт.



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

Очередная подборка полезных сайтов.

Много выходило топиков по этой теме.
Собрал все в один вам.

Время торгов мировых бирж

http://stocktime.ru

Реальная статистика трейдеров и их сделок, стата может быть интегрирована в аккаунт на profit.ly с помощью платформы (thinkorswim, intereactive brokers и др.)

https://profit.ly

Календари статистики и отчетности

http://mfd.ru/calendar

https://www.forexfactory.com

https://ru.investing.com/economic-calendar/

https://stockinfocus.ru/economic-calendar/

https://www.finam.ru/analysis/macroevent/default.asp

https://www.biopharmcatalyst.com/calendars/fda-calendar

Сплиты

https://www.briefing.com/calendars/splits

https://www.nasdaq.com/market-activity/stock-splits

Отчеты СОТ

https://www.cftc.gov/MarketReports/CommitmentsofTraders/index.htm

Карта рынка



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

Техника входа и выхода. +Анонс "Алгоритмы и стратегии торговли на NYSE и Nasdaq"

Прежде анонс топика который выйдет завтра в обед по мск. 
«Алгоритмы и стратегии торговли на NYSE и Nasdaq»
Будет предоставлено несколько алгоритмов и стратегий.
В теме, отбор акций, анализы сделок, точки входов, модели баров, расписан весь торговый день от начала и до конца торгов,  то есть полный алгоритм торговли акциями.
Так же будет список полезных сайтов для торговли на NYSE, список брокеров на NYSE.
Несколько скринов с материала.
Техника входа и выхода. +Анонс "Алгоритмы и стратегии торговли на NYSE и Nasdaq"
Техника входа и выхода. +Анонс "Алгоритмы и стратегии торговли на NYSE и Nasdaq"

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

Наши руки не для скуки или о пользе опционов.

    • 31 августа 2019, 14:47
    • |
    • Andy_Z
  • Еще

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

За рынком наблюдаю, как там несчастная Алроса поживает вместе с менее несчастным Сургутом.

В общем, скучно. Решил немного размяться внутридневной торговлей RI. День торгую, два, копеечки собираю.

А тут раз и неудача. Купил 14 августа контракт на RIU9 по цене 129350, поставил близкий тейк и ушел. А оно как полетит вниз. Прихожу, уже 126000, убыток больше 4000 руб., и что делать? Фиксировать убыток жалко. Пирамидиться не хочется.  Подумал не долго, посчитал, да и продал 4 колла RIU9 страйка 130000, экспирация 19.09.2019. Средняя цена получилась 1830 за контракт.

На следующий день RI пошел ниже 125000, купил еще контракт фьючерса по цене 124870 и продал контракт колла 125000 страйка той же датой экспирации по цене 3440. Получилась синтетика, проданный пут 125000 страйка. Рынок уходил еще ниже, планировал повторить операцию, если уйдет ниже 122500, но не ушло.



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

Основы (дифуры Ито)

Был такой дядька. Киёси Ито. Работал в статистическом  управлении и писал книжки. Интернета тогда не было, поэтому он, как и Тимофей Мартынов, делал книжки из бумаги и писал в них ручками. Писал он о теории вероятности и стохастике, то есть про кроликов, и внимание. За эти работы он получил степень доктора философии. То есть, тут не столько вопрос в математике, сколько в философии.

Дифур это такой способ записи философской мысли. Когда вы рисуете каналы по лоу на графике, вы даже не задумываетесь, что это касательная, а значит производная функции цены от времени. Для записи мысли или идеи мы воспользуемся дифурами, а потом переведем их. В общем, их особо ни кто не решает. Берут справочник производных и вуаля.  dx/dt = α x => x(t) = x0 e^αt. Уравнение разряда конденсатора dx/dt.  У каждого уважающего опционщика такой справочник есть. Это греки опционов. Там дифур и его значение в обычной формуле, куда можно уже цифры подставить. И все.

Из предыдущего материала мы помним. dx = µ x dt + σ x δW. Мгновенное изменение цены=среднему изменению+размеру изменения*случайное изменение. Давайте этим философским языком пообщаемся. И легче всего это понять методом Кирилла Ильинского.



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

Робот "Два Боллинджера" с исходниками

Хорош философствовать. Давайте писать более полезные посты.
Итак, робот на двух графиках Боллинджера.
Общий принцип:
1) На цену накладываются два графика Боллинджера: с периодами 20 и 120 (назовем их local и global).
2) В зависимости от параметра внутри робота, входим либо когда цена входит внутрь local-Боллинджера (ContrTrendFlag=1), либо выходит из него (ContrTrendFlag=0).
3) Дополнительный фильтр: Лонг только когда когда мы в верхней половине global-Боллинджера, шорт — если в нижней.
Данные робот берет из графиков, так что график должен быть открыт, и прописаны идентификаторы.

График с двумя Боллинджерами выглядит примерно так:

Робот "Два Боллинджера" с исходниками

Настройки на цене и индикаторах не забудьте:

Робот "Два Боллинджера" с исходниками

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

QUIK: Бенчмарк ОФЗ к ставке ЦБ

    Может кому будет интересен скрипт на QLUA, который выступает простым бенчмарком ОФЗ с постоянным купоном к ставке ЦБ.
Основные параметры доходность и премия к ставке ЦБ, с учетом дюрации.
Скрипт не работает онлайн (оперативность тут не принципиальна), при запуске собирает параметры в таблицу и выводит на экран.
В дальнейшем планируется эти данные использовать для анализа премии доходности по дюрации для муниципальных и корпоративных облигаций к ОФЗ.

QUIK: Бенчмарк ОФЗ к ставке ЦБ


    Код скрипта на github (на github две версии одна в utf-8 для просмотра и основная версия в win1251, т.к. quik понимает только его):
github.com/trantor77/lua_scripts/boundsOFZ.lua

    Код скрипта:
--переменные
keyRateCB = 7.5
classCode = "TQOB"

function CreateTable()
    t_id = AllocTable()
    AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15)
    AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15)
    AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15)
    AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15)
    AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15)
    AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15)
    AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15)
    t = CreateWindow(t_id)
    SetWindowCaption(t_id, "ОФЗ")
end

function string.split(str, sep)
    local fields = {}
    str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end)
    return fields
end

function getParamNumber(code, param)
    return tonumber(getParamEx(classCode, code, param).param_value)
end

function formatData(prm)
    return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000)
end

CreateTable()

arr = {}
sec_list = getClassSecurities(classCode)
sec_listTable = string.split(sec_list, ',')
j = 0
for i = 1, #sec_listTable do
    secCode = sec_listTable[i]
    securityInfo = getSecurityInfo(classCode, secCode)
    short_name = securityInfo.short_name
    if short_name:find("ОФЗ 26") ~= nil then
        j = j + 1
        r = {}
        r["short_name"] = short_name
        r["price"] = getParamNumber(securityInfo.code, "PREVPRICE")
        r["yield"] = getParamNumber(securityInfo.code, "YIELD")
        r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365
        couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE")
        couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD")
        r["coupon"] = ((365/couponperiod) * couponvalue)/10
        r["bonus"] = (r["yield"] - keyRateCB)*100
        r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE")
        table.insert(arr, j, r)
    end
end

table.sort(arr, function(a,b) return a["duration"] < b["duration"] end)

for j = 1, #arr do
    row = InsertRow(t_id, -1)
    SetCell(t_id, row, 0, arr[j]["short_name"])
    price = arr[j]["price"]
    SetCell(t_id, row, 1, string.format("%.2f", price), price)
    yield = arr[j]["yield"]
    SetCell(t_id, row, 2, string.format("%.2f", yield), yield)
    duration = arr[j]["duration"]
    SetCell(t_id, row, 3, string.format("%.2f", duration), duration)
    coupon = arr[j]["coupon"]
    SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon)
    bonus = arr[j]["bonus"]
    SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus)
    mat_date = arr[j]["mat_date"]
    SetCell(t_id, row, 6, formatData(mat_date), mat_date)
end
  • обсудить на форуме:
  • Quik Lua

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