Трейдинг = Казино?

Трейдинг = Казино?

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

Я уже много раз рассказывал, почему трейдинг состоит не только из теории вероятностей. Но сегодня будет что-то особенное. Мы сделаем доказательство от обратного. Предположим, что рынок и казино тождественны…
[spoiler]
Тогда перенесем модель казино (белого шума) на рынок.


Напишем код.


Посмотрим, как это выглядит.


В видео я допустил некоторую неточность в оформлении кода, которая не влияет на результат. Исправляю неточности, вот код:
        /// <summary>
        /// Генератор белого шума
        /// </summary>
        /// <param name="Bars">Исходные бары, которые заменятся белым шумом</param>
        /// <param name="MinValue">Минимальное значение цены</param>
        /// <param name="MaxValue">Максимальное значение цены</param>
        /// <param name="Measures">Кол-во измерений за период (минимум, нужно 4 измерения)</param>
        /// <returns>Бары белого шума</returns>
        public static Bars WhiteNoise(this Bars Bars, int MinValue = 0, int MaxValue = 1000000, int Measures = 1000)
        {
            Random random = new Random(); // Генератор псевдослучайных чисел
            var rndValues = new List<double>(); // Список случайных цен
            var result = new Bars(Bars.Symbol, Bars.Scale, Bars.BarInterval); // Пока в результат заносим исходные значения цен, потом они изменятся. Нужно, чтобы синхронизироваться по шкале времени. Исходные Bars не меняем, т.к. они могут пригодиться в ТС
            for (int bar = 0; bar < Bars.Count; bar++) // Пробегаемся по всем барам
            {
                rndValues.Clear(); // Очищаем список случайных цен
                for (int i = 0; i < Measures; i++) // Генерируем нужное кол-во случайных цен
                    rndValues.Add(random.Next(MinValue, MaxValue)); // и заносим их в список
                result.Add(
                    Bars.Date[bar], // Дату и время берем из оригинальных баров
                    rndValues.First(), // Цена открытия - это первая случайная цена (LINQ)
                    rndValues.Max(), // Максимальная цена из списка (LINQ)
                    rndValues.Min(), // Минимальная цена из списка (LINQ)
                    rndValues.Last(), // Цена закрытия - это последняя случайная цена (LINQ)
                    random.Next(MinValue, MaxValue)); // Случайный объем
            }
            return result;
        }

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

Для особо пытливых еще один вопрос: Если рынок - это не белый шум, то что это такое? Ответ на данный вопрос будет длиной в годы.

Если вам понравился данный материал, и вы хотите еще, то вписывайтесь в проект "ГраалеМетр".