support.tsresearchgroup.com Forum Index

TSResearch | Software Products | Online Help | Free Download | Publications | Research

Username:   Password:   
Log me on automatically each visit
 

FAQ |  Search |  Memberlist |  Usergroups |  Profile |  Log in to check your private messages  Register |  Log in 

Генетическая оптимизация. Применение в среде TradeStation

 
Post new topic   Reply to topic    support.tsresearchgroup.com Forum Index -> PUBLICATIONS
View previous topic :: View next topic  
Author Message
VladGor
Support Team


Joined: 26 Jan 2004
Posts: 528

PostPosted: Mon Aug 23, 2004 8:27 pm    Post subject: Генетическая оптимизация. Применение в среде TradeStation Reply with quote

Конференция:
"Вопросы системной торговли 2004."
Владислав Горбунов
Текст доклада.

Генетическая оптимизация. Применение в среде TradeStation.


ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
это моделирование естественного отбора в природе.


Люди давно заметили, насколько удачно устроены некоторые процессы в природе, и попытались смоделировать их. Алгоритмы, о которых мы будем говорить основаны на естественном отборе в природе.
Генетические Алгоритмы - это адаптивные методы поиска экстремума, которые в последнее время часто используются для решения задач оптимизации. Они основаны на имитации эволюции в природе: биологические популяции развиваются в течение нескольких поколений, подчиняясь закону естественного отбора, открытому Чарльзом Дарвином, выживают наиболее приспособленные (survival of the fittest). Подражая этому процессу, генетические алгоритмы способны находить решения реальных задач, если те соответствующим образом закодированы.
Основные принципы ГА были сформулированы Холландом (Holland, 1975) и описаны во многих работах. В отличии от эволюции, происходящей в природе, ГА моделируют только те процессы в популяциях, которые являются существенными для развития. Точный ответ на вопрос, какие биологические процессы существенны для развития, и какие нет, все еще открыт для исследователей.

Рассмотрим основные термины, используемые в докладе:

· Ген;
· Хромосома;
· Фитнесс;
· Популяция;
· Скрещивание;
· Мутация.

Опишем каждый из них применительно к задачам, используемым в системах торговли.

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

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

Фитнесс
- Критерий полезности, приспособленности экземпляра, целевая функция. Это некоторое число, связанное с конкретной торговой системой, с помощью которого мы сообщаем генетическому оптимизатору, насколько нас устраивает эта торговая система. Чем оно больше – тем лучше экземпляр. В простейшем случае это может быть NetProfit или ProfitFactor, как, например, в «родной» оптимизации в TradeStation, что на наш взгляд, не верно. Результаты, полученные с использованием таких простых критериев, вряд ли будут устойчивыми. В нашем случае, пользователь сам описывает, что является «ЖИЗНЕСПОСОБНОСТЬЮ» экземпляра популяции - торговой системы. Фактически, можно только за счет построения критерия оптимизации получить систему, которая показывает в дальнейшем устойчивые результаты.

Популяция – Это группа сохранившихся к данному моменту лучших экземпляров, отобранных по лучшему фитнессу. Обычно торговую систему строят таким образом, чтобы в «ПОПУЛЯЦИЮ» отбирались наиболее «ЖИЗНЕСПОСОБНЫЕ», устойчивые системы.

Скрещивание - Замена одних генов аналогичными из другой особи, или замена хромосомы на аналогичную из другого экземпляра популяции.

Мутация - Это случайное изменение некоторых генов (параметров системы).

Схема работы генетического алгоритма


Схема работы генетического алгоритма, реализованная нами для TradeStation, достаточно проста для пользователя. После инициализации, оптимизатор начинает предъявлять оптимизируемой системе наборы параметров. После завершения прогона на указанных исторических данных система сообщает оптимизатору его результат – значение фитнесса. На основании полученных результатов оптимизатор формирует текущую популяцию из лучших встретившихся экземпляров и, скрещивая и мутируя их, формирует новый набор параметров для тестирования. Далее система с этими параметрами снова прогоняется на интересующих нас данных. После этого фитнесс сравнивается с уже имеющимися фитнессами других экземпляров. Если он лучше предыдущих, то он «вытесняет» более «слабые», если он «слабее», чем те что есть, то он выбывает из популяции (в первый раз он остается) и мы приступаем к поиску нового экземпляра (меняем параметры системы), и так далее, пока мы не закончим поиск.

Построение торговых систем


Имеется несколько подходов к построению торговых систем:

· Общепринятый подход;
· «Экономичный» подход.

Общепринятый подход в построении торговых систем заключается примерно в следующей последовательности действий:


Quote:
Начало цикла
Выбор следующих параметров:

· Актив.
· Временной интервал.
· Концепция (например, следование тренду, паттерны и т.п.).
· Ее формализация в виде индикаторов и т.п.
· Допустимый набор значений параметров индикаторов.
· Правила генерации сигналов.
· Тип ордеров (маркет, стоп, лимит) со значениями, если есть, параметров.
· Оптимизация параметров на ряде данных «in sample».
· Оценка результатов по критериям NetProfit, Profit Factor и т.д. для каждого набора параметров и выбор наилучших параметров.
· Если результаты удовлетворительны, то загрузка и тестирование на ряде данных «out of sample».
· Если результаты out of sample отличаются от результатов in sample в допустимых пределах, то выход из цикла, иначе переход на начало цикла.

Конец цикла

Возможно включить в цикл дополнительные параметры:

· Алгоритм расчета размера позиции.
· Расчет доли актива в портфеле, или оптимизация портфеля.


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

Quote:
«Экономичный» подход.
«пусть человек думает, а машина работает»...


Задание следующих параметров:

· Допустимый набор активов.
· Допустимый набор временных интервалов.
· Допустимый набор концепций.
· Допустимый набор индикаторов, при помощи которых можно гипотетически формализовать эти концепции.
· Допустимый набор значений параметров индикаторов.
· Допустимый набор элементарных правил, из которых состоят правила генерации сигналов.
· Допустимые варианты ордеров, с параметрами.
· Задание критерия оптимизации любой сложности и с любыми ограничениями. Для наших задач основной – монотонный рост Equity.
· Задание параметров Генетического Алгоритма.
· Задание интервала для тестирования Out Of Sampling.
· Запуск TS GO - Генетического оптимизатора.


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

Дело в том, что, как правильно заметил Александр Горчаков в предыдущем докладе, оценка системы или портфеля по какому-то критерию типа «Netprofit» очень часто приводит к «переподгонке». Использование косвенных критериев, которые мы можем создать, решает эту проблему.

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

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

Практическая реализация для TradeStation.


Остановимся на том, как это практически реализовано для торговой платформы TradeStation. Генетический оптимизатор состоит из программы с графическим интерфейсом и библиотеки (Dll), которая выполняет функции генетического отбора.
Интерфейс программы выглядит следующим образом:



Слева изображен рабочий Workspace платформы TradeStation, справа – окно для просмотра параметров отобранных экземпляров при генетической оптимизации.
Построение системы методом генетического отбора происходит следующим образом:
1. Вначале мы создаем набор возможных систем, который описываем с помощью EasyLanguage в среде TradeStation.
2. Далее, параметры, которые мы собираемся оптимизировать с применением генетических алгоритмов, мы записываем в виде «генов» и организуем их в «хромосомы». При этом мы указываем в параметрах генов диапазон возможных изменений параметра и шаг, с которым могут меняться эти параметры в указанном нами диапазоне. При установке шага 0 параметры будут изменяться непрерывно.
3. После указания «генов» и объединения их в «хромосомы» мы формулируем наши представления о "хорошей системе", задавая фитнесс – критерий оптимизации.
4. На заключительной стадии, мы открываем график, к которому применяем нашу стратегию, и запускаем поиск параметров генетическим алгоритмом. Запуск механизма оптимизации мы осуществляем, указав в Inputs в параметре «Gen» ( в окне редактирования системы в TradeStation) количество итераций перебора параметров. Т.е. собственный оптимизатор TradeStation используется для только как счетчик количества «прогонов» и как инициализатор генетического перебора. Например, если мы укажем в параметрах оптимизации «Gen» оптимизацию с 1 до 1000 с шагом в 1, как изображено ниже:



то это будет означать, что мы 1000 раз «прогоним» нашу систему по данному инструменту, и 1000 раз генетический алгоритм изменит параметры нашей системы.

Результат тестирования мы увидим в окне просмотра отобранных экземпляров, которое откроется автоматически по окончании тестирования:



По каждому экземпляру можно просмотреть его параметры. Можно отсортировать экземпляры по любому критерию, используемому в TradeStation, сохранить или экспортировать все данные в Excel для последующего анализа.

Рассмотрим построение системы на простом примере.

Допустим, у нас имеется классическая реверсивная торговая система на базе функции Average True Range. Принцип работы такой системы предельно прост. Исходя из среднего чистого диапазона баров (AvgTrueRange), мы строим некий канал (умножаем значение AvgTrueRange на множитель).Если текущая цена «пробила» вверх этот канал, мы покупаем, если вниз то продаем.

Исходный код на EasyLanuage получения значения AvgTrueRange выглядит так:


Входы по которым делается оптимизация преобразуются в переменные

Чтобы параметры такого сигнала можно было бы оптимизировать с помощью генетических алгоритмов, его необходимо преобразовать
следующим образом:



Сигнал получился чуть сложнее чем был, да и особого смысла перебора двух параметров особо нет. В данном примере у нас всего 5000 возможных вариантов. Чтобы найти приемлемое решение обычным способом, нам необходимо провести 5000 прогонов, что на большой истории займет большое время. С помощью ГО нам достаточно задать 100-200 итераций, и мы получим соответствующую популяцию, в которой содержится достаточное количество экземпляров с приемлемыми результатами. В более сложных реальных примерах число комбинаций параметров может значительно превосходить 5000. Например, оценка коэффициентов линейного цифрового фильтра 100 порядка при точности оценки коэффициентов 0.01 может потребовать перебора 10^300 комбинаций параметров. Это не под силу не только самому мощному суперкомпьютеру, но и всем существующим компьютерам, запущенным одновременно. А с помощью Генетического Оптимизатора можно найти приемлемое решение за десяток минут на домашнем компьютере.

Для удобства работы в TradeStation с генетическим оптимизатором, можно использовать уже готовые функции на EasyLanguage:

· TS.GO.Start(FileName) - Запуск оптимизатора и определение имени файла для хранения текущей популяции. Эта функция должна вызываться всегда на 1 баре.

· TS.GO.Mode(ModeGO) - Установка режима работы оптимизатора.

· TS.GO.Popul(NPop) - Задание размера популяции, от 10 до 1000.

· TS.GO.Chrom(Name) - Определение новой или поиск по имени уже определенной ранее хромосомы.

· TS.GO.Gen(Name,Chrom,Min,Max,Incr) - Определение нового гена или поиск по имени и переопределение уже определенного ранее гена.

· TS.GO.Next(Generation) - Генерация нового кандидата в популяцию, или определение лучшего экземпляра популяции по завершению оптимизации.

· TS.GO.Finish - Возвращает признак последнего прогона системы, когда оптимизация уже завершена, и TradeStation формирует отчет.

· TS.GO.Error - Возвращает код ошибки выполнения последней функции.

· TS.GO.Var(Name) - Создание пользовательской переменной. Переменная привязывается к текущему экземпляру популяции и позволяет сохранять данные пользователя.

· TS.GO.Get(Name,Individ) - Получить значение гена или переменной пользователя с именем Name из экземпляра популяции номер Individ.

· TS.GO.Set(Name,Val) - Установить новое значение переменной пользователя с именем Name для текущего экземпляра популяции.

· TS.GO.Fitness(Fitness) - Сообщить оптимизатору результат выполнения прогона системы.

· TS.GO.FreshBlood(FB_factor) - Установка значение фактора "свежей крови" популяции. Данная функция увеличивает эффективный размер популяции, не давая возможности доминировать лидерам и давая шанс другим кандидатам, что ускоряет оптимизацию за счет сохранения большего разнообразия генофонда и уменьшает склонность к переподгонке системы.

· TS.GO.Stat - Расчет стандартных характеристик торговой системы.

Более подробно с описанием функций и принципов создания систем, можно ознакомиться на форуме поддержки: [url]http://support.tsresearchgroup.com/ [/url]

Еще раз укажем, какие преимущества нам дает генетическая оптимизация:

Еще раз укажем, какие преимущества нам дает генетическая оптимизация:

Quote:
· Произвольные критерии оптимизации;

· Вычисление критерия на части истории (In Sample/Out Of Sample);

· Большое пространство параметров;

· Высокая скорость получения результата;

· Для систем с переменным числом параметров возможна оптимизация и по числу параметров.


Борьба с «ПЕРЕПОДГОНКОЙ» систем (Curve Fitting)


Существуют различные способы борьбы с так называемой «переподгонкой» систем или, как ее еще называют, переоптимизацией. Остановимся на тех вариантах решений, которые мы применяем в рамках генетической оптимизации:

· «Жесткие» условия оптимизации;
· Использование функции «Fresh Blood» из арсенала TSGO;
· Построение нетривиального критерия оптимизации.

«Жесткие» условия оптимизации.

Под жесткими условиями мы понимаем следующие установки при тестировании систем:
- Установка значительного проскальзования, например 1% на сделку и т.п.;
- Жесткое ограничение просадки (Draw Down);
- Большое количество итераций.
- Большое «плечо».

На практике было замечено, что такое тестирование ставит возможные системы в жесткие условия, при которых остаются только реально "живучие" системы. Это заставляет генетический оптимизатор отбирать те экземпляры систем, которые больше всего устойчивы к неблагоприятным условиям и воздействиям. «Выжившие» экземпляры показывали наиболее устойчивые показатели при тестировании на участках, которые не участвовали в оптимизации (out of sample»).


Функция «FreshBlood»

Функция «FreshBlood» (свежая кровь), вносит целенаправленное возмущение в фитнесс. В результате увеличивается эффективный размер популяции и улучшается сходимость. Это

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


Построение нетривиального критерия оптимизации (Фитнесс)

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

Quote:
[log W(T)/W(0) + 2/T * sum { log (W(t)/Wmax(t) }], t = 0,..., T,
где Wmax(t) = max{Wmax(t),W(t)}
т.е. стремимся обеспечить монотонный рост Equity W(t)).


Оптимизация большого количества параметров.

По сей день не утихают споры между «сторонниками» и «противниками» подхода построения систем с большим количеством параметров.
На практике нами были замечены следующие моменты, которые могут значительно влиять на результаты:

· Объем данных и «жесткость» системы.
· Если в системе есть много внутренних неконтролируемых степеней свободы – возможна «переподгонка» и при небольшом числе параметров.
· Оптимизация ЦФ с 100 коэффициентов и учет в фитнессе этого числа коэффициентов уже имеет смысл (на наш скромный взгляд).

Построение систем из блоков.

Новый подход в построении торговых систем, который был описан выше, нашел реализацию при применении генетического оптимизатора для TradeStation. Он использует реализованный в TradeStation способ построения в StrategyBuilder стратегий из готовых сигналов.

Принцип работы показан на схеме ниже:



Основные моменты:

· Все сигналы, в том числе и Менеджер, включаются стандартно в стратегию в TradeStation Strategy Builder.
· Менеджер – это стандартный блок, который присутствует во всех стратегиях, его задача – управлять процессом оптимизации. Он может быть один и тот же для многих стратегий. Все управляющие параметры стратегии задаются в нем как входные параметры – Inputs.
· Менеджер организует генерацию нового экземпляра, расчеты In Sample/OOS, вычисляет фитнесс и т.д.
· Каждый сигнал, как обычно, реализует один вариант входа или выхода, или набор однотипных входов/выходов.
· Каждый сигнал имеет стандартную структуру и в начале кода содержит описание параметров оптимизации.
· В начале работы каждый сигнал регистрирует свои параметры оптимизации. В процессе работы он выбирает значения своих параметров из текущего экземпляра популяции и выполняет свою работу с этими параметрами.

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

Когда мы преобразовали по этому принципу основные сигналы на базе индикаторов технического анализа (мувинги, стохастики, моментумы и т.п.) и сделали из каждого сигнала блок, то при генетической оптимизации этих блоков выявились явные «лидеры» даже среди сигналов, построенных на аналогичных базовых принципах.
Это говорит о том, что перспективы творчества и исследований поведения систем, основанных на традиционных методах технического анализа, далеко не исчерпаны.



Quote:
Завершить свое выступление мне хотелось бы следующим тезисом:

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

Имеет ли место это быть в биржевой торговле?



Пожалуйста, вопросы.
Quote:
Вопрос:
По какому критерию лучше оптимизировать и можно ли подбирать такой параметр в системе как «плечо»?

Ответ.
Сложно на это ответить однозначно. Что НЕ НУЖНО ДЕЛАТЬ.
Не надо выбрать критерий NetProfit, так как если у нас есть такой параметр, как плечо, то ясно, что мы получим лучший экземпляр тот, где будет максимальное плечо, потому что будет максимальный профит.
Quote:
Вопрос:
Тогда какой лучше выбрать критерий чтобы избежать подгонки и улучшить устойчивость системы?

Ответ:
Первое, на наш взгляд, нужно выбирать другой критерий оптимизации чем тот, который характеризует только доходность системы, то есть добавлять в фитнесс косвенные параметры. Например, это может быть – количество сделок или время нахождения в рынке. То есть те параметры, которые косвенно характеризуют качество системы.
Второе: можно применять функцию «FreshBlood», которая вносит возмущения. И та система, которая была с максимальным фитнессом, и тем самым как бы вытеснила из популяции другие экземпляры, в результате применения этой функции, может оказаться не самой лучшей. В результате мы в популяции оставим другие более жизнеспособные особи, которые в будущем могут нам показать лучший результат, например, на участке «out of sample». Эта проблема в целом носит название – скатывание к локальным экстремумам. Поиск в TSGO идет достаточно равномерно по всей плоскости. В результате мы получаем популяцию - срез практически всей плоскости, которая у нас есть.
Хотя конечно же, если есть локальный пик, он вполне может будет первым номером в нашей популяции. В этом случае мы можем выбирать в дальнейшем не самый лучший экземпляр.
В целом устойчивость систем можно решать тестированием в жестких условиях. Например, установив большую комиссию. Если система будет генерировать слишком большое количество сделок, она просто не выживет. В реальности таких жестких условий конечно может и не быть, но думаю большинство чувствовало бы себя спокойнее с такой системой, чем с системой, которая тестировалась с более мягкими условиями.
Quote:
Вопрос:
Какое количество итераций необходимо выбирать при генетической оптимизации, будет ли лучше если мы выберем как можно больше?

Ответ:
Достаточно несколько сотен итераций, чтобы получить приличный результат. Чтобы прикинуть быстро и просто оценить ситуацию в целом, достаточно бывает и ста.

Quote:
Вопрос:
Когда следует останавливать оптимизацию?

Ответ:
Все зависит от того, сколько итераций мы задали и какого мы достигли результата. Если очень большое количество сигналов, коэффициентов и фильтров, плюс мы ввели жесткие ограничения популяции и если там нет экземпляров с нужным нам фитнессом, то мы можем продолжать оптимизацию дальше.
Quote:
Вопрос:
В чем роль, в вашем примере сигнала, в тестировании на участке «sample» в вашей программе по генетической оптимизации для TradeStation и потом одновременном отображении результатов на участке «out of sample»?



Ответ:
Особой роли как таковой нет. Просто есть техническая возможность сделать удобный поиск по участку «sample» и, не нажимая кнопки, получить тот же результат на «out of sample». По сути, это просто вариант технического решения для тех, кому это нужно.

Quote:
Вопрос:
Сколько времени занимает поиск приемлемого результата, в примере той системы, что вы привели.


Ответ:
Поиск приемлемого решения из нескольких сотен тысяч вариантов занимает несколько минут.

Москва, 2004 г.

Trade Smart Research Group
www.tsresearchgroup.com
Back to top
View user's profile Send private message
AlekS
Beta Tester


Joined: 15 Jul 2004
Posts: 164
Location: Russia Krasnodar

PostPosted: Sat Jan 08, 2005 3:56 am    Post subject: Reply with quote

TS.GO ДЕШЕВАЯ ПОДДЕЛКА ПОД СЕРЬЕЗНЫЕ ПРОГРАММЫ ТЕХ. АНАЛИЗА
ВСЕ ЭТО ПРИДУМАЛ ВЕЛИКОУМНЫЙ МАК... СПАСИБО ТЕБЕ....
ТЫ НЕСЕШЬ ЛЮДЯМ "ДОБРО"... И ПУТЬ В НИКУДА В ЛУЧШЕМ СЛУЧАЕ
СПАСИБО...
ВАШ ЛУЧШИЙ ЛОХ АЛЕКС
Back to top
View user's profile Send private message Send e-mail
Mak
Developers Team


Joined: 26 Jan 2004
Posts: 465

PostPosted: Mon Jan 10, 2005 1:04 am    Post subject: Reply with quote

Алекс, пить нужно меньше ...

TS.GO это не программа тех.анализа.
Это Генетический Оптимизатор - замена оптимизатора встроенного в TradeStation.
Он более гибок и удобен, чем встроенный ...

Но это не готовый грааль, это просто инструмент.
И если вы не можете сделать работоспособную систему, то причем тут мы?

А генетические алгоритмы придуманы не мной и не сейчас ..
Попробуйте в Google поискать ..
Back to top
View user's profile Send private message
Guest






PostPosted: Mon Jan 10, 2005 4:19 pm    Post subject: Reply with quote

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

И все-таки хочется сказать следующее.

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

К тому же, характер современного рынка, естественно, не тот, что был вчера.
Возможно, это связано со стремительным развитием новых современных программ тех. анализа, которыми наверняка уже умело пользуется определенная категория участников рынка.
Плюс к этому, например, в некоторых готовых инструментах, помимо нейросетей, тот же генетический оптимизатор с легко настраиваемым WFO просто встроен изначально. Уже и астрология начинает внедряться в программы…. И т.п. и т.д.

Поэтому, может я и не прав, но без возможности построения нейросетей, TradeStation с TS.GO, хотя и имеют прекрасный встроенный язык программирования любых идей, но….
Но дают пользователю лишь возможность сознательно убедиться в бесполезности всего этого комплекса для изначально целевого применения - реального трейдинга.
Однако, для спасения от банкротства, конечно есть несомненная польза таких исследований.

С правильной реализацией WFO в данной среде, теперь довольно легко спастись от разорения.
А это в принципе очень даже немало.

Но… что дальше?
Back to top
VladGor
Support Team


Joined: 26 Jan 2004
Posts: 528

PostPosted: Mon Jan 10, 2005 6:47 pm    Post subject: Reply with quote

А дальше рутинная работа:

система на несложных правилах, минимальный риск, управление капиталом и психология.

Нейросети сами по себе ничего не дают как и WFO,
все дело в "критерии оптимальности" т.е. фитнесе, ну и немного везения, чтобы работать меньше Very Happy

Другие методы гадания типа астрологии и т.п. не стоит рассматривать в принципе, так как эти "инструменты" не для этого предназначены да и эффективность их низкая.
Back to top
View user's profile Send private message
AlekS
Beta Tester


Joined: 15 Jul 2004
Posts: 164
Location: Russia Krasnodar

PostPosted: Sun Jan 16, 2005 1:14 pm    Post subject: Reply with quote

Спасибо на добром слове. Very Happy

...Касаясь технической стороны TS.GO...
Использование блоков усложняет задачу. Бесконечные переходы по скриптам, корректировка менеджера, сборка системы блоков, и т.п.
Гораздо эффективней прописывать отдельные сигналы в виде функций. Например покупка в функцях-сигналах =+1, продажа=-1.
В результате моментально подменяются имена таких функций в 1 общем сигнале-сумматоре для поиска оптимального рещения.

С новым годом и удачи!
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    support.tsresearchgroup.com Forum Index -> PUBLICATIONS All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Copyright © TS Research Group

Powered by phpBB © 2001, 2002 phpBB Group

Developed by: webdesign.tria.lv