Я перевірив тисячі стратегій. Урок, який я засвоїв на власному досвіді: Переналаштування — це втратить вам $$$. Тепер я використовую крос-валідацію, щоб допомогти у боротьбі. Ось код для цього (за 2 хвилини):
Якщо ви не знайомі з перехресною валідацією: • Зменшує ризик перепідгонки моделей • Передбачає розбивання даних на підмножини • Оцінює продуктивність моделі на основі невидимих даних Він використовується у всіх науках про дані. Тепер ви можете використовувати його для торгівлі з VectorBT PRO. Пішли!
Імпортуємо VBT PRO та кілька бібліотек, що стосуються нашого аналізу.
Отримайте дані для вашого улюбленого активу. Ми використаємо AAPL.
Далі ми створимо «спліттер», який розділяє діапазон дат на менші сегменти відповідно до обраної схеми.
Команда splitter.plots().show_png() дає таку візуалізацію:
Далі ми створимо функцію для виконання торгової стратегії в межах визначеного діапазону дат, використовуючи один набір параметрів, повертаючи один ключовий показник. Наша стратегія — простий кросовер EMA у поєднанні з ATR trailing stop.
Декоруючи (або обгорнувши) нашу функцію на «параметризований», ми дозволяємо «objective» приймати список параметрів і виконувати їх у всіх комбінаціях.
Давайте проаналізуємо результати, сегментуючи періоди швидкої та повільної EMA. Він підкреслює мінімальну варіацію співвідношення Шарпа від тренувального до тестового набору щонайменше на 50% розподілів, де синій позначає позитивну зміну.
Результатом є теплова карта, що показує різні співвідношення Шарпа між повільними та швидкими періодами.
Хоча на папері ви могли розробити перспективну стратегію, її перехресна валідація є необхідною, щоб підтвердити її стабільність з часом і переконатися, що це не просто наслідок випадкових коливань. Застосовуйте техніки, які ви тут вивчили, до своєї стратегії.
110