Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Виртуальная биржа. Битва роботов arrow Проект "Битва роботов". Шаг 1. Создание виртуальной биржи
20.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Проект "Битва роботов". Шаг 1. Создание виртуальной биржи Печать E-mail
Автор megabax   
28.09.2013 г.
Структура программы на примере простейшей программы

Проект "Битва роботов". Шаг 1. Создание виртуальной биржи

Раздумывая над трейдингом, алгоритмами биржевых роботов и торговыми стратегиями, я решил создать некий полигон, где буду моделировать поведение трейдеров и тренировать роботов. Об этом я писал в статье Волновой анализ. Шаг 3. Системное мышление в трейдинге, см. самый конец статьи. Спрашивается, а зачем нужна  виртуальная биржа, почему бы не тренировать роботов сразу на реальном фондовом рынке? А все дело в том, что я хочу изучить поведение других участников рынка и процессы в нем  на модели. Именно поэтому и родился экспериментальный проект "Виртуальная биржа. Битва роботов".  А еще к созданию этого проекта меня подтолкнул другой проект: "генетический алгоритм". В какой то мере, это продолжение экспериментов с ГА. Кстати, генетическому алгоритму у меня в платном разделе посвящен ряд статей, см. анонсы.

И так, несколько слов о будущей виртуальной бирже. Во первых, на ней будут торговать как роботы, в которых запрограммирован алгоритм какой либо торговой стратегии, в том числе стратегии, работающие на истории котировок а так же спредеры, скальперы и так далее.  Так же там будут торговать роботы, моделирующие поведение реальных трейдеров. Ну,  плюс, конечно, роботы, работающие на генетическом алгоритме, между которыми будет происходить естественный отбор. Самых лучших я выпущу тренироваться на реальных котировках, на который они будут проходить второй тур естественного отбора.

В этом цикле своих публикаций я буду выкладывать описание того, что я сделал и что у меня получилось, так сказать, отчет об экспериментах.

И так, эксперимент первый. Я создал стакан, куда роботы случайным образом кидают заявки. Диапазон рандомных числе следующий:

  • Для цены от 1 до 100

  • Для количества от 1 до 10

  • Покупать или продавать с вероятность 50 на 50.

Пока это даже не робот, а так, некий экспериментальный скриптик, написанный на C#:

        private void button2_Click(object sender, EventArgs e)

        {

            string path = "C:\\1\\om\\";

            Random rnd = new Random();

            Order order;

            StringBuilder sb = new StringBuilder();

            for (int i = 1; i < 1000; i++)

            {

                order = new Order();

                order.volume = rnd.Next(1, 10);

                order.price = rnd.Next(1,100);

                order.state = OrderState.active;

                if (rnd.Next(100) >= 50)

                {

                    order.operation = OrderOperation.buy;

                }

                else

                {

                    order.operation = OrderOperation.sell;

                }

                glass.putOrder(order);

            }

            for (int i = 1; i < glass.ticks.Count; i++)   

            {

                sb.AppendFormat("{0}; {1};\n", i, glass.ticks[i].ToString());

            }

            System.IO.File.WriteAllText(path+"log.txt", sb.ToString());

        }

 

Здесь еще не учитываются ни денежные средства, ни общее количество акций (это будет следующий шаг). Все полученные таким образом тики я вывел в лог и построил график.

 

Сжатый график:

Проект "Битва роботов". Шаг 1. Создание виртуальной биржи

 

увеличенный кусок сжатого графика:

Проект "Битва роботов". Шаг 1. Создание виртуальной биржи

 

Последнее обновление ( 28.09.2013 г. )
 
« След.
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги