На главную

A. Начало.

 

Несколько лет назад, когда я, после Си и Ассемблера, уже пытался программировать скриптами Word’а, одна брокерская фирма предложила мне написать программу для предсказания изменения курсовой стоимости ценных бумаг на фондовом рынке. Программа должна использовать какой-нибудь нестандартный метод прогнозирования, чтобы отличалась от существующих продуктов подобного типа.

Поскольку придумать что-то новое практически невозможно, то я предложил неожиданный, но довольно простой способ, хотя интуитивно понимал, что новизной тут и не пахнет.

Суть в следующем. В то время появилось много хороших, просто хороших и специальных программ архивирования файлов, а в запасе у нас имелись данные сделок за весь период существования фондовой биржи. Тогда, усредняем эти данные по трем уровням изменения – рост, падение или боковое движение. Затем формируем три пакета, в каждом из которых дописываем данные прогноза на день вперед, соответственно рост, падение или все остальное. В итоге, архивируем  файлы различными программами и смотрим, какой прогноз даст наилучшую степень сжатия. Логика заключалась в том, что вдруг какой-нибудь архиватор, или несколько сразу, угадает тенденцию и учтет ее в своем алгоритме. Кроме того, можно было добавлять в пакеты другие исходные данные, например, валютный курс или состояние здоровья президента, в любом случае программы переваривали данные в течение нескольких минут. Были и другие соображения, как-то, что фондовые спекулянты тоже «компрессируют» информацию о рынке и принимают решения в соответствии с принципом наименьшей сложности. Далее алгоритм усложнялся, прогноз делался на несколько шагов вперед, уровни детализировались. Потом родилась идея моделировать поведение рынка путем игры архиваторов между собой – одни настраивать на высокий уровень сжатия (профи), другие на низкий (лохи) и т.д. В конце концов, все заработало и давало неплохие результаты по сравнению с существующими в то время программами обработки данных. Проблема заключалась в том, что «стиль» фондового рынка постепенно менялся, тогда приходилось перенастраивать, добавлять и даже «убивать» некоторых членов нашего аквариума. До настоящего времени система дышит и развивается, но связанный корпоративным словом, подробностей давать не буду.

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

Дальше попытаюсь последовательно восстановить ход своих размышлений в форме постановки самому себе вопросов и возможных ответов на них. Причем, вопросы будут задаваться со стороны программиста, а ответы следовать отовсюду, в том числе и из мозгов. Главная цель, это разобраться в сути проблем, не злоупотребляя излишней математической строгостью, но в тоже время, руководствуясь принципом предельной ясности. Такой способ мне наиболее удобен, а другим достаточно понятен.

 

              



The Programs And Source Codes Rambler's Top100 Rambler's Top100