Украинская биржа
Индекс UX Фьючерсный контракт на Индекс украинских акций  ПоискПоиск  ПравилаПравила  ПользователиПользователи  ПрофильПрофиль  РегистрацияРегистрация  ВходВход
Форум «Алгоритмическая торговля»
Форум для обсуждения тем по разработке механических торговых систем и написанию роботов на фондовом и срочном рынках.
Вопросы от новичков
Модераторы: ara, Алексей Сухоруков, Комиссаров Евгений
Новая тема   Ответить на тему
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 Предыдущая тема :: Следующая тема 
 Автор  Сообщение 
Natty
Стаж: 12 лет 5 месяцев
Откуда: Одесса
Сообщений: 119
Пн Окт 01, 2012 17:54 (спустя 2 дня 15 часов) Ответить с цитатой Получить постоянный адрес сообщения
Mulder, ответ не вам. 
 
skaar
Стаж: 11 лет 8 месяцев
Сообщений: 26
Пн Окт 01, 2012 20:38 (спустя 2 дня 18 часов) Ответить с цитатой Получить постоянный адрес сообщения
NattyD писал(а):
А вообще лучше - котировать и частями набирать, так дешевле. 

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

Mulder писал(а):
А так, конечно, можно брать все сделки срочноно рынка, а потом их опять учитывать отдельно.
А зачем этот гемор?  

Чтобы иметь возможность сделать роботу стоп-аут при превышении просадки. (имеется ввиду автоматический, без моего участия) 
 
Последний раз редактировалось автором 01.10.2012 20:40, всего редактировалось 1 раз
skaar
Стаж: 11 лет 8 месяцев
Сообщений: 26
Вт Окт 02, 2012 11:23 (спустя 3 дня 8 часов) Ответить с цитатой Получить постоянный адрес сообщения
Mulder писал(а):
Я написал отдельную прогу учёта сделок и комиссий и ведения баланса, чтобы потом из файла вытащить значение баланса.
Иначе в течении дня сложно точно знать значение баланса, т.е. всёравно надо брать значение предыдущего торгового дня.
А так сразу стейтмент ведётся, учёт баланса и учёт открытых/закрытых позиций. 

Квиковцы сказали что можно посчитать так: CBPLPLANNED + CBPLUSED + VARMARGIN - TS_COMISSION 
 
Mulder
Стаж: 12 лет 6 месяцев
Сообщений: 1324
Вт Окт 02, 2012 13:22 (спустя 3 дня 10 часов) Ответить с цитатой Получить постоянный адрес сообщения
skaar писал(а):
Mulder писал(а):
Я написал отдельную прогу учёта сделок и комиссий и ведения баланса, чтобы потом из файла вытащить значение баланса.
Иначе в течении дня сложно точно знать значение баланса, т.е. всёравно надо брать значение предыдущего торгового дня.
А так сразу стейтмент ведётся, учёт баланса и учёт открытых/закрытых позиций. 

Квиковцы сказали что можно посчитать так: CBPLPLANNED + CBPLUSED + VARMARGIN - TS_COMISSION 


Если у вас не было переноса позиций, а торговля только в течении дня, то легче вычислить баланс.
Потом вопрос клиринга в 13:00.
Вам много полей придётся учитывать в связи с дневным клирингом.
А истории сделок, которые ведутся автоматически у вас не будет всёравно.
Так что без напряга не получится. 
 
Последний раз редактировалось автором 02.10.2012 13:24, всего редактировалось 3 раза
skaar
Стаж: 11 лет 8 месяцев
Сообщений: 26
Вт Окт 02, 2012 13:31 (спустя 3 дня 10 часов) Ответить с цитатой Получить постоянный адрес сообщения
Mulder писал(а):
skaar писал(а):
Mulder писал(а):
Я написал отдельную прогу учёта сделок и комиссий и ведения баланса, чтобы потом из файла вытащить значение баланса.
Иначе в течении дня сложно точно знать значение баланса, т.е. всёравно надо брать значение предыдущего торгового дня.
А так сразу стейтмент ведётся, учёт баланса и учёт открытых/закрытых позиций. 

Квиковцы сказали что можно посчитать так: CBPLPLANNED + CBPLUSED + VARMARGIN - TS_COMISSION 


Если у вас не было переноса позиций, а торговля только в течении дня, то легче вычислить баланс.
Потом вопрос клиринга в 13:00.
Вам много полей придётся учитывать в связи с дневным клирингом.
А истории сделок, которые ведутся автоматически у вас не будет всёравно.
Так что без напряга не получится. 

А что не так с клирингом? Вот он прошел, я не вижу больших косяков в получившейся сумме.
Да не совпадает с отчетом брокера на пару рублей, но мне такой точности не надо в этом вопросе.
При -15% будет рублем больше или рублем меньше, мне уже без разницы, робота однозначно надо стопорить Smile 
 
Mulder
Стаж: 12 лет 6 месяцев
Сообщений: 1324
Вт Окт 02, 2012 14:42 (спустя 3 дня 12 часов) Ответить с цитатой Получить постоянный адрес сообщения
Всё я понял, просто вы не в курсе.
А цена закрытия пред. дня, а объём в открытых позициях, всё это накладывает свои ньюансы.

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

P.S.: для меня важен точный расчёт вместе с комисиией в онлайне, а не плюс/минус 2*2=7...8 - не больше.
 
 
Последний раз редактировалось автором 02.10.2012 14:43, всего редактировалось 1 раз
bucefal91
Стаж: 11 лет 5 месяцев
Сообщений: 10
Ср Окт 03, 2012 05:52 (спустя 4 дня 3 часа) Ответить с цитатой Получить постоянный адрес сообщения
Я вроде бы накатал 1го робота. Мне хочется, чтобы меня покритиковали. Я знаю, что все так просто не может быть Smile

Стратегия оч простая. На фьючерсе с интервалом в 1 час. Единственное, что я не успел сделать, это учесть совет ross'a о том, что я торги по цене открытия сделать не смогу.

Пересчение 2х средних. Период быстрой = 27, период медленной = 87.
Алгоритм при пересечении 2х линий закрывает логн (или шорт) и открывает шорт (лонг). И так туда-сюда инвертирует позицию. Я скачал часовые свечи с биржи с 1 января 2011 до сегодня. И он показал прибыльную статистику. Я вроде бы установил просказльзывание и комиссию.

Может быть я что-то где-то упустил из виду. Буду рад любой критике Smile 
 
russ
Стаж: 14 лет
Сообщений: 1136
Ср Окт 03, 2012 09:05 (спустя 4 дня 6 часов) Ответить с цитатой Получить постоянный адрес сообщения
Первое. Выкинь из торгов первый часовик, например так:

if (Bars.IsLastBarOfDay(bar))
continue;

Второе. Почему периоды 27 и 87? Слишком заоптимизированная система вряд-ли будет стабильной. 
 
Последний раз редактировалось автором 03.10.2012 09:07, всего редактировалось 1 раз
bucefal91
Стаж: 11 лет 5 месяцев
Сообщений: 10
Ср Окт 03, 2012 15:34 (спустя 4 дня 12 часов) Ответить с цитатой Получить постоянный адрес сообщения
Cпасибо за совет!
Вы правы, периоды мне оптимизация дала. Ам.... а я если не спомощью оптимизации, то как еще можно подбирать параметры системы?

Убрал 1й и последний бар -- да, прибыльность просела слегка Smile 
 
russ
Стаж: 14 лет
Сообщений: 1136
Ср Окт 03, 2012 17:30 (спустя 4 дня 14 часов) Ответить с цитатой Получить постоянный адрес сообщения
bucefal91 писал(а):
Cпасибо за совет!
а я если не спомощью оптимизации, то как еще можно подбирать параметры системы?
 

Почитай вот это kopela.com.ua/bektest-robotov/graal-na-skolzyaschich-srednich-235-25112011 
 
bucefal91
Стаж: 11 лет 5 месяцев
Сообщений: 10
Ср Окт 03, 2012 19:43 (спустя 4 дня 17 часов) Ответить с цитатой Получить постоянный адрес сообщения
ooo... Интересная мысль о размере средних. Я сам до нее не дошел из-за малого опыта на биржах наверное.

Я лично думал о другом способе решения этой проблемы. Прежде всего я согласен, что оптимизация параметров -- не решение всех земных проблем, т.к. параметры "затачиваются" под прошлое. А будущее - это не всегда прошлое.

Я думал об адаптивном или самообучающемся алгоритме. Покритикуйте эту идею пожалуйста.
Выставить какие-нибудь периоды для средних. Как только робот совершил какую-либо сделку (открыл и закрыл позицию), он тут же анализирует свое деяние. Возможно лучше было бы закрыться раньше, или открыться позже. Но робот принял решение открываться именно в тот момент, поскольку у него был параметр средней настроен на такую-то длинну.
Однако теперь, оглядываясь назад, робот может увидеть, что если бы длинна средней была на единчку меньше (либо больше), то эта сделка оказалась бы выгоднее. Соответственно, он меняет свой параметр (адаптируется к окружающей среде). Естественно, 1 сделки недостаточно, чтобы менять параметр, используется коэффициент под названием learning rate, который сглаживает все это дело.

На примере: Текущий период средней = 10. Робот понял, что сделка была бы выгоднее, если бы период средней был на 2 еденицы короче. И у него установлена learning rate = 0.01

10 - 2 * 0,01 = 9,98 -- он адаптировал свой период на чуть-чуть.

И на выходе допустим использовать Math.Round( 9.98 );
В конечном итоге после N сделок, которые все будут сигнализировать о том, что период стоило бы уменьшить, робот его уменьшит.

То есть идея это иметь параметры системы, дать возможность роботу делать "работу над ошибками" (дать ему возможность понимать из-за какого параметра сделка оказалась неуспешной) и дать ему возможность изменять свои параметры после работы над ошибками. Такой подход даст роботу "короткую память".
Сделка совершенная полгода назад практически уже не будет иметь влияние на сегодняшний результат, но вот сделка, совершенная вчера -- будет иметь довольно большое влияние на завтрашнюю сделку.

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

Кто что думает по обеим идеям?

Russ, спасибо за ссылку, буду читать ваш блог Smile
 
 
mmmavro
Стаж: 11 лет 5 месяцев
Сообщений: 2
Чт Окт 04, 2012 03:10 (спустя 5 дней) Ответить с цитатой Получить постоянный адрес сообщения
bucefal91 писал(а):
Хехе, спасибо, что радушно приняли Smile

Я хотел спросить, какой самый простой способ экспорта исторических данных . 


Самый быстрый, во всяком случае, экспорт данных украинской биржи, при помощи агрегатора - mmmavro.org/ux.php 
 
mmmavro
Стаж: 11 лет 5 месяцев
Сообщений: 2
Чт Окт 04, 2012 14:42 (спустя 5 дней 12 часов) Ответить с цитатой Получить постоянный адрес сообщения
http://mmmavro.org/ux.php архив склейки фьючерса индекса ux

1 января 2012 - 4 октября 2012

40 Mb (разархивированный)
1090000 строк

Инструмент = (UX-C)
Тип выборки = Тиковые данные
Разделитель полей = запятая (,)
Разделитель целой и дробной части = точка (.)
Формат даты = yyyyMMdd
Формат времени = HHmmss 
 
Последний раз редактировалось автором 04.10.2012 14:44, всего редактировалось 2 раза
bucefal91
Стаж: 11 лет 5 месяцев
Сообщений: 10
Ср Окт 10, 2012 08:02 (спустя 11 дней 5 часов) Ответить с цитатой Получить постоянный адрес сообщения
Никто так ничего и не написал. Я возможно попробую реализовать подобного робота в будущем.

А еще вопрос, новичку вы бы посоветовали на каком тайм-фрейме начинать? И в чем преимущества и недостатки длинного и короткого тайм фреймов?
Я вижу преимущество короткого тайм фрейма в том, что торгуя на часовых свечах, для робота картина меняется лишь раз в час, и лишь на границе часов он может сделать сделку ( а возможно 5 минут назад цена была еще более выгодной) -- то есть у него не настолько гибкие входы и выходы из позиции. А работая на более коротком таймфрейме можно решить открывать позицию и еще допустим в течении 10 мин искать лучшее (наиболее выгодное) время для ее открытия. 
 
lafert
Стаж: 13 лет 6 месяцев
Сообщений: 192
Ср Окт 10, 2012 19:05 (спустя 11 дней 16 часов) Ответить с цитатой Получить постоянный адрес сообщения
Идею можно реализовать значительно проще. Делайте оптимизацию за предыдущий месяц (год) каждый день. Тогда каждый день Вы будете использовать максимально эффективное решение под предыдущий месяц и отличатся от Вашего варианта оно будет лишь на ту дельту, которую робот внес бы за текущий день. Впрочем, Вы можете запускать отпимизацию каждые пару часов. И тогда дельта будет стремится к о(1). 
 
Показать сообщения:   
Новая тема   Ответить на тему
Список форумов Украинской биржи -> Алгоритмическая торговляНа страницу Пред.  1, 2, 3, 4, 5, 6  След.
Страница 3 из 6
Сайт Украинской биржи
Copyright © Украинская биржа, 2024.
Предложения, замечания и вопросы по работе форума направляйте на email: