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

по

Грааль, который вы так долго искали

Юрий Иванович (JC_trader) у себя в LJ один очень хороший пост написал, который мог бы дать ответ на множество вопросов начинающих инвесторов. Я же хочу добавить немного огранки для этого алмаза, превратив его в бриллиант.

Суть в следующем. Возьмем простую трендследящую систему: 

  • если клоуз больше предыдущего клоуза, то покупаем (лонг) на закрытии сессии,
  •  если клоуз меньше предыдущего клоуза, то продаем (шорт) на закрытии сессии.

И попробуем ее протестировать на разных временных периодах. 

Сама система, кстати, по своему гениальна. Во-первых, в ней нет оптимизируемых параметров (sic!) и она либо работает на истории — либо нет. Во-вторых, мы совершаем сделки на закрытии сессии. А открыть/закрыть сделку на закрытии намного легче, чем на открытии. Те, кто профессионально занимался тестированием торговых алгоритмов могут многое об этом рассказать 🙂

Теперь к полученным результатам. Система работает, но только на старшем временном периоде (месячные бары). Почему? Переходим к главному…



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

Моделирование Торговых Систем на Python. 1.

    • 09 мая 2020, 19:31
    • |
    • 3Qu
  • Еще

Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.

Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.

Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.



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

О ситуации с Баффеттом и компанией Berkshire Hathaway.

О ситуации с Баффеттом и компанией Berkshire Hathaway.

Уоррен Баффетт распродал акции всех авиалиний и признался в убытках. И мы должны оценить для себя текущую ситуацию и понять дальнейшие перспективы бизнеса Berkshire Hathaway. Постараюсь внести полную ясность в картину происходящего. Действительно ли Баффетт ставит на падение фондового рынка и каков расклад сил в данный момент.

Долгое время Оракул из Омахи применял один и тот же механизм зарабатывания денег. Он был более подробно освещен в книге его бывшей невестки. Суть в кратце заключалась в том, что ему нравятся компании, которые окупаются за 5 лет. P/E=5 или ниже, у вас надежная классная американская компания, с хорошей рентабельностью бизнеса, можете смело идти к Баффетту продавать свои акции. Но не все так просто. В Америке такие компании стали потихоньку исчезать. Мультипликаторы стали учитывать рост бизнеса. Уоррен стал набирать cash, чтобы приобретать их в тот момент, когда в экономике все плохо. Прибыли сменялись убытками, но он понимал, что на длительной дистанции кризис завершится и появятся докризисные показатели компаний, а также более сильные посткризисные результаты и даже оценки выше справедливых значений. Это было легко экстраполировать на будущее.



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

Результаты торговли в апреле

Метод торговли — скальпинг. Позиции через ночь не переносились.
Инструмент — РИ. Проторговано 66 884 контрактов.
Размер депо на начало месяца 1,3М.

Маржа +341 202р;
Комис бирже -118 944р;
Комис брокеру -6 688р. (0,1р за контракт);
P/L +215 569р.

Результаты торговли в апреле



Результаты торговли в апреле

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

Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

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

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

Традиционный график с результатом перед стеной текста:
Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Источник: Sentimetrica

 

Синяя линия – модификация Моментума на глобальных рынках, зеленая – индекс глобальных акций MSCI World, красная – равновзвешенный портфель из акций, казначейских векселей США и сырьевой корзины.

 

Из всех стратегий американских биржевых гуру – самыми полюбившимися для меня стали идеи получения ВСЕЙ рыночной доходности Джона Богла и CANSLIM Уильяма Онил. У фраз «Индекс в долгосроке всегда растет» и «Лучшие компании остаются лучшими» много общего, верно? Попробуем оформить объединенную стратегию на основе классиков.



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

Какой индикатор нужен для календарного спреда фьючерсов

Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И Quik средствами QLua предлагает такую возможность.
Какой индикатор нужен для календарного спреда фьючерсов
Код довольно прост:

— Складывает Value графиков GraphId1 и GraphId2
— При запуске на загрузке Quik'а работает код предыдущей загрузки
— с последними свойствами, полученными из кода или интерактивно.
— При запуске старые бары графика данных сканируются дважды,
— только если есть подключение к серверу.
— При смене тайм-фрейма старые бары сканируются только единожды.
— При загрузке Quik'а первый скан до подключения к серверу.
CandlesOK = true
Settings = { — После смены тайм-фрейма нужно интерактивное подтверждение
  Name      = "_Add"
  ,GraphId1 = «Tag-1» — Перезадать оба после первой загрузки.
  ,GraphId2 = «Tag-2» — Сохраняются при последующих запусках.
  ,Factor1  = 1       — Для GraphId1
  ,Factor2  = 1       — Для GraphId2
  ,Base1    = 0       — Для GraphId1
  ,Base2    = 0       — Для GraphId2
  ,Value    = «close»
  ,line = { — Исчезает прогррамный доступ после 1-го интерактивного изменения
    {Name = «close»
    ,Color = RGB(255,255,0) — Жёлтый
    ,Type = TYPE_HISTOGRAM — POINT, LINE, DASH, DOT, HISTOGRAM,
    ,Width = 2}            — TRIANGLE_UP, TRIANGLE_DOWN.
  }
}
function Init()
  local s = «Indicator _Add:»
  if 0 == getNumCandles (Settings.GraphId1) then
    CandlesOK = false
    s = s .."\n  invalid GraphId1"
  end
  if 0 == getNumCandles (Settings.GraphId2) then
    CandlesOK = false
    s = s .."\n  invalid GraphId2"
  end
  if not CandlesOK then message (s) end
  return #Settings.line
end — Init()

function OnCalculate (index)
  if index == 1 then
    CandlesOK = true
    if 0 == getNumCandles (Settings.GraphId1) or
       0 == getNumCandles (Settings.GraphId2) then
      CandlesOK = false
    end
    --[[message («Settings.Value »… tostring (Settings.Value)
      .."\nSettings.line "… tostring (Settings.line)
      .."\nCandlesOK  "… tostring (CandlesOK))--]]
    if Settings.Value ~= «open» and Settings.Value ~= «high» and
       Settings.Value ~= «low»  and Settings.Value ~= «close» then
      Settings.Value = «close»
      message («Indicator _Add: Value must be open/high/low/close»)
    end
  end
  if not CandlesOK then return nil end
  local candle1 = (getCandlesByIndex (Settings.GraphId1, 0, index-1, 1))[0]
  local candle2 = (getCandlesByIndex (Settings.GraphId2, 0, index-1, 1))[0]
  local val1 = candle1[Settings.Value]
  local val2 = candle2[Settings.Value]
  — Результат return res == 0 and nil or res всегда 0 при res == 0
  if val1 == 0 or val2 == 0 then return nil end
  return (val1 + Settings.Base1) * Settings.Factor1
    + (val2 + Settings.Base2) * Settings.Factor2
end — OnCalculate()


Качаем исторические данные с MOEX!

Итак, передо мной, уверен, как и перед многими, встал вопрос поиска исторической информации с Мосбиржи. Немного зная python, я написал вот такой парсер:
import requests
import datetime
import pathlib

SECIDs = ["GAZP", "BANEP", "LKOH"]
DISK = "E"
for SECID in SECIDs:
    from_date = "2020-05-04"
    to_date = "2005-01-03"
    while str(to_date) != from_date:
        to_date = str(to_date)
        to_date = to_date.split('-')
        a = datetime.date(int(to_date[0]), int(to_date[1]), int(to_date[2]))
        b = datetime.timedelta(days=140)
        to_date = a + b
        pathlib.Path("{}:/{}/{}".format(DISK, "Database_MOEX", SECID)).mkdir(parents=True, exist_ok=True)
        filename = SECID + "_" + str(to_date) + ".csv"
        with requests.get("http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/tqbr/securities/{}.csv?date={}".format(SECID, to_date)) as response:
            with open("{}:/Database_MOEX/{}/{}".format(DISK, SECID, filename), 'wb') as f:
                for chunk in response.iter_content():
                    f.write(chunk)
Для начала пройдемся по его плюсам и минусам. Самый главный минус, что этот парсер качает только определенный период, который уникален для каждой акции, судя по всему для увеличения этого периода надо кинуть бирже на лапу:), и то что информация предоставляется за день, теперь перейдем к плюсам: можно выкачивать историю за определенный период для нескольких инструментов сразу (их количество ограничивается лишь количеством инструментов на мосбиржи), есть возможность назначать диск для сохранения информации, быстрота выгрузки данных.

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

Сводная таблица мультипликаторов IT-компаний США

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

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

В список попали не все компании, но самые популярные среди инвесторов. Как обычно, полные выводы в статье, которая уже почти готова, а пока для наглядности ⬇️
Сводная таблица IT-компаний США

Cамая оперативная информация в моем Telegram «ИнвестТема»

Инфляционные облигации versus "товарные активы"

 

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

         Но если упорствовать в ассет алокейшн, то хочется сделать ставочки на все клеточки. И хоть что-то поставить на клетку «товары». Но я сказал – куда ни плюнь, все плохо. Но выход есть.

         Функционально этой ставкой будет покупка антиинфляционных облигаций, «типсов», как говорят в США. У нас это ОФЗ ИН 52001 и 52002.

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



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

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