У вас не стоит Flash Player
Page 1 of 2 1 2 >
Настройки
#83871 - Tue Sep 25 2018 10:53 AM Автоматическое обновление истории TXT
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Была у меня мысль, и сейчас она есть, сделать автообновление истории по нашим акциям и фьючерсам. Так как у самого времени на это не хватало, на разбирательство что и как то перепоручил это дело знакомому. Вот об этом и рассказ. Может кто то уже сталкивался или делал это. Может подскажите. В данной теме буду продолжать писать до тех пор пока вопрос не решиться и я не получу необходимый результат.
Стиль автора сохранен.
Добрый день! Эта история о том, как я работал с продуктом S# - S#.Data, также известной как Гидра.
Идея была таковой: обеспечить автоматическую загрузку и обновление исторических данных (минутные свечи) с Финама по сотне акций и двум десяткам фьючерсов. Решено было реализовать эту идею с помощью источника «Финам» и задачи «Экспорт (авто)». С первых минут работы с сим шедевром стало ясно, что придётся помучиться. Первым делом загрузил все инструменты, доступные Гидре (с трудом, ибо Гидра начала бунтовать, пришлось перезапустить это чудовище), после добавил примерно сотню акций и около двадцати фьючерсов, настроил кое-как источник и задачу, установил начальную дату для загрузки историй.
Первой серьёзной, как тогда казалось, проблемой стал шаблон экспорта, но всё по порядку. Пришлось разбираться, какой формат данных нужен был (предусматривалась работа с TSLab): скриншот ниже.
http://prntscr.com/ky2z8b
Загвоздка оказалась в том, что данный файл с расширением txt, а Гидра, как ни странно, умеет выводить текстовые файлы только в формате csv, для которого в TSLab существовал другой формат. К сожалению, скриншот вставить не могу, так как все файлы в формате csv я удалил, а это уже совсем другая история. Могу только предоставить шаблон экспорта минутных свечей, который нужен Гидре:
{OpenTime:MM/dd/yyyy};{OpenTime:HH}:{OpenTime:mm};{OpenPrice};{HighPrice};{LowPrice};{ClosePrice};{TotalVolume}
Но и с ним были проблемы: время должно было быть в формате HH:mm, поэтому в шаблоне пришлось бы прописывать {OpenTime:HH:mm}, а второе двоеточие Гидре не понравилось. Спустя две недельки до меня наконец-то дошло, что можно просто разделить поля, как в шаблоне выше. Так первая проблема была решена.
Второй проблемой стала сама механика работы задачи экспорта в Гидре. Мало того, что название экспортируемого файла было, мягко говоря, некрасивым (например: candles_TimeFrameCandle_00_01_00_SBER@TQBR_2007_01_09_2018_08_16.csv), так ещё и Гидра не могла дополнять файлы, то есть она выводила один файл, потом спустя сутки ещё один, вместо дополнения первого, и так каждый день. В итоге я наблюдал чудесную картину: три файла: один за период 01.01.2007 — 01.08.2018, другой — за период 01.08.2018 — 02.08.2018, третий — за 02.08.2018 — 03.08.2018. Чтобы избежать этой мути, пришлось писать .bat, склеивающий файлы одной акции/фьючерса, одновременно давая адекватные названия файлам. Ещё один бзик Гидры побеждён!
Но радовался я недолго... Оказалась, что в выходные и праздники Гидра продолжает каждый день экспортировать файлы, несмотря на отсутствие новых данных. В итоге каждый день появлялись новые одинаковые файлы, а скрипт их склеивал, и в основном файле со всей историей с 2007 года последние строки просто дублировались. Решение тоже нашлось: пришлось дополнить скрипт, чтобы он сравнивал новые файлы с последними строками основных файлов, и, если они идентичные, скрипт их удаляет. Одной проблемой меньше.
Очень скоро нашлась ещё одна проблема, Гидра встраивает в файлы в формате csv временной признак +3, который не нужен, и получалось, что в TSLab'е вся история была сдвинута на 3 часа вперёд. Торги начинались в 13:00, а заканчивались в 3:00. Именно тогда я психанул, удалил все файлы в формате csv и переделал шаблон и скрипт для работы с txt. Гидра экспортировала файлы в формате csv, но скрипт, склеивая их, менял их расширение на txt. Кстати, вот шаблон для минуток:
{SecurityId.SecurityCode},1,{OpenTime:yyyyMMdd},{OpenTime:HHmmss},{OpenPrice},{HighPrice},{LowPrice},{ClosePrice},{TotalVolume}
Также в формате txt TSLab'у нужен заголовок файла:
<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
Дальше выясняется, что, когда Гидра видит отсутствие экспортированных вчера файлов, она создаёт новый файл, в который запихивает данные сразу за два дня: вчера и сегодня, из-за чего перестал работать правильно скрипт, ведь он ищет точное совпадение всего нового файла среди строк основного файла, а так как новый файл только наполовину содержит новые данные (данные за вчера уже есть в основном файле, а за сегодня — ещё нет), скрипт пропускает этот файл, и данные опять дублируются.
Не успел я разобраться с предыдущей проблемой, как появилась ещё одна. Оказалось, что большая часть акций просто не те! То есть данные, загруженные напрямую с Финама, сильно отличаются от данных, которые предоставила Гидра, хотя тикеры акций идентичны!
Ниже можно увидеть скриншоты истории по акции HYDR (слева — с Финама, справа — с Гидры):
http://prntscr.com/ky31t1
Рядом на скриншоте можно увидеть, что Гидра считает HYDR@TQBR акцией:
http://prntscr.com/ky325t
И добавлю про логи: Гидра пишет, что начинает загрузку данных с 2007 года, но потом, с 2011 года, по-настоящему начинает загружать:
http://prntscr.com/ky32uz
Кстати, интересен факт того, что скаченные данные уже неправильные, т. е. Это не экспорт шалит, а именно источник Финам. Вот сравнение скачанных данных, лежащих в папке Гидры (слева) и выходного файла (справа) после экспорта:
http://prntscr.com/ky33ji
Мало того, что данные разные, так ещё и история с Гидры начинается 01.03.2011, как будто это фьючерс какой-то. И так со многими акциями, почти со всеми. Фьючерсы вроде правильные, но я проверял не все.
Моё повествование подошло к концу. Собственно, зачем я всё это писал? Чтобы попросить вас о помощи. Что не так с Гидрой? И вообще, взбесилась Гидра или Финам? Почему Гидра и Финам предоставляют абсолютно разные данные?


Attachments
1.jpg (87 downloads)
2.jpg (102 downloads)
3.jpg (80 downloads)
4.jpg (80 downloads)
5.jpg (90 downloads)

_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#83925 - Tue Oct 02 2018 01:21 PM Re: Автоматическое обновление истории TXT [Re: Frend]
serg Offline
Pooh-Bah

Registered: Fri May 14 2010
Записи: 1663
Loc: Россия
Frend !
Ты герой..:)
Поднял свою историю - до 2016 г.была програмка которая качала файлы txt с сайта Финама просто замечательно, но Финам постоянно что то менял и автор отказался поддерживать сию прогу.
Кстати , навел на нее Vito..
Пробовал и Гидру, но не пошла сразу и я забил.
Обхожусь сечас вообще без подкачки, просто мониторю агентов.
НО учитывая твои масштабы агентов (30?,50?...шт smile с подкачкой было бы проше.
Есть еще ( была ?) на Финаме FinamDataFeed и ее позиционировали как для подкачки текстовиков. Так же не запустилась у меня...
А запустить прогу для подкачки текстовиков с Финама в он -лайне было бы здорово !


Отредактировано serg (Tue Oct 02 2018 01:22 PM)

Наверх
#83926 - Tue Oct 02 2018 02:18 PM Re: Автоматическое обновление истории TXT [Re: Frend]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Не понятны конечные цели.


Такая информация: В программе теперь есть новый поставщик кешированных данных. (офлайновый)
Поставщик умеет собирать закешированную тиковую историю по инструменту из сохраненных bin файлов.
Допустим у меня есть за 7 лет реальной торговли тиковые bin файлы по фортс. Я их Вам кидаю на rutracker, в программе создаете нового поставщика кешированных данных и собираете из них инструменты. Таким образом собственный инструмент ФьючРТС будет из себя представлять 7 летний контракт, на котором можно тестировать, оптимизировать. Но проблема пока только в том, что именно bin файлы из 1.2 он не распознает, пока понимает только файлы gz собранные в 2.0

Наверх
#83927 - Tue Oct 02 2018 03:00 PM Re: Автоматическое обновление истории TXT [Re: ViL]
serg Offline
Pooh-Bah

Registered: Fri May 14 2010
Записи: 1663
Loc: Россия
Конечная цель - в режиме он лайн мониторить ( через закачку текстовиков с Финама ( или из другого доступного источника) он лайн агентов на другой ( не торгующей машине). Конечно можно все грузить параллельно с торгующей машины ( тупо - открываешь копию скрипта и мониторишь НО ! :
1.грузишь второй (...надцатой) копией рабочую машину ( в случае если торгуешь со своей машины или сервака)
2.неудобно "прыгать" ( если Лаба на виртуалке ) из обычной машины на виртуалку.

Было бы здорово если бы на обычной машине ( у которой есть инет, но нет работающих агентов) - была бы организована подкачка текстовиков (с сайта Финам как пример) в Лабу - для мониторинга работы скриптов.
Конечно есть сообщения и пр., но как показал мой опыт ( см. выше) - отдельная машина с подкачкой+ картинка ( трансляция) с рабочей вкладки ( торгующие агенты) - оч.хорошо ! Все наглядно видно !
А уж если утебя 10,20...надцать агентов - оптимальный выход для контроля.
ЗЫ: Вариант передачи данных с торгующей машины куда -то для мониторинга - очень затратный по ресурсам ........

Хотя может быть Френд преследовал другую цель ?


Отредактировано serg (Tue Oct 02 2018 03:01 PM)

Наверх
#83928 - Tue Oct 02 2018 03:02 PM Re: Автоматическое обновление истории TXT [Re: ViL]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Но gz это просто архив? Ведь так? Его можно сделать?
Потому что у меня вроде бы на первых порах получалось. Я имею ввиду когда только вышла 2.0


Отредактировано Stan (Tue Oct 02 2018 03:03 PM)

Наверх
#83929 - Tue Oct 02 2018 07:01 PM Re: Автоматическое обновление истории TXT [Re: Stan]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Агентов да, много, более сотни. Не считал сколько конкретно. Идея немного не в этом. В лабе, в которой я разрабатываю, есть конфигурация в которой открыты все скрипты, которые торгуются (основные направления) раз в месяц (пару недель), я открываю её и смотрю, как они себя повели за последние год (некоторые два, три), включая последние дни. Вот для последних дней и нужно обновление. Вручную обновлять каждый месяц десятки инструментов не очень удобно. Т.е. я не сверяю их с агентами по сделкам, я смотрю текущее поведение эквити с историческим за последние несколько лет, чтобы отлавливать нетипичное поведение кого-либо


Отредактировано Frend (Tue Oct 02 2018 07:04 PM)
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#83930 - Tue Oct 02 2018 07:18 PM Re: Автоматическое обновление истории TXT [Re: Frend]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Соответственно для такого случая и создан новый тип поставщика данных.
Кидаете бин файлы в папку и делаете обновление инстурмента в поставщике, история готова. Попробуйте собирать историю таким образом.

Наверх
#83931 - Tue Oct 02 2018 09:29 PM Re: Автоматическое обновление истории TXT [Re: ViL]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
ViL, а на сколько затруднительно создать видео, достаточное, чтобы у любого пользователя появилось правильное понимание как , и в какой последовательности провести манипуляции с этим новым поставщиком данных ( я так понял в исторические ), на примере фуча РТСа. Ну скажем за год правильность сборки такой склейки на тиковом кеше. Метод тыка, в данном случае, мне представляется не обоснованным, с точки зрения надёжности исследований алгоритмов на такой склейке. То собрано, не то? Правильно, не правильно сформировалось? Лично у меня в первого захода не получилось ни по аналогии с 1.2. , ни после прочтения текущей темы.

Наверх
#83932 - Tue Oct 02 2018 10:33 PM Re: Автоматическое обновление истории TXT [Re: Rezident]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Сформируется правильно сам, если названия файлов не меняли.
Там начать нужно с плюсика. СОздали поставщика и только потом открыли Настройки -> + -> Название инструмента -> Указали папку.
Все дело в маленьком плюсике, мне тоже изначально показалось, что не логично для пользователя нажимать самую маленькую кнопку, которая находится где-то снизу, когда есть поле для названия и поле с папкой.
Попробуйте.


Отредактировано ViL (Tue Oct 02 2018 10:34 PM)

Наверх
#83933 - Wed Oct 03 2018 11:25 AM Re: Автоматическое обновление истории TXT [Re: ViL]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
При создании нового поставщика кешированных данных в списке появляется только папка кешдата, хотя по -идее должна быть и кештрейдс. В дату как можно бины класть? И + создаёт тикер, он должен быть аналогичным названию инструмента или может быть на отвлечённую тему?


Отредактировано Rezident (Wed Oct 03 2018 11:26 AM)

Наверх
#83934 - Wed Oct 03 2018 12:11 PM Re: Автоматическое обновление истории TXT [Re: Rezident]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Папку выбираете сами же, если не видна нужная, то тикет в саппорт. По идее можно выбрать хоть папку на рабочем столе или вот в видео, после примера с созданием тикера, я создал тикер, который находится на другой машине.
https://www.screencast.com/t/EIXXf9ROkdxm
screencast периодически чистит сервер, если видео пропало со временем, значит посмотрите по теме поставщиков данных в базе знаний.
(На подвисания в видео посреди фильма не обращаем внимание, там на жесткий диск усердно воспроизводятся ошибки, машина перегружена.)
В фильме показывается создание своего инструмента в новом поставщике данных.
Нажимаем +
Даем имя
Выбираем папку
Программа автоматом определила содержимое. (пока точно и хорошо определяет фьючи с русского рынка, они клеятся на ура и криптобиржа derebit, для остальных крипто не актуально. С данными эксанты и ib пока есть сложности)
Выбираем инструмент
При необходимости даем данные об инструменте(как в текстовике).
инструмент создан bitok
Далее показываю, что папку указать можно откуда-нибудь с другой машины, если серверные части правильно настроены и к какой-то машине есть доступ.

Наверх
#83935 - Wed Oct 03 2018 01:55 PM Re: Автоматическое обновление истории TXT [Re: ViL]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
правильно я понимаю, что в папку кешированных данных нужно помещать бины исключительно нужного мне инструмента и в нужном кол-ве или можно тупо скопировать любую папку с кешем целиком, т.е. со всем её содержимым без разбора???

Наверх
#83936 - Wed Oct 03 2018 03:18 PM Re: Автоматическое обновление истории TXT [Re: Rezident]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
То что получается у меня, согласно данного видео, отправил в техподдержку.

Наверх
#83941 - Sun Oct 07 2018 02:20 PM Re: Автоматическое обновление истории TXT [Re: ViL]
panika1979 Offline
newbie

Registered: Fri Aug 10 2018
Записи: 28
Originally Posted By: ViL
Не понятны конечные цели.


Такая информация: В программе теперь есть новый поставщик кешированных данных. (офлайновый)
Поставщик умеет собирать закешированную тиковую историю по инструменту из сохраненных bin файлов.
Допустим у меня есть за 7 лет реальной торговли тиковые bin файлы по фортс. Я их Вам кидаю на rutracker, в программе создаете нового поставщика кешированных данных и собираете из них инструменты. Таким образом собственный инструмент ФьючРТС будет из себя представлять 7 летний контракт, на котором можно тестировать, оптимизировать. Но проблема пока только в том, что именно bin файлы из 1.2 он не распознает, пока понимает только файлы gz собранные в 2.0


Подскажите пжл а просто bin без gz исторические данные Кеша собранные, в 2,0 версии будет реализовано чтоб просто bin считывались?


Отредактировано panika1979 (Sun Oct 07 2018 02:39 PM)

Наверх
#83942 - Sun Oct 07 2018 03:44 PM Re: Автоматическое обновление истории TXT [Re: panika1979]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Будет в ближайшей ночной.
2.0.29.12 или выше.
http://support.tslab.ru/index.php?/Knowl...ii-programmy-20


Отредактировано ViL (Sun Oct 07 2018 03:45 PM)

Наверх
#83943 - Sun Oct 07 2018 07:39 PM Re: Автоматическое обновление истории TXT [Re: ViL]
panika1979 Offline
newbie

Registered: Fri Aug 10 2018
Записи: 28
Originally Posted By: ViL
Будет в ближайшей ночной.
2.0.29.12 или выше.
http://support.tslab.ru/index.php?/Knowl...ii-programmy-20

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

Наверх
#83944 - Sun Oct 07 2018 08:43 PM Re: Автоматическое обновление истории TXT [Re: panika1979]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Должно быть немного легче.

Наверх
#83945 - Sun Oct 07 2018 08:45 PM Re: Автоматическое обновление истории TXT [Re: panika1979]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Originally Posted By: panika1979
Originally Posted By: ViL
Будет в ближайшей ночной.
2.0.29.12 или выше.
http://support.tslab.ru/index.php?/Knowl...ii-programmy-20

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


Если есть машина не торговая, могу в личку скинуть сборку, посмотрите, если что, откатитесь на бекап.

Наверх
#83946 - Sun Oct 07 2018 09:01 PM Re: Автоматическое обновление истории TXT [Re: ViL]
panika1979 Offline
newbie

Registered: Fri Aug 10 2018
Записи: 28
Originally Posted By: ViL
Originally Posted By: panika1979
Originally Posted By: ViL
Будет в ближайшей ночной.
2.0.29.12 или выше.
http://support.tslab.ru/index.php?/Knowl...ii-programmy-20

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


Если есть машина не торговая, могу в личку скинуть сборку, посмотрите, если что, откатитесь на бекап.


А до релиза далеко? Ну я не против если есть возможность такая скинуть... Буду одним из первых тестеров.

Наверх
#83952 - Mon Oct 08 2018 04:58 PM Re: Автоматическое обновление истории TXT [Re: panika1979]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
ночная уже в базе знаний.

Наверх
#83961 - Wed Oct 10 2018 10:57 AM Re: Автоматическое обновление истории TXT [Re: ViL]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
В общем закончилось дело тем что посоветовали программу OSA Engine.
Попробовал. Скачал довольно неплохо. Сегодня проверил. Историю обновил. Пока проверил на склейки forts. Если не будет сбоя, то вопрос решился. Единственно качает каждый файл в отдельную папку. Но скопировать не кто не мешает все в 1. И формат данных не содержит информации в виде заголовка, тикера, и тайма. Но tslab скушал правильно. Напишу через неделю/две что и как. Когда закину с сотню бумаг туда.
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
Page 1 of 2 1 2 >


Moderator:  ViL, sar