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

по

Большой бэктест модифицированного 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()


Чтение книг?! А на хрена оно надо?!!! - 2

    • 27 апреля 2020, 17:05
    • |
    • NyseOpt
  • Еще

Итак, продолжим тему, которая не оставила равнодушными многих.

 

Начало здесь: https://smart-lab.ru/blog/612585.php

 

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

 

По совету многих, ознакомился с Лю Цысинем, который мне раньше не попадался (китаец все-таки). Ну, несколько не допонял я, откуда столько восторгов. Но мои пристрастия тоже ведь не всем ясны. Это нормально.

 

Некоторые в прошлый раз поблагодарили за малоизвестный «Таганай» в подборке.

Так, оказывается я не один такой, кому он вдруг приглянулся до глубины души! Вчера мне Опера выдала квадратики Дзена, в одном из них разбирают, ни много ни мало, «молодых звезд российской мистики». Вот оно че, оказывается!

https://zen.yandex.ru/media/id/5ea290b492123e17054f1445/luchshe-stivena-kinga-russkaia-knijnaia-mistika-jivee-vseh-jivyh-5ea41cf6ac8caa106c378ca0



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

Использование метода Монте-Карло для создания портфеля

    • 26 апреля 2020, 14:17
    • |
    • Aleks
  • Еще

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

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:

  • Портфель с минимальным уровнем риском при желаемой доходности;
  • Портфель с максимальной доходностью при установленном риске;
  • Портфель с максимальным значением доходности

Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.

#Загружаем библиотеки

import pandas as pd
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt

# Получаем данные по акциям
ticker = ['ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM', 'PKI']

stock = yf.download(ticker,'2017-01-01', '2019-01-31')


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

Новичкам. Опционы и Гауссово (нормальное) распределение.

    • 25 апреля 2020, 17:35
    • |
    • KarL$oH
  • Еще
Всем привет.

Продолжаем грызть тему опционов по книгам Саймона и Натенберга, сегодня добрались до темы волатильность.

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

Именно в этой точке гуманитарий опускает руки, потому что не может разобраться как работать с моделью Блэка-Шоулза, не знает элементарных понятий из теории вероятности, не знает как работает Гауссово распределение.

Будем двигаться понемногу, сегодня разберемся именно с Гауссовым распределением, я покажу на пальцах что это такое и уже потом будем постепенно углубляться в модель Блэка-Шоулза (да-да, уважаемые новички, без понимания как работает эта модель вы будете терять деньги на опционном рынке).

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

На опционах можно зарабатывать такими стратегиями. В продолжение темы, затронутой коллегой FZF

Неделю назад в  smart-lab.ru/blog/614244.php  я описывал плюсы и минусы стратегии <Опционы RTS против опционов Si> и пообещал проверить ее на недельных опционах. Исполнять обещание начал 21.04.20, то есть за три дня до экспирации. Правила были такие:
— Открывать позиции при отклонении текущей волатильности опциона RTS от расчетной на 20%, закрывать при нулевом отклонении
— Открывать обе ноги как можно ближе к деньгам
— ГО по портфелю не должно превышать 2 млн руб
Все недостатки стратегии, о которых я упоминал, проявились в полной мере
— открытые позиции ушли глубоко в деньги
— расхождения волатильностей увеличивалось до 80% от расчетных
С учетом того, что у меня были свободные средства и того, что все само-собой прикроется в 18:45 четверга, я не стал париться с закрытием старых позиций и по мере расхождения волатильностей просто открывал новые <на деньгах>.
Как следствие — задействованное ГО возросло до 5 млн., максимальная просадка счета достигала 64 тыс руб. Вариационка по дням:

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

Новичкам и не только

    • 22 апреля 2020, 10:55
    • |
    • Larry99
  • Еще

Главный и самый полезный сайт www.smart-lab.ru

 

Сайты фильтрующие буржуйские бумаги (скринеры):
www.trade-ideas.com/StockInfo/_ScreenerConfig.html Мегакрутой бесплатный скринер (end of day) с тьмой параметров
smartapple.biz/Screener Бесплатный и всегда работающий скринер на базе investortech, нужна регистрация
www.vr.mixaro.ru/ позволяет одновременно смотреть 2 графика для 1 тикера
www.freestockcharts.com мегакрутой сайт с котировками он-лайн, с объёмами и кучей инструментов
mfd.ru/calendar/- статистика

Статьи, книги, уроки, наработки
Большой список, Список 1, 2
«МакМиллан об опционах» МакМиллан Л.Д.
«Фьючерсы и опционы» А.Н.Балабушкин James Dalton
«Mind Over Markets» Mark Douglas
«Trading in the zone» Технология трейдинга (Евгений, pratrader.livejournal.com)
Популярные рабочие торговые стратегии, методики и тактики
Опционы и фьючерсы. Видеоуроки на iLearney.ru
Искусство чтения СОТ
Журнал трейдера Силантьева, Резвякова

 

Софт, независимый от брокера:
MultiCharts с адаптером к Квику (и его коммент-оценка)



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

Три грааля l 3 часть

    • 20 апреля 2020, 09:46
    • |
    • Larry99
  • Еще

Грааль №3. Три индейца. После некоторого тренда три последовательно
восходящие вершины образуются на одной линии. Это лучший признак
истощения тренда. Ждем первую же полновесную импульсную свечу в
обратном направлении и открываем сделку. Стоп за границей последней
вершины или еще лучше за границей импульсной свечи
Три грааля l 3 часть



Три грааля l 2 часть

    • 18 апреля 2020, 15:30
    • |
    • Larry99
  • Еще
Грааль №2. Высаживание. После явного тренда цены замирают на 
продолжительное время в узком диапазоне. В определенный момент 
происходит попытка выхода из этого диапазона против прежнего тренда, 
которая оказывается неудачной. Если после этого цены возвращаются в 
диапазон и тут же пробивают его в сторону основного тренда, то открываем 
сделку по тренду. Стоп — на обратной границе диапазона.
Три грааля l 2 часть



Новичкам. Практические аспекты торговли волатильностью. Что читать?

    • 18 апреля 2020, 15:04
    • |
    • KarL$oH
  • Еще
Делал уже небольшую рецензию на книгу Шелдона в своей телеге, но на смартлабе хочу немного дополнить:

Новичкам. Практические аспекты торговли волатильностью. Что читать?

Шелдон качественно отличается от книги Саймона именно в практической плоскости.

Книга читается легко и непринужденно. Любой смартлабовец, который начнет читать Шелдона, сразу найдет ответы на все вопросы, которые любят задавать здесь опционные новички.

Вот недавно был пример, человек публикует график отскока индекса и спрашивает: на чем больше заработаем — на фьючерсах или опционах?

Ответ есть на стр.58, читаем:
Трейдера на рынке базового актива интересует главным образом возможное направление изменения цены этого актива. Для опционного трейдера оно также имеет большое значение, но он должен учитывать и то, как быстро может измениться эта цена. Если фьючерсный и опционный трейдеры займут длинные рыночные позиции в соответствующих инструментах, а цена действительно повысится, то первый гарантированно получит прибыль, а второй может понести убытки. Если цена будет расти недостаточно быстро, то ее изменения в благоприятном направлении может не хватить для компенсации снижения временной стоимости опциона. Это основная и наиболее типичная причина, по которой спекулянты несут убытки на рынках опционов. Обычно спекулянт покупает опционы из-за кажущегося благоприятным соотношения риска и возможной прибыли (ограниченный риск/неограниченная прибыль), но ему нужно угадать не только направление изменения цены, но и скорость этого изменения. Только при правильном предугадывании двух факторов он может рассчитывать на прибыль. Однако, правильно угадать одно только направление изменения цены непросто, а правильно предсказать и направление, и темп изменения цены большинству трейдеров и вовсе не под силу.

Темп изменения цены имеет в опционной торговле огромное значение. Существует множество опционных стратегий, основанных на прогнозировании только темпа изменения цены базового контракта. Если трейдер хорошо предсказывает лишь направление изменения цены базового контракта, то ему, возможно, и следует работать на рынке базовых активов и не лезть в опционы. Успешно работать на рынке опционов может только тот, кто обладает своего рода «чувством» темпа изменения цены.


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

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