Зміст статті

Докази та сфера застосування

Було перевірено публічний буклет IBD та інформацію про книгу видавця. Вибрані графіки виграшних акцій не є повним журналом торгівлі портфелем. Наведений нижче алгоритм є запропонованою конфігурацією дослідження з плоскою основою, а не повним відтворенням CAN SLIM. Нових тестів на історичних даних не проводилося.

Дані та ринкиПриродна початкова вибірка — акції з надійними OHLCV, коригуваннями корпоративних дій та складом набору на історичний момент. Для фундаментальних показників потрібні часові мітки публікації. Тиковий обсяг FX, спотовий обсяг криптовалют і обсяг безстрокових контрактів потребують окремих гіпотез; правила акцій не можна переносити безпосередньо.
Таймфрейми дослідженняПочатковими шкалами дослідження є щоденні та щотижневі дані. Двадцять п'ять торгових сесій є вибором реалізації, а не точною календарною заміною кожного п'ятитижневого інтервалу. Внутрішньоденні варіанти потребують окремих припущень щодо нормалізації обсягу та виконання.
Висхідний тренд передує плоскій базі між 45 та 50; обсяг скорочується в межах бази та розширюється при прориві вище 50.Відкрити ілюстрацію в повному розмірі
Синтетична ілюстрація для цієї статті. Точки стисло передають форму й не замінюють вимогу алгоритму щодо 25 сесій.

Практична послідовність дій

Порядок дій: CAN SLIM О’Ніла та плоска база: правила й перевірюваний детектор
Повні кроки наведено нижче. На кожному етапі потрібно записати причину відхилення, якщо бракує даних або не виконано умови.
  1. Перевірте набір доступних акційВикористовуйте ціну, обсяг та фундаментальні дані, доступні на історичний момент часу.
  2. Зафіксуйте базуЗбережіть K, F, ATR та період очікування перед проривом.
  3. Розділіть питання про обсягРозрізняйте низьку активність усередині бази та зростання обсягу на пробої.
  4. Надішліть виконуваний ордерКоли відомі закриття й обсяг, розрахуйте стоп, розмір позиції та виділення капіталу.
  5. Оцініть кожен шарПорівняйте детектор OHLCV з додатковими компонентами CAN SLIM.

Що встановлюють публічні джерела

У буклеті IBD описується плоска база, яка триває щонайменше п'ять тижнів з корекцією не глибше 15%. Її традиційна точка купівлі – 10 центів вище базового максимуму, з обсягом приблизно 40–50% вище попереднього 50-денного середнього. [1] Це правила навчання фондового ринку, а не універсальні константи для кожного класу активів.

Книга Вільяма Дж. О'Ніла «Як заробити гроші на акціях» організовує CAN SLIM навколо квартальних прибутків, річних прибутків, нових розробок, попиту та пропозиції, лідерства, інституційного спонсорства та напрямку ринку. [2] Сканер OHLCV вимірює лише частину цієї структури. Результат, отриманий без решти даних, не слід називати повним тестом CAN SLIM.

Це розділення робить дослідження інформативнішим. Детектор ціни й обсягу перевіряє відтворюваність визначення бази та економічну придатність до торгівлі. Дані компанії чи ринку можна додавати окремими фільтрами. Якщо поєднати все одразу, важко відокремити вплив патерна, набору акцій, ринкового фільтра та правил виходу.

Запропоновані правила плоскої бази без майбутніх даних

На закритті бара-кандидата c розгляньте 25 сесій, що закінчуються на c. K — їхній найбільший максимум, F — найменший мінімум; depth=(K−F)/K. Вимагайте depth≤0.15. Запропонований індикатор тренду: C[c]>SMA200[c] разом із SMA200[c]>SMA200[c−20]. Фіксоване вікно, ковзне середнє та буфер волатильності нижче — дослідницькі рішення, а не точне відтворення кожного правила книги.

Під час створення кандидата зафіксуйте K,F,A=ATR14[c] та b=max(2 ticks,0.1A). Протягом наступних десяти сесій приймайте перетин рівня K+b ціною закриття вгору лише за RVOL50=V[t]/mean(V[t−50..t−1]) не нижче 1.5. Скасуйте кандидата без відкритої угоди, якщо ціна впала нижче F−b або сплив строк очікування. Пробійний бар не можна додавати до зафіксованої бази, підвищуючи його власний опір.

Якщо додаються фундаментальні фільтри, використовуйте позначку часу, коли звіт став доступним. Кінець звітного кварталу не є датою, коли його результати стали відомі. Перерахований прибуток на акцію, поточні галузеві класифікації та сукупність, що містить лише акції, що збереглися на сьогодні, можуть містити інформацію, яка була недоступна на момент прийняття історичного рішення.

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

on close c with no active candidate:
  K=max(H[c-24:c]); F=min(L[c-24:c])  # inclusive
  if depth<=0.15 and trend_proxy: freeze K,F,A,b,expiry=c+10
for c<t<=expiry:
  if L[t]<F-b: cancel
  elif C[t-1]<=K+b and C[t]>K+b and RVOL50[t]>=1.5:
    signal LONG; stop=F-b; enter next executable event
# Comparison baseline: target=entry+2*(entry-stop), time-stop=20 sessions.

Відокремте активність всередині бази від активності під час прориву

Обсяг може вимірювати зниження активності всередині бази та її зростання за пробою опору. Базовий варіант використовує лише RVOL пробою. Окремий експеримент зі зниженням обсягу додає відношення середнього за останні п’ять сесій до створення кандидата до середнього за попередні 50 сесій; запропонований максимум — 0.75. Це додатковий дослідницький параметр, а не повний набір правил книги.

Остаточний денний обсяг відомий лише після завершення сесії. [3] Не використовуйте цей остаточний RVOL для імітації входу раніше в тій самій сесії на першому перетині. Внутрішньоденна версія вимагає кумулятивного обсягу, що спостерігається на момент фактичного прийняття рішення, та порівнянного базового рівня очікуваного обсягу для цього часу доби.

Перевіряйте зниження й зростання обсягу незалежно. Вони можуть відбирати різні акції: спокійна база пробивається на звичайному обсязі, а дуже активна — на високому. Корисніше зберігати обидва неперервні вимірювання, ніж лише спільну ознаку «пройшов/не пройшов». Так можна оцінювати чутливість до порогів без повторного формування цінових кандидатів.

Синтетичні приклади та невдала угода

Нехай K=50, F=45, depth=10%, A=1 та b=0.1, а фільтр тренду пройдено. Після фіксації бази ціна закривається по 50.3; обсяг 1.8 мільйона акцій за середнього в один мільйон дає RVOL=1.8. Виконуваний вхід по 50.4 і стоп 44.9 означають ризик R=5.5 на акцію. Запропонована ціль 2R дорівнює 61.4. За умовного бюджету ризику 550 грошових одиниць попередній розмір — 100 акцій до врахування витрат, ліміту номінальної вартості позиції та ліквідності.

Приклад непроходження фільтра має ту саму ціну закриття, але RVOL=1.1. Версія з фільтром обсягу не входить; контроль лише за ціною може увійти. У збитковому сценарії після входу по 50.4 геп призводить до виконання захисного стопа по 44.5. Збиток — 5.9 на акцію замість планових 5.5. Угоду не можна видалити з історії через те, що згодом база здається недостатньо привабливою.

В успішному синтетичному сценарії ціна досягає 61.4 до захисного стопа та до спливу ліміту у 20 сесій. Приклад показує облік заданого виходу, але не оцінює частоту таких результатів. Гілки з фільтром і без нього зберігають власний фактичний набір можливостей, зокрема кандидатів без угоди.

Обмеження виконання та портфеля

Стоп за всією базою простий для початкового експерименту. Стоп під локальним мінімумом ближче до правого краю — інша реалізація з потенційно іншим розподілом спрацювань. Ні цей структурний стоп, ні вихід 2R/20 сесій не можна приписувати О’Нілу як його повну початкову систему управління ризиком.

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

Кілька акцій можуть пробити рівні одночасно. До знання результатів задайте правила ранжування й розподілу капіталу: ліквідність, ризик на акцію, галузеву концентрацію, корельовані позиції та загальну номінальну місткість. Бектест не може купувати кожну допустиму акцію за необмежений капітал. Записуйте кандидатів, які не отримали капіталу, щоб ефект відбору залишався видимим.

Тестування того, які компоненти сприяють

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

Використовуйте склад доступних акцій на історичний момент, включаючи виключені з лістингу, коли цього потребує дослідницьке питання. Покажіть кількість кандидатів і виконань, чисте математичне очікування в R, дохідність портфеля, просадку, оборотність і строк утримання. Список акцій, що зросли на кілька сотень відсотків, не дає повної вибірки для оцінювання частки прибуткових угод.

Перевірте реалізацію на скороченому святковому тижні, дробленні акцій усередині бази, сплеску обсягу в день пробою, публікації звіту після закриття ринку та гепі вище опору до наступного рішення про ордер. Зафіксуйте історичних кандидатів і повторіть той самий початковий фрагмент даних після додавання майбутніх. Ні початкові рівні, ні доступні на час рішення дані не повинні змінюватися.

Поширені помилки

Розгляд одного шаблону як цілої системи

Плоска база не включає фундаментальні характеристики компаній та загальний ринковий контекст CAN SLIM.

Використання обсягу кінця дня на початку дня

Це використання майбутніх даних. Час входу має враховувати, коли спостереження обсягу стало доступним.

Вибір лише тих акцій, що вижили

Пропуск назв банкрутів або виключених зі списків може завищити історичні результати та спотворити доступну сукупність даних.

Список перевірки перед застосуванням методу

Позначайте кожен пункт після перевірки на власних даних. Прогрес зберігається в цьому браузері й не засвідчує прибутковість стратегії.

0/6 пунктів

Поширені запитання

Чи варто використовувати традиційний буфер 10 центів на кожному ринку?

Не автоматично. Розмір тика та номінальна ціна відрізняються. Буфер на основі ATR є окремим дослідницьким варіантом і повинен бути позначений та протестований як такий.

Чи доводить RVOL на рівні 1.5 прибутковість?

Ні. Це одна з умов у повній стратегії. Її значення має бути виміряне після врахування витрат та поза вибіркою порівняно з тією ж стратегією без цього фільтра.

Джерела дослідження

Кожне джерело підтверджує визначення або докази, описані поруч. Псевдокод, штучні приклади та запропоновані параметри потребують окремої перевірки.

  1. IBD: How To Recognize Great Performing Stocks — Flat BaseInvestor’s Business Daily. Публічний буклет про геометрію плоскої бази й торговий обсяг. Зростання вибраних акцій не трактується як дохідність системи. Перевірено: .
  2. How to Make Money in Stocks, Fourth EditionMcGraw Hill. Метадані видавця та зміст; повна оплачена книга не була прочитана. Перевірено: .
  3. TradingView: RepaintingTradingView. Час доступності даних; підтвердження прибутковості немає. Перевірено: .

Пов’язані методи

Примітка про ризики

Матеріал призначений для навчання й планування досліджень, а не є фінансовою порадою. Backtest моделює минулі дані, не гарантує майбутніх результатів і не здійснює реальних угод. Методи бібліотеки не обов’язково реалізовані в застосунку. Дивіться методологію і навчальний центр.

Перевірте правила, перш ніж ризикувати реальним капіталом

Перевірте можливості застосунку, дані й кожну змодельовану угоду; складні детектори можуть потребувати окремої реалізації.

Завантажити Backtest в App Store