ЛЧИ, данные
Atom
4/2/2012
vlad1024


С 2003 года проводится ежегодный всероссийский чемпионат по биржевой торговле – конкурс "Лучший частный инвестор". Многим трейдерам интересна статистическая составляющая этого конкурса, а именно анализ работы его участников и агрегированные данные. В данной статье показан способ получения статистики по ЛЧИ на примере данных 2011 года с использованием Python.

Скрипты на Питоне для выкачивания данных из статистики ЛЧИ и пост процессинга, а также данные по всем участникам за ЛЧИ 2011 скачать здесь.

Как использовать?
  1. Скачать и установить сборку питона, если он не установлен (ссылка 1 и ссылка 2).
  2. Набрать в командной строке команду "python". Должна появиться консоль питона (если этого не произошло, необходимо прописать в PATH путь к интерпретатору).
  3. Скрипт download.py скачивает данные для заданного года и участника. Пример: python download.py 2011 dr-mart
  4. Скрипт agregate.py агрегирует скаченные данные (т.е. раскладывает по инструментам, фиксит вечернюю сессию в хронологическом порядке, немного склеивает сделки и считает балансовую позицию).
    Пример: python agregate.py 2011 dr-mart
  5. В результате должно получиться (dr-mart_RIZ1.csv):
    Code
    code,direction,price,amount,time,date,balance 
    
    RIZ1,1,122185.0,83,194936,20111005,83
    RIZ1,-1,122220.0,-83,194956,20111005,0
    RIZ1,-1,125610.0,-30,155054,20111006,-30
    RIZ1,1,125965.0,6,174509,20111006,-24
    RIZ1,1,125965.0,14,174510,20111006,-10
    RIZ1,1,125965.0,1,174511,20111006,-9
    RIZ1,1,126110.0,30,174515,20111006,21
    RIZ1,1,126100.0,9,174616,20111006,30
    RIZ1,1,125965.0,9,174645,20111006,39
    RIZ1,-1,125100.0,-30,175144,20111006,9
    RIZ1,1,125760.0,21,175858,20111006,30
    RIZ1,1,126490.0,30,181004,20111006,60
    RIZ1,-1,129025.0,-60,221820,20111006,0
    RIZ1,-1,129780.0,-15,125659,20111007,-15
    RIZ1,1,130630.0,15,160719,20111007,0
    RIZ1,-1,131515.0,-15,175620,20111007,-15
    RIZ1,-1,129180.0,-10,203153,20111007,-25
    RIZ1,1,130750.0,25,232610,20111007,0


В аттаче — агрегированные текущие данные за 2011 для всех участников.

В корне архива lchi/VisualizeStrategy.wld расположена стратегия для WealtLab 5, которая визуализирует агрегированные данные.

Порядок действий:
  1. Экспортировать данные по инструменту в data sets за период ЛЧИ (например, через Ascii Files — данные от финама размещены в папке lchi/rts_m1_lchi)
  2. Создать новую пустую стратегию File → New → New Strategy From Code. В открывшуюся новую стратегию необходимо скопировать и заменить код из VisualizeStrategy.wld
  3. Единственный параметр стратегии — это filePath; он идет первой строкой в методе Execute. В него необходимо прописать полный путь до файла, содержащего агрегированные с ЛЧИ данные по инструменту. Например, если распаковать архив lchi.rar в каталог c:/project, после чего мы хотим посмотреть торговлю dr-mart на ri, получаем следующее:
    string filePath = «c:/project/lchi/data/2011/agregate/dr-mart_RIZ1.csv». Вместо dr_mart_RIZ1.csv может быть любой другой файл из каталога agregate. Все слэши в пути должны быть обратными, как в примере!

В результате получим такую картинку (за 16.11.2011 dr-mart):


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


1 2  >
Mikhail Sukhov

Avatar
Date: 4/2/2012
Reply


vlad1024

(минутный график инструмента, над ним индикатор черным цветом — чистая балансовая позиция, красная пунктиром — ноль, зеленая — максимум чистой балансовой позиции, синим — минимум)


Синей и зеленой линий не вижу на картинке. А так по графику видно, что трейдер не поспевал за рынков.
Thanks:

vlad1024

Avatar
Date: 4/2/2012
Reply


Mikhail Sukhov
vlad1024

(минутный график инструмента, над ним индикатор черным цветом — чистая балансовая позиция, красная пунктиром — ноль, зеленая — максимум чистой балансовой позиции, синим — минимум)


Синей и зеленой линий не вижу на картинке. А так по графику видно, что трейдер не поспевал за рынков.

Они просто на данной картинке за диапазоном того что отрисовывается оказались, а так они там есть. По поводу не успевал это верно подмечено, в результате - окончательно не успел )
Thanks:

Mikhail Sukhov

Avatar
Date: 4/2/2012
Reply


vlad1024

Они просто на данной картинке за диапазоном того что отрисовывается оказались, а так они там есть. По поводу не успевал это верно подмечено, в результате - окончательно не успел )


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

vlad1024

Avatar
Date: 4/2/2012
Reply


Mikhail Sukhov
vlad1024

Они просто на данной картинке за диапазоном того что отрисовывается оказались, а так они там есть. По поводу не успевал это верно подмечено, в результате - окончательно не успел )


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

Да, хорошая идея, по сути если просто проторговать эти сделки, это будет MFE и MAE. то есть насколько рынок сходил против нас(MAE), или наоборот сколько мы недобрали от максимума (MFE).
Thanks:

vitug

Avatar
Date: 5/10/2012
Reply


Вот ещё хорошая программа для анализа сделок, если к ней сделки прикрутить, то получится гораздо круче чем в WL. Поддерживает скрипты на C#, кстати.
http://sites.google.com/site/tranalyzer/home
Thanks:

alun

Avatar
Date: 6/13/2014
Reply


Всем привет! Ссылка на на народ на странице более не валидна. Этот скрипт еще актуален, можно ли его качнуть? Спасибо.
Thanks:

Mikhail Sukhov

Avatar
Date: 6/13/2014
Reply


alun
Всем привет! Ссылка на на народ на странице более не валидна. Этот скрипт еще актуален, можно ли его качнуть? Спасибо.


Может попробуете сделать это через Гидру? Она ЛЧИ умеет качать + есть встроенный аналитик для графиков http://stocksharp.com/fo...naliza-i-data-mainingha/
Thanks: alun

alun

Avatar
Date: 6/18/2014
Reply


Михаил Сухов
Может попробуете сделать это через Гидру? Она ЛЧИ умеет качать + есть встроенный аналитик для графиков http://stocksharp.com/fo...naliza-i-data-mainingha/


Ок. Спасибо, Михаил, попробую.

Это то с чего я начал, но там валилось много непонятных пока для меня ошибок...

Thanks:

Mikhail Sukhov

Avatar
Date: 6/18/2014
Reply


alun

Это то с чего я начал, но там валилось много непонятных пока для меня ошибок...


Об ошибках пишите.
Thanks:

alun

Avatar
Date: 6/18/2014
Reply


Михаил Сухов


Об ошибках пишите.


Что-то в таком духе:

Code

ЛЧИ 18.06.2014 22:47:40 Error System.InvalidOperationException: Нет информации об инструменте с кодом Si36000BL3.
   в StockSharp.Algo.History.Russian.Rts.Competition.CompetitionYear.<>c__DisplayClass13.<GetTrades>b__e(String l)
   в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   в StockSharp.Algo.History.Russian.Rts.Competition.CompetitionYear.<>c__DisplayClass13.<GetTrades>b__d(ZipArchiveEntry e)
   в System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
   в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   в StockSharp.Algo.History.Russian.Rts.Competition.CompetitionYear.<>c__DisplayClass13.<GetTrades>b__c()
   в Ecng.Common.Converter.DoInCulture[T](CultureInfo cultureInfo, Func`1 func)
   в StockSharp.Algo.History.Russian.Rts.Competition.CompetitionYear.GetTrades(ISecurityStorage securityStorage, String member, DateTime date)
   в StockSharp.Hydra.RtsCompetition.RtsCompetitionTask.OnProcess()
   в StockSharp.Hydra.Core.BaseHydraTask.<Start>b__0()


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

Также не понятно как отличить сделки конкретного участника.

Прошу прощения если вопросы уже задавались. Пока не нашел ответов на форуме.
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy