SlideShare a Scribd company logo
1 of 15
Download to read offline
РАЗРАБОТКА АВТОМАТИЧЕСКОЙ ТОРГОВОЙ
              СИСТЕМЫ
Основная идея
Кластеризация исторических данных

 Кластеризуем массив исторических
  данных, чтобы выделить наиболее
  разнородные ценовые модели
Иерархическая кластеризация
Алгоритм
Иерархическая кластеризация
Пример
Кластеризация методом K
средних
                 {K} непересекающихся
                 кластеров с
                 центроидами {C}
Основная идея

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


                        Фитнесс-функция:


                        Граничное значение = 1.3
Генетический алгоритм

 Генетический алгоритм
  распараллеливается
 Используем это для увеличения
  быстродействия алгоритма
Генетический алгоритм
  Параллельный подход



Отдельный поток:



                        lBest – локальное значение максимума
                        Фитнесс – функции
                        lEdge – локальное значение граничного
                        значения фитнесс-функции
                        SendGlobal(…) – событие, возникающие
                        при lBest>=lEdge
Генетический
алгоритм
  Общий процесс


gBest – глобальное значение максимума
Фитнесс-функции. Хранится в общей
(Shared) памяти.
lBest – значение максимума
Фитнесс-функции в потоке n. Хранится
В локальной памяти потока, передается
в общий процесс с помощью события.
Генетический алгоритм
Параллельный подход, общая схема
Основная идея

 Далее будем пытаться выяснить, к какой
  ценовой модели относятся текущие
  котировки.
 После этого будем применять известную
  стратегию к реальным данным.
Общая схема системы
Экономическая сводка


       Наименование показателя        Единица               Значение показателя
                                      измерения
                                   Технические показатели

                                                     Автоматическая торговля на
      Назначение программы
                                                             фондовых биржах

      Тип ЭВМ                                                IBM-совместимая
      Тип процессора                                            Intel Core i5
      Частота работы процессора          ГГц                        ≥2
      Объём оперативной памяти            Гб                        ≥2
      Свободное пространство на
                                          Гб                       ≥ 100
      жестком диске
      Технология для реализации                               .NET, язык С#
      Операционная система                              Windows XP/Windows 7
                                  Экономические показатели
      Трудоёмкость разработки           Чел.-ч.                     1080
      Число разработчиков                чел.                        3
      Срок реализации разработки          год                       0,25
Заключение

 В ходе работы была разработана архитектура
  автоматической торговой системы
 Были исследованы генетические алгоритмы, их
  применимость к контексту динамически
  изменяющихся цен на бирже и возможность
  параллельной реализации
   Был реализован алгоритм иерархической
    кластеризациии;
   Был реализован алгоритм кластеризации методом K
    средних;
   Был разработан генетический алгоритм,
    соответствующий контексту задачи;
   Был разработан комплекс программ, решающих
    поставленную задачу.

More Related Content

Similar to Automate trading via genetic programming

C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
Technopark
 
20100307 virtualization igotti_lecture05
20100307 virtualization igotti_lecture0520100307 virtualization igotti_lecture05
20100307 virtualization igotti_lecture05
Computer Science Club
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
Boris Kizko
 

Similar to Automate trading via genetic programming (20)

технологическая презентация Gpu digital lab
технологическая презентация Gpu digital labтехнологическая презентация Gpu digital lab
технологическая презентация Gpu digital lab
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциям
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
20100307 virtualization igotti_lecture05
20100307 virtualization igotti_lecture0520100307 virtualization igotti_lecture05
20100307 virtualization igotti_lecture05
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
 
Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)
 
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
 
Tbb лр1
Tbb   лр1Tbb   лр1
Tbb лр1
 
Platov
PlatovPlatov
Platov
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
С++ Optimization Techniques
С++ Optimization TechniquesС++ Optimization Techniques
С++ Optimization Techniques
 
Урок 26. Оптимизация 64-битных программ
Урок 26. Оптимизация 64-битных программУрок 26. Оптимизация 64-битных программ
Урок 26. Оптимизация 64-битных программ
 
Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
Презентация HPE
Презентация HPE Презентация HPE
Презентация HPE
 
Flame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеFlame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилирование
 
Cuda, OpenCL
Cuda, OpenCLCuda, OpenCL
Cuda, OpenCL
 

Automate trading via genetic programming

  • 2. Основная идея Кластеризация исторических данных  Кластеризуем массив исторических данных, чтобы выделить наиболее разнородные ценовые модели
  • 5. Кластеризация методом K средних {K} непересекающихся кластеров с центроидами {C}
  • 6. Основная идея  Далее, используя генетический алгоритм, построим специфические торговые стратегии для выделенных кластеров.
  • 7. Генетический алгоритм Общая схема Фитнесс-функция: Граничное значение = 1.3
  • 8. Генетический алгоритм  Генетический алгоритм распараллеливается  Используем это для увеличения быстродействия алгоритма
  • 9. Генетический алгоритм Параллельный подход Отдельный поток: lBest – локальное значение максимума Фитнесс – функции lEdge – локальное значение граничного значения фитнесс-функции SendGlobal(…) – событие, возникающие при lBest>=lEdge
  • 10. Генетический алгоритм  Общий процесс gBest – глобальное значение максимума Фитнесс-функции. Хранится в общей (Shared) памяти. lBest – значение максимума Фитнесс-функции в потоке n. Хранится В локальной памяти потока, передается в общий процесс с помощью события.
  • 12. Основная идея  Далее будем пытаться выяснить, к какой ценовой модели относятся текущие котировки.  После этого будем применять известную стратегию к реальным данным.
  • 14. Экономическая сводка Наименование показателя Единица Значение показателя измерения Технические показатели Автоматическая торговля на Назначение программы фондовых биржах Тип ЭВМ IBM-совместимая Тип процессора Intel Core i5 Частота работы процессора ГГц ≥2 Объём оперативной памяти Гб ≥2 Свободное пространство на Гб ≥ 100 жестком диске Технология для реализации .NET, язык С# Операционная система Windows XP/Windows 7 Экономические показатели Трудоёмкость разработки Чел.-ч. 1080 Число разработчиков чел. 3 Срок реализации разработки год 0,25
  • 15. Заключение  В ходе работы была разработана архитектура автоматической торговой системы  Были исследованы генетические алгоритмы, их применимость к контексту динамически изменяющихся цен на бирже и возможность параллельной реализации  Был реализован алгоритм иерархической кластеризациии;  Был реализован алгоритм кластеризации методом K средних;  Был разработан генетический алгоритм, соответствующий контексту задачи;  Был разработан комплекс программ, решающих поставленную задачу.