Добрый день. В предыдущих частях я описывал, как на C# сделал собственный тестер, применяя объектно-ориентированный подход, рассказывал про интерфейсы, про их реализации, и, рассказывал про работу с БД. На данный момент осталось совсем немного. В этом топике я опишу вариант расчёта результатов работы стратегии.
Чтобы не запутаться, даже не читая предыдущие топики, поясню, что есть и к чему надо придти. Есть стратегии – это некий объект программы, который выставляет заявки на основе получаемой маркет-даты. Заявки (Order) регистрируются системой. Также, регистрируются сделки прошедшие по заявке (каждая заявка имеет список сделок — List<Trades> trades). После прогона стратегии, все заявки и сделки сохраняются в БД, и после, их можно извлечь и посчитать по ним статистику работы стратегии. По сути, эта статистика состоит из двух аспектов: сами закрытые позиции и оценка эффективности на их основе. Начнём с первого. Вот интерфейс, который принимает заявки со сделками, и, выдаёт, собственно, список закрытых позиций:
interface IClosePositionManager { List<ClosePosition> ClosePositions (List<Order> orders); }
Всем доброго времени суток. С помощью этой статьи хочу поинтересоваться вашим мнением.
Уже достаточно давно посетила идея объединения нейро сетей и торговли. Исследование, доработка и поддержка «искусственного интеллекта» на данный момент идет полным ходом, а идея вырастить, обучить и дать возможность развиваться дальше своему собственному «Искусственному Трейдеру», который учтет все мои прошлые ошибки, не будет зависеть от эмоций, дня недели и времени суток, звучит ободряюще.
Но с другой стороны есть куча недоработок, проблем с интеграцией, массива данных и нейронов, обрабатывающих их.
В связи с этим хотелось бы услышать мнения тех, кто занимался или занимается этим вопросам.
Это огромное, не паханое поле с кучей «ям» и будет хорошо, если вы поделитесь наблюдениями и уже возникшими проблемами в этой сфере.
Приветствую всех.
Недавно столкнулся с такой фразой: «если вначале видео/статьи — нет рекламы, то все видео — сплошная реклама». И знаете что!? это неоспоримо!!
Прошел вебинар на котором собирал алгоритм на ненормированных временных интервалах. Лично по мне, главным преимуществом рендж баров является то, что мы смотрим на движение рынка, под другим углом.
В стандартном таймфрейме по истечению указанного периода времени, всегда строится свеча, вне зависимости от активности торгов. Ненормированные же свечи рисуются только, если цена прошла указанное количество шагов цены, или же указанный объем. (бары можно строить либо по размеру свечи, либо по проторгованному объему)
Естественно, магическим образом танный вид графика, не делает торговлю сверх прибыльной, и все, как обычно зависит от логики построения робота. Скорее, это просто диверсификация точек входа, и дополнительный инструмент анализа. К примеру время — уже более интересный фильтр для алгоритма, им можно замерить скорость изменения цены. Так же, при направленном движение, 90% баров однонаправленны и тем самым можно замерять силу движения, и проще ловить само движение. Например если мы попали в движение и ставим стоп на лоу бара, то при направленном движении нас, только, в конце движения выбьет, тем самым мы заберем все движение.
Описание работы подсистем ТС, рассказанной здесь https://smart-lab.ru/blog/409565.php.
Приняв, что на малых периодах- хаотическое движение цены, то рассмотрим ценовой график нелинейной структурой и зададим роботам для их работы дискретную структуру. Это придаст роботам, наряду с другими техническими решениями, более универсальный характер:
— для «флэтового» с разбивкой на заданные промежутки по времени (ось Х);
— для «трендового» с разбивкой на заданные промежутки по цене (ось У).
Таким образом роботы будут вести свою работу отдельно на каждом своём участке и вести свой отдельный бух. учёт на каждом промежутке. И если на каком-то участке в результате торговли получится убыток, то робот включает хеджер для отработки этого убытка, а сам забывает про этот участок.
Этим самым мы решаем и ещё одну задачу- максимальное использование ГО (снимаем фьючерсную нагрузку, переложив её на льготную опционную).
Пример теста трендового робота на 5 дневном флэтовым участке
ришло время и нам рассказать про 3-й квартал.
Это как раз тот случай, когда системный трейдинг генерирует «бессмысленные сделки» на взгляд обычного человека. Итог квартала: -6,5% против роста рублевого индекса на 10%. Грусть и печаль.
Основная аллокация систем – на валюте (доллар и евро) и на фьючерс на индекс РТС, а вырос рублевый сегмент. Также утянула в минус переоценка валютного ГО на 2,5%. Задумываемся над вопросом – стоит смещать акцент на спот и акции? Ответ не так очевиден. Если постоянно бегать за вчерашними событиями, то будущие события можно так и не догнать.
Из инноваций и модернизаций управления – встроили в каждую систему модуль автоматического отключения (переход на 1 лот) при достижении максимальной просадки. При историческом моделировании это не всегда увеличивает итоговый выхлоп, хотя положительных результатов больше. Такой подход позволяет более эффективно мониторить портфель систем – аутсайдеры сами отключаются, а системы, выходящие из просадки, – врубаются в бой автоматически.
Обороты на RI и SI падают. Комиссии растут. Деловой сезон на рынке начался. Возможно, он принесет с собой волатильность. Продолжаем изучать новые рынки. Адаптированы и запущены первые системы на криптовалютном рынке (btc, eth, zec и др.) через биржу Poloniex.