Yury Kirillov
Yury Kirillov
  • 信息
10+ 年
经验
0
产品
0
演示版
0
工作
0
信号
0
订阅者
Internet money miner
Yury Kirillov
已添加主题如何使图表上的输出为单行字体?
Comment() - 在图表上以比例字体显示信息,但在格式化表格方面有困难,例如。 如何使用Comment()在图表上以单行字体显示信息?
共享作者Roman Korotchenko文章
评估分形指数和Hurst指数预测金融时间序列的能力
评估分形指数和Hurst指数预测金融时间序列的能力

有关金融数据分形行为的研究表明,在经济时间序列看似混乱的行为背后,存在着参与者集体行为的隐性稳定机制。这些机制可以导致交易所出现价格动态,从而定义和描述价格序列的具体属性。应用于交易中,能够有效、可靠地估计尺度和时间框架内的分形参数的指标,具有一定的实用价值。

共享作者Maxim Dmitrievsky文章
通过差异化和熵值分析来探索市场"记忆"
通过差异化和熵值分析来探索市场"记忆"

分数型差分的应用范围足够广泛。 例如,差分序列通常作为机器学习算法的输入。 问题是,必须在机器学习模型可识别的前提下,显示相应历史阶段的新数据。 在本文中,我们将研究时间序列差分的原始方法。 本文还包含基于所接收差分序列的交易系统自我优化示例。

Automated-Trading
Automated-Trading
Индикаторы: Ping
Ping : Реал-тайм индикатор лага котировок внутри самого терминала. Для торговли важным параметром является актуальность текущей цены. На него влияет множество факторов, самый популярный из которых - сетевой пинг между терминалом и торговым сервером
共享作者BPASoftware Thai Co. Ltd文章
自动优化 MetaTrader 5 专用 EA
自动优化 MetaTrader 5 专用 EA

本文描述 MetaTrader 5 下自我优化机制的实现。

Yury Kirillov
Yury Kirillov
https://smart-lab.ru/blog/533624.php
Об оценивании волатильностей и ковариаций
14 апреля 2019, 22:56
Eugene Logunov
Yury Kirillov
Yury Kirillov
https://smart-lab.ru/blog/533447.php
Куда пойти работать кванту
12 апреля 2019, 20:38
Eugene Logunov
Если вы хорошо знаете математику, умеете программировать и вам интересна работа в качестве Quantitative Researcher / Quantitative Trader / Quantitative Portfolio Manager / etc. — то обратите внимание на этот список из 69 компаний.

Одни занимаются высокочастотной торговлей, маркетмейкингом и арбитражем. Другие — управляют активами с использованием количественных методов. Третьи — занимаются оптимальным исполнением ордеров. Самая малость — разрабатывают low-latency инстраструктуру и предоставляют её своим клиентам. Примерно у десяти, кажется, есть офисы в России. Остальные — в Нью-Йорке, Чикаго, Лондоне, Берлине и т.д.

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

3Red Trading ( www.3redpartners.com/ )
ADG Capital Management ( www.adgcapitalmanagement.com/ )
AIM Tech (бывший AIM Fund) ( www.aimtech.com/ )
Akuna Capital ( akunacapital.com/ )
Algo Capital (бывший Nord Capital) ( algocapital.ru/ )
Allston Trading ( www.allstontrading.com/ )
AQR Capital Management ( www.aqr.com/ )
Aspect Capital Ltd ( www.aspectcapital.com/ )
Belvedere Trading LLC ( www.belvederetrading.com/ )
BlackEdge Capital ( www.blackedge.com/ )
Bluefin Trading LLC ( www.bluefintrading.com/ )
Bluefire Capital ( www.bluefirecapital.com/ )
Chicago Trading Company / CTC ( www.chicagotrading.com/ )
Chopper Trading ( www.choppertrading.com/ )
Circulum Vite LLC ( www.circulumvite.com/ )
Citadel LLC ( www.citadel.com/ )
Consolidated Trading LLC ( www.consolidatedtrading.com/ )
Cutler Group LP ( www.cutlergrouplp.com/ )
D. E. Shaw Group ( www.deshaw.com/ )
DRW Trading Group (приобрели Vigilant Global) ( drw.com/ )
Eclipse Trading ( www.eclipsetrading.com/ )
exp(capital) ( expcapital.com/ )
Five Rings Capital ( fiverings.com/ )
Flow Traders ( www.flowtraders.com/ )
Geneva Trading ( www.geneva-trading.com/ )
GSA Capital Partners LLP ( www.gsacapital.com/ )
Headlands Technologies LLC ( www.headlandstech.com/ )
Hehmeyer Trading Group ( www.hehmeyer.com/ )
Hudson River Trading / HRT (приобрели Sun Trading LLC) ( www.hudson-trading.com/ )
IMC Trading B.V. ( www.imc.com/us/ )
Informed Portfolio Management / IPM ( www.ipm.se/ )
Jane Street ( www.janestreet.com/ )
Jump Trading ( www.jumptrading.com/ )
Liquid Capital Group ( www.liquidcapital.com/ )
Mosaic Finance Bienvenue ( www.mosaicfinance.fr/en/market-making )
Optiver ( www.optiver.com/eu/en/ )
PDT Partners ( www.pdtpartners.com/ )
PEAK6 Investments LLC ( www.peak6.com/ )
Profluent Trading ( www.profluenttrading.com/ )
QBF (ex- QB Finance) ( qbfin.ru/ )
Quantitative Brokers ( quantitativebrokers.com/ )
QuantPort Asset Management (подразделение Jefferies Investment Advisers) ( www.quantport-am.com/about-us/ )
QuantRes ( quantres.com/ )
Quantstellation ( quantstellation.com/ )
Quantum Brains ( quantumbrains.com/ )
Renaissance Technologies LLC ( www.rentec.com/ )
Research Affiliates ( www.researchaffiliates.com/ )
REVO Capital LLC ( http://www.revocm.com/ )
Ronin Capital ( www.ronin-capital.com/ )
Simplex Investments ( www.simplexinvestments.com/ )
Susquehanna International Group / SIG ( sig.com/ )
swissQuant Group AG ( www.swissquant.com/ )
Teza Technologies ( www.teza.com/ )
Thesys Technologies, LLC / Tradeworx ( www.thesystech.com/index.html )
ThunderBid ( www.thunder.bid/ )
Tibra Capital ( www.tibra.com/ )
Tower Research Capital / Spire Europe Limited / Latour Trading LLC ( www.tower-research.com/ )
Tradebot Systems ( www.tradebot.com/ )
TradeLink Holdings LLC ( www.tradelinkllc.com/ )
TransMarket Group LLC / TMG (бывший Aardvark Financial) ( www.transmarketgroup.com/ )
TRZ Funds ( www.trzfunds.com/ )
Two Sigma Investments ( www.twosigma.com/ )
Valkyrie Trading ( www.valkyrietrading.com/ )
Virtu Financial (приобрели KCG Holdings, бывшие Getco & Knight Capital Group) ( www.virtu.com/ )
Volant Trading ( volanttrading.com/ )
Winton Capital Management ( www.winton.com/ )
Wolverine Trading ( www.wolve.com/ )
WorldQuant / Millennium Management ( www.worldquant.com/home/ www.mlp.com/home/ )
Wunder Fund ( wunderfund.io/ )

P.S.
1) Если я пропустил какую-то интересную компанию — обязательно пришлите мне название!
2) Банков в списке нет. Почему? Я так захотел.
3) Нет, мне не платят за рекламу :)
Yury Kirillov
Yury Kirillov
Книги и образовательные ресурсы по алгоритмической торговле
Алгоритмическая торговля — интересная область, которая позволяет ИТ-специалистам применить свои технические знания на фондовом рынке и извлечь из этого ту или иную выгоду. В нашем блоге мы неоднократно рассматривали различные темы, связанные с созданием торговых роботов, но недостаточно внимания уделяли теоретическим вопросам, с которыми сталкиваются начинающие трейдеры.

В нашем сегодняшнем материале — подборка книг, которые помогут лучше подготовиться к началу работы на фондовом рынке и написанию механических торговых систем. Для достижения наибольшей эффективности материала, мы приводим советы экспертов, которые занимаются алгоритмической торговлей на российском и зарубежных фондовых рынках.
https://habr.com/ru/company/iticapital/blog/257971/
Konstantin Zharitov
Konstantin Zharitov 2019.04.06
Протестировал больше 200 советников и могу сказать, что основная проблема как раз в том, что разработчики в первую очередь программисты, а не трейдеры. По работе 99,9% советников видно, что создатели не понимают куда, как и почему движется цена, слишком сильно полагаются на индикаторы, фиксированные значения TP и SL, мало внимания уделяют мани-менеджменту и сопровождению позиций.
По-хорошему, если вы программист, хорошо владеете программированием и хотите написать робота, то берёте в команду опытного грамотного трейдера и по его чётким указаниям пишете робота, а не пытаетесь в попыхах изучить трейдинг и что-то там сварганить на основе полутора книжек и трёх статей из интернета.
Vasiliy Kolesov
Vasiliy Kolesov 2019.04.06
Согласен полностью с Konstantinum. У иных разработчиков по 10-15 советников в продаже, а мониторингов работы этих советников нет. Спрашивается, зачем нужен советник, если не им торговать?
Yury Kirillov
Yury Kirillov
Индикатор ожидаемого движения для опционной торговли (Часть 2 устройство индикатора)
05 апреля 2019, 11:25 FZF
В первой части мы рассмотрели «теорему о средней волатильности» где, обозначили такое свойство:волатильности могут на разных таймфреймах значительно отличаться друг от друга. Но они всегда будут со временем сходится к одному значению.

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

Price Channel (PC) или ценовой канал. Индикатор представляет из себя две линии, которые ограничивают канал колебаний цены. Верхняя граница канала обозначает уровень локального максимума за прошедшие N периодов, а нижняя граница – уровень локального минимума за тот же промежуток времени. Таким образом, цена ограничивается максимальными точками колебаний – экстремумами за N периодов.
Индикатор ожидаемого движения для опционной торговли (Часть 2 устройство индикатора)

Средний Истинный Диапазон (Average True Range, ATR) . Если кратко, то это усредненное значение длин свечей за определенный период. По сути, это Price Channel одной свечи, усредненный за N периодов. (В моем случае он считается через простое усреднение).

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

Price Channel N периодов (РК1), как показатель волатильности за N периодов ;

Price Channel 2*N периодов (РК2), как показатель волатильности за 2*N периодов ;

Price Channel 4*N периодов (РК4), как показатель волатильности за 4*N периодов ;

ATR N периодов, как базовое значение с условным N0=1.

Получив эти значения, вычисляем отношения ATR к РК масштабе ATR:

L1=ATR/PK1*КОРЕНЬ(N); L2=ATR/PK2*КОРЕНЬ(2*N); L3=ATR/PK4*КОРЕНЬ(4*N);

L1 – это расхождение в волатильности с базовой величиной самого короткого периода. На графике эта величина будет присутствовать в виде зеленой линии. Ее значение выше единицы показывает, что последние N периодов рынок стоял в слишком узком диапазоне цен.

Далее вычисляется среднее (L1+L2+L3)/3. Эта величина отражает усредненное отклонение волатильности с базовой величиной самого короткого периода. На графике эта величина будет присутствовать в виде синей линии. Ее значение выше единицы показывает, что последние 4*N периодов рынок стоял в слишком узком диапазоне цен. Этот показатель говорит, что возможно, рынку пора делать движение и выравнивать значения волатильностей. Для фильтрации шумов есть пороговое значение F (filter): сигнал принимается во внимание когда (L1+L2+L3)/3 > F

И основная сигнальная линия ( на графике отображается красным) вычисляется как L1*(L1+L2+L3)/3 при условии что (L1+L2+L3)/3 > F. Если условие не выполняется, значение равно(1).

Значение сигнальной линии выше единицы показывает, что назревает движение для выравнивания значений волатильности.

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

Далее идет код индикатора. Его нужно скопировать в текстовый файл, присвоить ему расширение .lua и положить его в каталог Квика в папку LuaIndicators

По умолчанию (period ) N=14; (filter) F=1,2 ; индикатор должен появиться в списке индикаторов под именем "FZF_dVOL2". Свои индикаторы я начинаю с FZF чтобы потом их легче было искать в общем списке и они стоят в одной кучке.

Settings=
{
Name = "FZF_dVOL2",
period = 14,
filter = 1.2,
line =
{
{
Name = "FZF_L1",
Color = RGB(0, 255, 0),
Type = TYPE_LINE,
Width = 1
},
{
Name = "FZF_L2",
Color = RGB(0, 255, 255),
Type = TYPE_LINE,
Width = 1
},
{
Name = "FZF_L3",
Color = RGB(255, 0, 0),
Type = TYPE_LINE,
Width = 2
}
}
}
function Init()
return 3
end

function OnCalculate(index)
if index < (Settings.period*4+1) then
return nil
else
local sum = 0
local ATR=0
for i = index-Settings.period+1, index do
sum = sum + math.max(math.abs(C(i-1) - L(i)),math.abs(H(i) - C(i-1)),(H(i) - L(i)))
end

ATR=sum/Settings.period --посчитали АТР

-- прайс канал с периодом 1
MAX1 = H(index)
MIN1 = L(index)
for i = 0, (Settings.period-1) do
if MAX1 L(index-i) then MIN1 = L(index-i) end
end
-- прайс канал с периодом *2
MAX2 = H(index)
MIN2 = L(index)
for i = 0, (Settings.period*2-1) do
if MAX2 L(index-i) then MIN2 = L(index-i) end
end
-- прайс канал с периодом *4
MAX4 = H(index)
MIN4 = L(index)
for i = 0, (Settings.period*4-1) do
if MAX4 L(index-i) then MIN4 = L(index-i) end
end
local L1= 0
local L2= 0
local L3= 0

L1=ATR/(MAX1 - MIN1)*math.sqrt(Settings.period)
L2=ATR/(MAX2 - MIN2)*math.sqrt(Settings.period*2)
L3=ATR/(MAX4 - MIN4)*math.sqrt(Settings.period*4)

local LL1= 0
local LL2= 0
local LL3= 0

LL1 = L1 --короткий канал
LL2 = (L1+L2+L3)/3 -- Среднее
if(LL2 < Settings.filter) then
LL3=1
else
LL3 = L1*(L1+L2+L3)/3
end

return LL1, LL2 , LL3

end
end
Yury Kirillov
Yury Kirillov
Индикатор ожидаемого движения для опционной торговли (Часть 1 теория)
04 апреля 2019, 16:12
https://smart-lab.ru/blog/531816.php
Хочу представить вам индикатор для Квика, который дает сигнал о возможном боковом движении базового актива. Индикатор построен на анализе структуры волатильности базового актива.

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

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

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

То есть, мы можем рассчитывать разные волатильности разных периодов друг из друга.

Сформулируем некое следствие из вышеуказанной формулы.

Теорема о средней волатильности

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

Как бы доказательство:

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

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

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



Ключевая фраза : за длительный период времени. Это означает, что в каждой отдельной ситуации волатильности могут на разных таймфреймах значительно отличаться друг от друга. Но они всегда будут со временем сходится к одному и тому значению. То есть разница волатильностей, есть график колеблющийся вокруг средней линии.

На этом свойстве и основан индикатор ожидаемого движения. Его подробное описание и код будут в следующей части. А пока, пусть те, кто только начинает работу с опционами, переварят полученную информацию.
Yury Kirillov
Yury Kirillov
Торгуем в перевёрнутом стакане!
Yury Kirillov
Yury Kirillov
ИНТЕРВЬЮ С МАТЕМАТИКОМ, ВЗЛОМАВШИМ УОЛЛ СТРИТ - Джим Саймонс - TED на русском
https://www.youtube.com/watch?v=sYbN-PdXD5I
Yury Kirillov
Yury Kirillov
Про математически оптимальное плечо.
13 декабря 2018, 10:07 _sk_
https://smart-lab.ru/blog/510509.php

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

Допустим, мы придумали торговую систему, которая даёт следующие прибыли/убытки с равными шансами: -10%, +20%, -5% и +5%. Если сделать 4 трейда по этой системе, вкладывая весь имеющийся в наличии капитал, и каждый из исходов произойдёт ровно по одному разу, то капитал C превратится в
C*(1-0.1)*(1+0.2)*(1-0.05)*(1+0.05) = C*1.0773,
т.е. вырастет на 7.73%.

Пусть у нас есть возможность получить бесплатное плечо и вкладывать удвоенный капитал, тогда по сравнению с исходным капиталом прибыли/убытки составят уже -20%, +40%, -10% и +10%. В этом случае исходный капитал после 4-х трейдов превратится в
C*(1-0.2)*(1+0.4)*(1-0.1)*(1+0.1) = C*1.1088,
т.е. вырастет на 10.88%, что выгоднее торговли по номиналу.

Если ещё увеличить плечо, скажем, вкладывая упятерённый капитал, то прибыли/убытки на исходный капитал будут -50%, +100%, -25% и +25%, а капитал после 4-х трейдов превратится в
C*(1-0.5)*(1+1)*(1-0.25)*(1+0.25) = C*0.9375,
т.е. капитал не вырос, а уменьшился на 6.25%. Что называется, перебрали с плечом.

Получается, что есть оптимальный коэффициент плеча k, для которого торговля будет самой выгодной. Это k можно подобрать, чтобы произведение
(1-k*0.1)*(1+k*0.2)*(1-k*0.05)*(1+k*0.05)
стало самым большим.

Оставим пока подбор k, и задумаемся, почему рассмотрены только 4 трейда, когда на практике их много. Дело в том, что если совершается большое число N трейдов, то примерно N/4 из них дадут -10%, примерно N/4 дадут +20% и т.д. Пренебрежём этим «примерно» (всё равно из-за случайности по всякому может быть), и будем считать, что точно по N/4 трейдов будет у каждого исхода. Тогда надо максимизировать
(1-k*0.1)^(N/4) * (1+k*0.2)^(N/4) * (1-k*0.05)^(N/4) * (1+k*0.05)^(N/4),
где знак ^ означает возведение в степень.

Мы можем убрать N из степени (поскольку большее положительное число при возведении в некоторую степень даёт больший результат, чем меньшее положительно число при возведении в ту же степень) и максимизировать выражение
(1-k*0.1)^(1/4) * (1+k*0.2)^(1/4) * (1-k*0.05)^(1/4) * (1+k*0.05)^(1/4).
Здесь показатели степеней 1/4 — не что иное, как вероятности каждого из исходов.

Теперь становится понятно, как обобщить исходный пример. Пусть есть трейды, которые случаются с вероятностями p1, ..., pn и дают прибыли/убытки x1, ..., xn. Для подбора оптимального плеча нужно найти такое k, что произведение
(1+k*x1)^p1 *… * (1+k*xn)^pn
будет максимально. Поскольку x и p — это некоторые известные числа, то произведение зависит только от k, т.е. является некоторой функцией f(k).

Я пропущу математические выкладки, поскольку:
1) кто знает, тот сообразит;
2) кто не знает, тот смотрит на итоговую приближённую формулу ниже;
3) кто хочет намёков, тот:
а) находит логарифм от произведения (его максимум достигается при том же k, что и у исходного произведения, а вычислять дальше будет проще),
б) вычисляет его производную и приравнивает к нулю (в точке максимума она нулевая);
в) решать полученное уравнение неудобно, поэтому заменить выражения вида 1/(1+k*x) по формуле геометрической прогрессии на 1-k*x+(k*x)^2 — … и пренебречь всеми членами, начиная с квадратов, после чего придти к уравнению на k, которое уже легко решить.

Итоговая приближённая формула имеет вид:
k = (p1*x1+...+pn*xn) / (p1*x1^2+...+pn*xn^2).

Замечания по поводу формулы понятны:
1) она приближённая, но можно подбирать точное значение k для максимума численно;
2) плечо не бесплатно, но это можно учесть отдельно;
3) в реальном трейдинге вероятности и прибыли/убытки либо неизвестны, либо могут меняться со временем;
4) случайность никуда не денется, может просто повезти/не повезти даже при оптимальных действиях.

В любом случае, лучше понимать, что происходит пусть в модельном примере и делать выводы уже применительно к трейдингу, чем вообще ничего не понимать.

Удачи в торговле!
Yury Kirillov
Yury Kirillov
Как вывести деньги с ИИС 29 ноября 2018, 12:14 invest-schet.ru
https://smart-lab.ru/blog/507792.php
共享作者Dmitriy Gizlyk文章
逆转形态:测试双顶/双底形态
逆转形态:测试双顶/双底形态

交易者经常寻找趋势逆转点,因为在趋势新形成的最初阶段价格走势具有最大潜力。 因此,在技术分析中考虑了各种逆转形态。 双顶/双底是最著名和最常用的形态之一。 本文提出了程序检测形态的方法。 它还测试了形态在历史数据上的盈利能力。

共享作者Serhii Shevchuk文章
使用 OpenCL 测试烛形形态
使用 OpenCL 测试烛形形态

这篇文章描述了在"一分钟OHLC"模式下实现 OpenCL 烛形形态测试器的算法。我们还将把它的速度与内建的策略测试器在快速和慢速优化模式下做比较。

共享作者Stanislav Korotky文章
自己动手开发多线程异步 MQL5 WebRequest
自己动手开发多线程异步 MQL5 WebRequest

本文介绍了一个可以在 MQL5 中提高 HTTP 请求操作效率的开发库。它在另外的线程中实现 WebRequest 在非阻塞模式下的执行,并且可以用于辅助图表和EA交易,交换自定义事件以及读取共享资源。也提供了源代码。

Yury Kirillov
Yury Kirillov
Дружественные сигналы (советник LibreNetka):
Hail-fellow signals (Librenetka expert):
https://www.mql5.com/ru/signals/450729
https://www.mql5.com/ru/signals/472221
Nigel Davis
Nigel Davis 2018.11.21
Hello Yury. You might want to consider following me in order for us to grow your account
uickly and safely
Yury Kirillov
Yury Kirillov
О «теореме Ферма» теории вероятностей или о нормальности «бытия» (много буков)
16 октября 2018, 16:41 А. Г.
https://smart-lab.ru/blog/499678.php