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

по

Выкладываю тиковые исторические данные

Мне, и думаю многим другим, нужны качественные исторические данные за максимальный промежуток времени — для изучения рынка, построения и тестирование торговых систем. Такие данные по фьючерсам, торгуемым на западе, в частности на CME, в свободном доступе (кроме дневок) практически не найти. Несколько месяцев назад я купил исторические данные по следующим фьючерсам CME: ES (фьючерс на индекс S&P), CL (фьючерс на нефть WTI), GC (фьючерс на золото), NQ (фьючерс на индекс NASDQ). Спецификацию по ним вы можете посмотреть тут: http://smart-lab.ru/blog/320021.php

Но осталась потребность в данных по многим другим интересным инструментам. И пару недель назад у меня появилась идея – т.к. исторические данные нужные не только мне, то вполне возможно приобретать их совместно (в складчину) (http://smart-lab.ru/blog/317451.php)



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

Расчет ожидаемого количества убыточных сделок подряд на R

    • 04 мая 2016, 21:35
    • |
    • SciFi
  • Еще
Применим R для того, чтобы быстро посчитать, каково должно быть ожидаемое количество убыточных сделок подряд при совершении 1000 сделок.

Я написал функцию runUnluck(n) которая выдает, сколько раз мы получим n убыточных сделок подряд, если совершим 10000 экспериментов по 1000 сделок в виде подбрасывания монетки, то есть с отношением риска к доходности 1 к 1.

# Created by SciFi, 2016

runUnluck <- function(n) {
        runArray <- numeric(10000)
        for(i in 1:10000) {
                runArray[i] <- sum(rle(sample(c(-1, 1), 1000, TRUE))$lengths == n)
        }
        hist(runArray, main="Гистограмма")
        mean(runArray)
}

Здесь подробнее про функцию rle. Она как раз считает количество одинаковых исходов подряд. 

Результаты:
> source("D:\\Dropbox\\R\\RunUnluck.r")
> runUnluck(6)
[1] 7.8161
> runUnluck(2)
[1] 125.2208
> runUnluck(3)
[1] 62.4047
> runUnluck(4)
[1] 31.179
> runUnluck(5)
[1] 15.6559
> runUnluck(6)
[1] 7.7635
> runUnluck(7)
[1] 3.8831
> runUnluck(8)
[1] 1.9382
> runUnluck(9)
[1] 0.9738
> runUnluck(10)
[1] 0.4922


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

Открытый Универсальный Робот – Немного о Qlua и как запускать робота в квике

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

Qlua – это скриптовый язык поддерживаемый квиком, в основе язык lua 5.1 (в моем квике версия такая).

Скрипты, написанные на Qlua – это обычные текстовые файлы, которые имеют расширение «.lua». То есть можно сделать файл в обычном блокноте и после сохранения поменять в нем расширение с «.txt» на «.lua». Если внутрь этого файла записать инструкции кода на языке Qlua, то квик будет выполнять их.

Для удобства написания инструкций кода лучше пользоваться не виндусовым стандартным блокнотом, а например Notepad++, который можно скачать официально и бесплатно здесь https://notepad-plus-plus.org/download/v6.9.1.html. Он позволяет включить подсветку синтаксиса различных языков программирования, в том числе и lua, что очень помогает при написании кода.

В Notepad++ в «Опции -> Настройки» можно выбрать русский язык, а в «Опции -> Определение стиля» установить для lua понравившийся стиль отображения. Я для «Язык -> lua» ставлю стиль «Выбрать стиль -> Bespin» и еще в окошке «Стиль» для последних трех «FUNC» переопределяю цвет, иначе они с фоном сливаются.



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

Робот для торговли перекупленность/перепроданность по Williams’% Range под Quik.

Робот для торговли перекупленность/перепроданность по Williams’% Range под Quik.

Всех приветствую.

Представляю вашему вниманию робота для торговли перекупленность/перепроданность с помощью индикатора Williams’% Range. Данный робот позволит вам торговать различные состояния рынка анализируя положения индикатора и автоматизировать свою торговлю. Этот робот является контртрендовым и ведет себя лучше в волатильные дни без тренда. В этой статье расскажу как запустить робота и начать автоматическую торговлю.

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

Алгоритмические онлайн-сервисы

В перерывах между ТСЛабом и голым кодингом копаюсь в разного рода онлайн сервисах по роботобилдингу. Пока вот очередной перерыв, решил опубликовать список из онлайн-сервисов, которые предоставляют разные возможности для бектестов и деплоймента алгоритмов. Т.к. большинство смартлабовцев сидят на иглах ТСЛаба и WL, делать детальное описание не буду, хотя покопался там изрядно. Может как-нибудь за следующим перерывом...

RIZM — прикольный конструктор. Недавно вроде гугл показал подобный кодогенератор. Суть — Вы не пишете коды, а складываете кубики. Только не такие, как в ТСЛабе или еще где-то, а более близкие к программированию. Т.е., если Вы умеете читать код, но не умеете его писать (аки покорный Ваш слуга), то это для Вас.

QUANTOPIAN — упоминался несколько раз тут на СЛ. Quantopian стал центром для выпускников математических и научных дисциплин, которые обладают навыками программирования. Для кодеров. Python. Многие говорят, что соскочили с квантконнекта в квантопиан именно по причине простоты питона. Легендарный

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

Всем привет! Индикатор для QUIK - нештатный, нашару

Всем привет! 
Чуть о себе: зарабатываю на российском рынке (только для себя), делаю торговые программы (для себя и для других).
Давно читаю Smart-lab, нахожу что-то полезное и интересное. Вот добавлю одну свою легенькую утилитку для Квика, надеюсь пригодится.

Всем привет! Индикатор для QUIK - нештатный, нашару

Индикатор Fractal_Chennal, рисует уровни по «фракталам» с задаваемым периодом. В отличии от штатного  «Fractals» дожидается окончательного формирования формации. Я его использовал в качестве трейлинг-стопа в некоторых программах. Отдает два значения скриптам.
Код:

Settings={
Name = "Fractal_Chennal",
period=5,
line={
{
Name = "Level_High",
Type =TYPE_LINE,-- = LINE --линии  = DASH -- тире  = POINT -- точки
Width = 1,
Color = RGB(0,255, 0)--green
},
{
Name = "Level_Low",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0,0)--root
}}}

idx_prosl=0

function Init()
return 2
end

function OnCalculate(idx)
if idx==1 then
P = math.floor(Settings.period/2)*2+1
message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1)
t_H,t_L={},{}
end
if idx~=nil and idx>P then
if idx_prosl~=idx then
local l=idx-P
for l=l,idx-1 do
t_H[l]=H(l)
t_L[l]=L(l)
end
if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then
H_ind_value=t_H[#t_H-(P-1)/2]
end
if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then
L_ind_value=t_L[#t_L-(P-1)/2]
end
end
else
H_ind_value=nil
L_ind_value=nil
end
idx_prosl=idx
return H_ind_value, L_ind_value
end
Как пользоваться:

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

Парадоксальность в трейдинге!

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

Парадокс №1
Место на график, где пора фиксировать прибыль от покупок(продаж), совсем не всегда является местом, где пора изменить точку зрения на движение цены и «разворачивать» позицию!

Как правило фиксация прибыли многими трейдерами производится на определенных ценовых уровнях(вот кстати 2 видео об уровнях кому интересно: Часть 1 — http://smart-lab.ru/blog/322125.php, Часть 2 - http://smart-lab.ru/blog/322563.php), но естественно не всегда цена разворачивается от этих уровней, для того, чтобы «перевернуться» необходимо формирование определенных рыночных условий!
Вот пример моей свежей сделки:
Парадоксальность в трейдинге!
Я зафиксировал прибыль от сделки по фьючерсу Сбербанка, потому что увидел выброс огромного объема(17 000 лотов за 2 минуты) и торможение импульса и это произошло на уровне продаж(сопротивления).В целом фиксацию можно считать удачной, однако если бы я встал в шорт, это привело вероятнее всего к убытку, потому что сигнала к продажам не было, одновременно с этим если бы позиция не была закрыта и появился сигнал к продажам, я мог бы потерять часть прибыли, а может и всю!

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

График ОИ опционов в квике (требуется помощь)

    • 22 апреля 2016, 19:13
    • |
    • FrBr
  • Еще
можно ли как то сделать по типу MOEX сайта ? 
График ОИ опционов в квике (требуется помощь)

Обещанный опционный грааль

Итак, продаем 7-30ти дневные коллы на SPY на 30-дневном хае.
Не более одного в день, не более одного идентичного контракта одновременно.
Выбираем максимально вне денег, максимально короткий из подходящих по условиям.
Страйки на 4-12% выше рынка
Минимальная теоретическая годовая доходность на открытии — 18%
Тейкпрофит 20%
Опционный граальчик


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

3D арбитраж

Общеизвестно, что классическим называют арбитраж, который реализуется  между поставочным фьючерсом и его базовым активом. Он относится к рыночно – нейтральным стратегиям и является одним из самых низко рисковых стратегий работы на рынке ценных бумаг.  Естественно платой за низкие риски является сопоставимая с ключевой ставкой ЦБ доходность. 

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

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



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

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