Я нырнул в область нейронных сетей и увлекся ими.
Наконец-то я разработал прикладную среду для тестирования торговых систем на биржах, и теперь я собираюсь внедрить в нее свою первую нейронную сеть. Очень простой и примитивный, не предназначенный для реальной торговли, просто для начинающих.
Я только хочу знать, хороший ли мой подход.
И если вы видите, что я что-то упускаю (или я в чем-то ошибаюсь), или у вас есть представление о том, что может помочь новичку в области нейронных сетей в рыночной торговле, это просто сделает меня супер-счастливым :)
У меня 40 входных данных, рыночная стоимость с биржи (S & P e-mini, но это не важно).
Для этих 40 входов я знаю 2 числа.
- Сколько денег я бы заработал или потерял с заказом на покупку
- Сколько денег я бы заработал или потерял с заказом на продажу
Из-за того, как работают биржи, оба числа могут фактически быть отрицательными / положительными, что указывает на то, что я могу потерять / заработать деньги либо на покупку, либо на продажу (это связано с тем, что к сделке могут быть прикреплены «ограничивающие убытки» или «целевые» ордера, такие как STOP, LIMIT. и т.д., которые ведут себя по-разному).
Но если это произойдет, это говорит о том, что мне вообще не следует размещать ордера, даже если ордера на покупку и продажу дают положительные числа.
Я полагаю, что лучшая функция активации - это ... сигмоидальная вещь, но с диапазоном от -1 до 1 (я обнаружил, что в Интернете ее называют многими именами ... биполярная сигмоида, танх, касательная что-то ... Я не глубокий математик).
С обучением обратного распространения я учу сеть, что для 40 входов есть 1 выход, и этот выход является одним из этих чисел.
- -1, что означает, что ордер на продажу будет зарабатывать деньги, покупка будет терять деньги
- +1 означает, что ордер на покупку будет зарабатывать деньги, а продажа будет терять деньги
- 0, что означает, что покупка и продажа будут продавать / терять деньги, лучше избегать торговли
Я представляю себе, что после изучения выходной сигнал сети всегда будет иметь некоторое число, близкое к -1, 1 или 0, и это только мне, где я устанавливаю порог для покупки или продажи.
Это правильный способ использования нейронной сети?
Повсюду в Интернете выходной материал для обучающих людей, дающий обучающую машину обратного распространения, - это будущие значения графика рынка, а не ожидаемая денежная доходность различных записей в сделке (покупка или продажа). Я считаю это плохим подходом, потому что меня интересуют не будущие значения графика, а деньги, которые я хочу заработать.
Изменить: я намерен построить нейронную сеть для автоматической торговли, а не для помощи в принятии решений.
Ответы:
У этого подхода есть серьезные недостатки.
В-третьих, вы должны понимать, что вы конкурируете с другими людьми, которые также имеют доступ к нейронным сетям. Есть много коммерческих программ, предназначенных для дневных трейдеров на основе нейронных сетей. (Они сделаны людьми, которые считают более выгодным продавать программное обеспечение запутанным дневным трейдерам, чем использовать их собственные системы.) Существует много проприетарных систем, некоторые из которых могут включать нейронные сети. Чтобы найти значение, которое они пропускают, вам нужно иметь какое-то преимущество, а вы еще не упомянули.
Я большой поклонник нейронных сетей, но я думаю, что обычные пользователи нейронных сетей на фондовом рынке не понимают основ и тратят деньги.
источник
These are made by people who find it more profitable to sell software to confused day traders than to use their own systems
Это само по себе стоило бы воздержаться.я понимаю, что это старая тема, но на всякий случай, если кто-нибудь наткнется на нее, ОП должен был сжать желаемое поле вниз в поле от 0 до 1. т.е. просто переназначить -1 = 0,0, 0 = 0,5 и 1 = 1. Тогда вы можете просто использовать стандартную функцию активации логистической сигмоиды.
источник