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

по

алго - мои мультитикеры

Всем привет, что-то маловато мотивации в последнее время улучшать ботов, итак всё неплохо.
А как можно улучшить мотивацию? Спалить пару своих фишек, тогда придётся придумывать новые. Вроде неплохой метод, да?
Не секрет что я использую в алготрейдинге 4 тикера. Си, еу, ртс, сбер. Маловато, да?
Основная причина это эффективность рынков, то что слишком много торгуется западными фондами — там меньше неэффективностей.
Поэтому я бросил попытки торговать золотом, брентом, евробаксом и перестал искать системы для них.
Из той же оперы вся Америка, все исследования квантов в основном про Америку, конкуренция жёсткая...
Я всегда это понимал интуитивно, и впоследствии тесты это подтвердили.
Также я бросил торговать малоликвидными тикерами, поэтому осталось 4 тикера, но не всё так плохо.


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

Выложил исходники торгового терминала RTS-Robot в открытый доступ.

    • 06 января 2018, 05:07
    • |
    • pmus
  • Еще

Выложил исходники торгового терминала RTS-Robot в открытый доступ.

Итак, как я и обещал, исходники торгового терминала RTS-Robot версии 1.0 выложены на GitHub!

Напоминаю, что язык программирования — Python 2.7, брокер — Финам, коннектор — Transaq XML Connector. (в том числе и Transaq HFT)

Что умеет:


  • Возможность 10-мс подключения.
  • Встроенный Python
  • Использование сколь угодно большого количества памяти системы в скриптах
  • Многопоточность и утилизация всех ядер процессора
  • API для создания сколь угодно сложных систем и их связок
  • Создание по двойному щелчку «снимков» любых таблиц в формате Excel (на память)
  • Индикатор баланса стакана
  • Экономный жор памяти (получилось порядка 150 мегабайт)
  • Нормальная работа под Linux


Выложенное решение имеет некоторые ограничения, а именно:

— Упрощенный код, многое из «планов на будущее» отключено и/или убрано.
— Торговые алгоритмы работают только с одной бумагой. (несложно доделывается.)
— Коннектор только один
— Бесплатной поддержки нет и не будет (мне работать надо!)
— Короткий документ о том, «как это всё собрать и заставить работать» если напишу, то позже
— Сайт проекта обновлю позже, сейчас нет времени заниматься.

В остальном же — это работающий торговый терминал, запускаемый как под Windows, так и под Wine.

Будьте осторожны. Нужны специальные знания и навыки профессионального программиста.



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

Размещение свободных остатков юридических лиц в овернайт по рыночным ставкам (и через выходные тоже)...

Как известно, Биржа уже давно работает в праздники и участники рынка размещают средства на Денежном рынке.

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

По сути, корпорат размещает свои средства через «стакан» с 10:00 до 19:00 по рыночным ценам: 
Размещение свободных остатков юридических лиц в овернайт по рыночным ставкам (и через выходные тоже)...

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

Опять же, если на рынке будут проблемы с ликвидностью, как вчера — то к вечеру можно ожидать роста ставок. 

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

Модель инвестиций в акции с опционным привкусом.

          Нет, нет. Я не планирую становиться инвестором в акции, мне по прежнему больше по нраву деятельность опционного спекулянта. В этом топике я попробую показать, как простые нелинейные приемы могут сэкономить нервы (и, в конечном счете, принести дополнительные деньги) последователям стратегии купил/держи. Все нижеизложенное представляет собой не более чем шаблон, однако, после некоторой дополнительной обработки, вполне может быть применено (и применялось) на практике. На оригинальность идеи тоже претендовать не приходится. Подобные подходы применяются часто. Однако, систематизация и визуализация применяемого подхода никогда никому не мешала.
          Итак. Допустим, мы находимся на идеальном рынке. Ликвидность абсолютна, торги непрерывны, никаких проскальзываний и комиссий в природе не существует. Что такое позиция «шорт» мы не слышали и слышать не хотим. Из каких то соображений мы решили инвестировать сумму в 1 000 000 рублей в акции с текущей стомостью 100 рублей. (Здесь и далее все числовые значения условны, легко заменяются переменными и используются для построения конкретных примеров). 

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

Послеторговый аукцион закрытия – как это понимать

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

Я попробую пояснить, и если в чем-то окажусь неточным, надеюсь, меня поправят более понимающие в этом товарищи.

В 18:40 заканчивается торговый период сессии и проходит его последняя сделка.

Наступает аукцион закрытия, который идет 10 минут.

Первые пять минут – до 18:45 – происходит аукционное определение цены закрытия сессии, и еще 5 минут по этой и только по этой цене могут пройти дополнительные сделки.

Послеторговый аукцион закрытия – как это понимать
Как это происходит

Наступает 18:40 по мск, все заявки, выставленные игроками в торговый период, и которые защищали рынок от резких ложных движений, исчезают, появляются заявки людей, которые решили принять участие в аукционе.

В стакане становятся видны те заявки, которые попадают в 10-ку лучших заявок на продажу и покупку соответственно, остальные заявки не отражаются.



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

Питон для торговой системы - есть вопросы

Использую торговую систему, реализованную на базе Excel. Возникла идея, изучить Питон и переписать системку на его основе. В связи с этим пару вопросов:

  1. Посоветуйте дельную книжку с начальным курсом по Питону
  2. Посоветуйте дельную книжку по статанализу данных с помощью Питона

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

Quik. Индикатор корреляции

    • 02 ноября 2017, 16:21
    • |
    • Karim
  • Еще
Написал на досуге по просьбе одного из участников смартлаба индикатор корреляции.
Индикатор простенький, считает коэффициент корреляции Пирсона
для двух выбранных инструментов на заданном таймфрейме.
Выкладываю исходный код. Может кому то пригодится.

Settings= 
{ 
Name = "Piton", 
N = 100,
legend = "price2",
line = 
	{ 
		{ Name = "Sint", 
		  Color = RGB(0, 132, 0), 
		  Type = TYPE_LINE, 
		  Width = 1 
		}		
	} 
} 

function Init() 
return 1
end 

Candles = {};


function OnCalculate(index) 
	local numCandles = getNumCandles(Settings.legend);
	if index <= Settings.N or numCandles <= Settings.N then
		return nil;
	end
	
	Candles, n, _ = getCandlesByIndex(Settings.legend, 0, index - Settings.N, Settings.N);
	if n ~= Settings.N then
        return nil;
    end
	
	-- Предварительный расчет
	sum1, sum2, sum3 = advancePaynemt(index);
	
	-- расчет коэффициента корреляции Пирсона
	r = sum3/math.sqrt(sum1*sum2);
	
	return r;
end

--  Предварительный расчет
----------------------------------------
function advancePaynemt(index)	
	local sum1 = 0;
	local sum2 = 0;	
	local sum3 = 0;
	local j    = 0;
	
	--  Вычислить среднее арифметическое
	for i=index - Settings.N + 1, index, 1 do
		sum1 = sum1 + C(i);			
		sum2 = sum2 + Candles[j].close;
		j = j + 1;
	end
	aver1 = sum1/Settings.N;
	aver2 = sum2/Settings.N;
	
	-- Вычислить сумму квадратов отклонений
	sum1 = 0;
	sum2 = 0;
	j 	 = 0;
	for i=index - Settings.N+1, index, 1 do
		sum1 = sum1 + math.pow(C(i) - aver1, 2);
		sum2 = sum2 + math.pow(Candles[j].close - aver2, 2);
		j = j + 1;
	end
	
	--  Вычислить сумму произведений разности
	j=0;
	for i=index - Settings.N+1, index, 1 do
		sum3 = sum3 + (aver1 - C(i))*(aver2 - Candles[j].close);
		j = j + 1;
	end
	
	return sum1, sum2, sum3;
end

Как запустить и настроить:


Архив исходника на QLua: https://yadi.sk/d/OxDvAekV3PLn2z
  • обсудить на форуме:
  • QUIK

Все виды инвестиционного вычета – особенности возврата налога

Как я обещала, я собрала информацию об инвестиционном вычете (у него три подвида) и представляю ее в форме таблицы, чтобы было удобно смотреть.

Добрый день всем!

Такое ощущение, что визуально таблица не вся помещается. Кому неудобно смотреть таблицу, ниже идет картинками информация...

 

Положительный финансовый результат от продажи (погашении) ценных бумаг

Сумма, внесенная на ИИС, но не более 400 тыс.руб. в год

Положительный финансовый результат, полученный по операциям на ИИС

Условия получения вычета

1. Ценные бумаги находились в собственности более трех лет;

2. Ценные бумаги были приобретены с 02.01.2014 года;

3. Ценные бумаги обращаются на ОРЦБ;

4. Вы являетесь налоговым резидентом в том календарном году, в котором вы получили доход от продажи;



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

Ценовая функция и режим (часть 1)

    • 24 сентября 2017, 14:09
    • |
    • uralpro
  • Еще

Ценовая функция и режим (часть 1)

Перевод статьи из блога tr8dr, кое-что из основ для HFT торговли.

Алгоритмы высокочастотной торговли можно разделить на следующие категории:

1. Различные формы маркет мэйкинга (вероятно самый большой процент)

2.  Заработок на действиях других участников рынка или на микроструктуре рынка

3. Краткосрочный арбитраж

4. Алгоритмы исполнения больших заявок

Также среднесрочные стратегии подразделяются на:

1. Следование за трендом (если есть достаточно сильный импульс)

2. Следование за циклами (продажа/покупка в точках разворота высокоамплитудных ценовых циклов)

3. Долгосрочный арбитраж

Если сфокусироваться на алгоритмах маркет мэйкинга и следования тренду/циклам, то понимание ценового режима и ценовой функции очень важно.

Режим

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



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

Управление капиталом портфеля алгоритмических стратегий.

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

Рассмотрим разные варианты управления капиталом при торговле портфелем стратегий.

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

1. Фиксированный лот без реинвестирования. Просто суммируем две кривые прироста капитала. В данном случае все просто, одна стратегия делает прибыль, другая добавляет просадки. При раздельном тестировании этот метод позволяет наиболее точно оценить стратегию. Минус метода в том, что при значительном изменении капитала (вывод или занос денег) нужно править рабочий обьем. 

2. Каждой стратегии выделяется равный процент депозита, прибыль реинвестируется, либо уменьшается обьем при просадке счета
Тут вроде все понятно, этот подход все любят. На прибыль добавляемся, при убытке сокращаем лот. Если одна стратегия сильно льет, а вторая немного зарабатывает, то рабочий обьем режется на всех стратегиях, так как общий размер депозита сокращается. И тут возникает вариант 3, про который почему-то никто не говорит. 

3. Создаем условия, когда каждая стратегия работает независимо (одна стратегия — один счет, стартовая сумма для счетов одинаковая), прибыль реинвестируется, либо уменьшается обьем при просадке счета. При этом каждое направление входа системы (лонг или шорт) рассматривается как отдельно взятая стратегия. Почему так? Возьмем простую трендследящую стратегию. На тренде вверх имеем хорошие сделки от лонга, но на резких и коротких коррекциях тренда шорт как правило не зарабатывает. И наоборот для тренда вниз. В этом случае мы будем резать лот на убыточном направлении стратегии и добавлять на прибыльном. 

4. Доработка варианта 3. К каждой отдельно взятой стратегии добавляем элемент equity-trading. В коде стратегии отслеживаем изменение капитала (start_deposit +- netprofit), параллельно заполняем массив финансового результата при торговле 1 лотом, вводим порог допустимой просадки и при ее достижении выключаем стратегию (торгуем минимально возможным обьемом — 1 контракт или 1 акция). При восстановлении теоретической кривой капитала выше порога просадки — возобновляем работу полным обьемом. Порог просадки задается исходя из прошлых данных бэктеста, либо на глаз. Сильно зажимать порог нельзя. На глаз у меня получилось, что максимальная просадка стратегии с учетом процента капитала выделяемого на стратегию примерно равняется 3% на весь капитал. То есть, если стратегия торгует на 30% капитала, то пороговое значение должно быть примерно 10%. Здесь возможны исключения, например для стратегий с малой просадкой можно задавать пороговое значение чуть больше максимальной исторической просадки.  
Мои тесты показывают, что при применении варианта 4 общая прибыль незначительно снижается, но так же снижается и просадка. Соотношение профит-просадка увеличивается примерно на 20%, для некоторых стратегий соотношение увеличивается в два раза. 


Апдейт

Для примера equity-trading я рассмотрю трендовую стратегию на сбербанк.
Входные условия — только шорт, 100 контрактов фиксированный лот, без пирамидинга. С лонгом все понятно, последние пару лет стратегия зарабатывает без значительных просадок. 
Эквити с фиксированным лотом, 100 контратктов.
Управление капиталом портфеля алгоритмических стратегий.



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

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