Нейронная сеть для получения 1 выхода (решение стоп-лосса FOREX) из 7 входов

У меня есть сочетание значений с плавающей запятой и целых чисел, которые играют роль в создании одного значения с плавающей запятой. Что-то коррелирует, а что-то может и нет. Используя FANN, я хочу посмотреть, являются ли нейронные сети ответом. Учитывая 6 или 7 входных чисел, которые определяют одно выходное число, какие сети и макеты использовать в FANN?

С помощью эксперта по торговле на FOREX я разработал систему, которая находит потенциальные точки входа (используя тестирование на истории), эти позиции имеют высокий процент выигрышей при правильной игре. Проблема заключается в выборе «стоп-лосса», чтобы получить этот выигрыш. Бэк-тестер показал, что это выигрышные сделки, но выбрать настройки «стоп-лосс» непросто. Я выбираю на основе лучшего результата. Я пробовал детерминированные решения безуспешно.

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

У меня есть список входных данных, идеальный стоп-лосс и результаты. Я хочу, чтобы магия черного ящика выводила «стоп-лосс» и «ожидаемый результат» как можно ближе к совершенству. Входные данные — это значения двойной точности, а также выходные данные. Некоторые из них являются целыми числами, но могут быть представлены как двойная точность. Одно логическое значение для короткой или длинной торговли. Если проблема, я могу тренировать шорты отдельно от длинных.

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


person Bodger    schedule 08.10.2015    source источник
comment
Интересный вопрос, но я думаю, было бы полезно, если бы вы немного подробнее объяснили свою цель использования нейронных сетей. Просто сказать, что вы хотите ввести в нейронную сеть 6-7 входных чисел, которые производят x, число, которое может коррелировать или не коррелировать с бла, плохо передает ваше намерение. Я думаю, было бы полезно, если бы вы представили макет ввода и желаемого результата или описали желаемые наблюдения.   -  person Joshua Dannemann    schedule 09.10.2015
comment
Джошуа, спасибо за ответ. Я обновил статью с дополнительной информацией по вашему запросу. Если вы хотите больше, пожалуйста, дайте мне знать. Я держу это расплывчатым, потому что я не знаю, какие значения важны на стороне ввода, но у меня есть из чего выбирать.   -  person Bodger    schedule 09.10.2015


Ответы (1)


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

Хотя это очень общий вопрос, вот мои пункты:


AI/ML NN-Feature Engineering!...забудьте об 6:?[:?[:?]]:1 архитектурах

Это Ключ.

Какой бы AI/ML-Predictor вы ни выбрали,
будь то ИНС, SVM или даже "слабый" алгоритм обучения на основе ансамбля, главная проблема заключается в >не движок, а драйвер — предсказательная сила набора функций.

Не забывайте, какую сложность демонстрирует мультиинструментальная торговая площадка FOREX в режиме реального времени. Определенно на много порядков сложнее, чем 6:1. И вы стремитесь создать Predictor существо, способное предсказывать, что происходит. < img src="https://i.stack.imgur.com/uyjGj.png" alt="введите здесь описание изображения">

Как сделать это в рамках разумной вычислительной стоимости?

smart tools exist:

        feature_selection.RFECV(    estimator,                #  loc_PREDICTOR
                                    step             = 1,     # remove 1 FEATURE at a time
                                    cv               = None,  # perform 3-FOLD CrossValidation  <-opt. sklearn.cross_validation
                                    scoring          = None,  #                                 <-opt. aScoreFUN with call-signature aScoreFUN( estimator, X, y )
                                    estimator_params = None,  # {}-params for sklearn.grid_search.GridSearchCV()
                                    verbose          = 0
                                    )
# Feature ranking with recursive feature elimination
# and cross-validated selection of the best number of features.

 |>>> aFeatureImportancesMAP_v4( loc_PREDICTOR, X_mmap )              
  0.  0.3380673 _ _ _____________________f_O.............RICE_: [216]
  1.  0.0147430 _ _ __________________________________f_A...._: [251]
  2.  0.0114801 _ _ ___________________f_............ul_5:3O(2): [252]
  3.  0.0114482 _ _ ______________________________H......GE_1_: [140]
  4.  0.0099676 _ _ ______________________________f_V....m7_4_: [197]
  5.  0.0083556 _ _ ______________________________f.......7_3_: [198]
  6.  0.0081931 _ _ ________________________f_C...........n_0_: [215]
  7.  0.0077556 _ _ ______________________f_Tr..........sm5_4_: [113]
  8.  0.0073360 _ _ _____________________________f_R.......an_: [217]
  9.  0.0072734 _ _ ______________________f_T............m5_3_: [114]
 10.  0.0069267 _ _ ______________________d_M.............0_4_: [ 12]
 11.  0.0068423 _ _ ______________________________f_......._1_: [200]
 12.  0.0058133 _ _ ______________________________f_......._4_: [201]
 13.  0.0054673 _ _ ______________________________f_......._2_: [199]
 14.  0.0054481 _ _ ______________________f_................2_: [115]
 15.  0.0053673 _ _ _____________________f_.................4_: [129]
 16.  0.0050523 _ _ ______________________f_................1_: [116]
 17.  0.0048710 _ _ ________________________f_..............1_: [108]
 18.  0.0048606 _ _ _____________________f_.................3_: [130]
 19.  0.0048357 _ _ ________________________________d_......1_: [211]
 20.  0.0048018 _ _ _________________________pc.............1_: [ 86]
 21.  0.0047817 _ _ ________________________________d.......3_: [212]
 22.  0.0045846 _ _ ___________________f_K..................8_: [260]
 23.  0.0045753 _ _ _____________________f_.................2_: [131]

 1st.[292]-elements account for 100% Importance Score ________________
 1st. [50]-elements account for  60%
 1st. [40]-elements account for  56%
 1st. [30]-elements account for  53% . . . . . . . . . . . . . . . . . 
 1st. [20]-elements account for  48% 
 1st. [10]-elements account for  43%

Точность?

Специалисты по ассемблеру и гуру C с первого взгляда будут возражать, однако позвольте мне заявить, что числовая (не)-точность не создает проблем в решениях FX/ANN.

Размерность проклятие делает... Проблемы классов O(2) и O(3) не редкость.

Выполнимо как с интеллектуальным/эффективным представлением (read fast...), так и с наносекундным разрешением HFT-каналов ввода/вывода потока данных с отметкой времени.

Иногда даже необходимо уменьшить числовую «точность» входных данных (подвыборка и размытие), чтобы избежать неблагоприятных эффектов (необоснованно затратных в вычислительном отношении) высокой размерности, а также избежать тенденции к переоснащению, чтобы извлечь выгоду из лучших возможностей обобщения. хорошо настроенного AI/ML-Predictor.

        (im)PRECISION JUST-RIGHT FOR UNCERTAINTY LEVELs MET ON .predict()-s
     ___:__:___________MANTISSA|
     |  v  |                  v|_____________________________________________________________________________________
    0.001  |               1023|    np.float16      Half   precision float: 10 bits mantissa + sign bit|  5 bits exp|
    1.02?  |                                                                                
           v            123456:|_____________________________________________________________________________________
E00 0.000001            8388607|    np.float32      Single precision float: 23 bits mantissa + sign bit|  8 bits exp|
+00 12345.6? DAX              ^                                                             
+05 1.23456? DAX                                                                            
               123456789012345:|_____________________________________________________________________________________
               4503599627370495|    np.float64      Double precision float: 52 bits mantissa + sign bit| 11 bits exp|
                              ^|

В любом случае, очаровательный FX-проект, дайте мне знать, если он появится:

dMM()


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

person user3666197    schedule 11.10.2015
comment
Простите меня, но это звучит как тарабарщина для меня. Меня больше интересовали некоторые идеи, которые я мог найти, а затем провести некоторые тесты через FANN. - person Bodger; 14.10.2015
comment
После нескольких десятилетий использования количественных методов FX с использованием моделей ANN / RNN / SVM / RF с конвейерной оптимизацией на основе сетки и метриками CV для качества разработки признаков, я полагаю, что у меня есть некоторые основания для заявлений выше. После того, как артиллерия ИИ/МО продвинется так далеко, а диапазон настройки оптимизации моделей выйдет далеко за пределы сотен часов процессорного времени, я думаю, что могу поделиться несколькими примечаниями о том, что может сэкономить ваши усилия на несколько месяцев/лет, исключив вещи, которые не приводят к результату. Щелчок по игрушкам с графическим интерфейсом, безусловно, также является возможным шагом, однако ИНС с 6 входами и 1 выходом — это просто бесполезная модель для серьезного предсказателя FX. - person user3666197; 14.10.2015
comment
Когда я сказал тарабарщину, я имел в виду, что понятия не имею, о чем вы говорите. Похоже, вы немного отредактировали статью, и я пытаюсь ее понять. Я просмотрел сайт MIT Open Courseware и нашел курс для выпускников по ANN, но конспекты лекций почти полностью отсутствовали. Там было всего несколько лекций, но большинство отсутствовало. Очевидно, у меня дефицит знаний. Какие книги вы бы порекомендовали, чтобы я мог вникнуть в это. Спасибо за ваши усилия. - person Bodger; 16.10.2015
comment
Вы могли бы, Боджер, насладиться изумительным введением Эндрю Н.Г. (Стэнфорд) в предмет, будь то из его Alma Mater или более нового побочного продукта Coursera. - person user3666197; 16.10.2015