- Дописи: 326
- Подяка отримана: 1
Ордери у ScaleTrader у платформі Trader Workstation
- Andrey Rimsky
- Автор теми
- Оффлайн
- Адміністратор
Less
Більше
#143
від Andrey Rimsky
ScaleTrader заснований на принципі скупки акцій у міру зниження їх курсу або купівлі активів за найнижчою ціною на ринку, що звужується, або навпаки - продажу на широкому ринку або збільшення довгої позиції. У нього були введені такі додаткові можливості, як підтримка парних угод та комбінацій з кількома легами із вбудованим вилученням прибутку до моменту скасування. ScaleTrader може бути використаний для будь-яких продуктів IB (крім взаємних фондів), і в ньому є три шаблони, що налаштовуються:
1. Простий - створіть просту угоду на окремому андерлаїнгу, яка допоможе вам у покупці активів за найнижчою ціною на ринку, що звужується з малим попитом, у продажу на широкому ринку або у збільшенні довгої позиції.
2. Пара – створіть стратегію для двох пов'язаних акцій (по суті, комбінація "акція-акція"), згідно з якою ви купуєте одну акцію та продаєте іншу, використовуючи різницю в ціні між ними.
3. Комбінація – створіть стандартну чи відому стратегію з кількома легами для торгівлі акціями, опціонами чи комбінаціями ф'ючерсів.
У цьому вебінарі ми розглянемо прості угоди, а потім парні угоди на ScaleTrader. Незважаючи на те, що сьогодні йтиметься про продаж, все сказане застосовується у зворотному порядку і для різних продуктів.
Загальні відомості про ScaleTrader
Як перший приклад ми створимо ордер на купівлю акцій, які на нашу думку скоро максимально впадуть у ціні. ScaleTrader здійснить покупку, коли ціна акції наблизиться до гранично низької, і продасть її, коли вона відновиться, а потім знову придбає під час наступного спаду. Це називається "торгівля підвищення".
Ви вже знаєте, що для вашої зручності існує кілька способів відкрити кожний інструмент у TWS. Сьогодні ми розпочнемо з робочого простору Mosaic, який, як ми сподіваємося, у майбутньому стане головним місцем початку роботи клієнтів. Ми рекламуємо Mosaic як універсальний інтерфейс IB для дослідження, аналітики та створення ордерів, який працює на базі інформаційної системи IBIS та підписок на ринкові дані. ScaleTrader можна відкрити через спадне меню Нове вікно. Як ви бачите, якщо прокрутити меню вниз до самого кінця і вибрати Більше додаткових інструментів, ScaleTrader буде у верхній частині списку. Але натомість ми почнемо зі сканера ринку Mosaic, за допомогою якого можна шукати акції, що продаються за цінами, близькими до нижньої межі цінового діапазону.
Mosaic не має 52-тижневого сканера максимуму/мінімуму, який нам потрібен, тому я швидко створимо його. У вікні списку спостереження (Watchlist Plus) у Mosaic клацніть по кнопці "Нова вкладка" та виберіть "Сканер ринку". Створіть власний сканер і виберіть поля 52 тижнів. макс. та 52-тижневий. хв. зі списку "Додати поле" у розділі "Поля та фільтри". Я поміщу поле "52-тижн. хв." поряд з полем "Остання", щоб спростити вибір акцій, чий 52-тижневий мінімум найближчий до їхньої поточної останньої ціни. Як тільки потрібний символ знайдено, ми можемо клацнути правою кнопкою, натиснути "Угода", вибрати тикет ордера, а потім зі вкладки Scale відкрити ScaleTrader.
Простий scale-ордер
ScaleTrader завжди відкривається на вкладці "Простий", з неї ми почнемо сьогодні. В алгоритмі є ще дві вкладки: "Пара" та "Комбінація". Спочатку ми створимо простий scale-ордер, щоб розібратися в основах, а потім перейдемо у вкладку Пара і створимо алгоритм пари.
За замовчуванням вибрано дію "Купити", таким ми її залишимо.
Тепер ми введемо значення максимальної позиції, тобто кількість акцій, яку хочемо купити під час спаду цін. (Введіть 10 000). Майте на увазі, що показник у цьому полі відноситься до позиції в даному конкретному алгоритмі.
Оскільки ми не хочемо створювати ордер на всі 10 000 акцій одразу, нам потрібно уточнити розмір компонентів, що підлягають надсиланню. Початковий розмір – це кількість акцій, яку ви хочете купити за початковою ціною; а наступний розмір - це кількість акцій, купівлю яких алгоритм зробить за кожною наступною ціною, що знижується (залежить від введеного приросту ціни). Ми встановимо розмір компонентів у 400 акцій як початкового, так наступного розміру. Також ми вдамося до функції рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір рандомізованих компонентів може дорівнювати 200, 300, 400, 500 або 600 (Багаторівневий/мінус 55% і округлений до найближчої сотні).
Введіть початкову ціну та її приріст. Ми встановимо бід як початкову ціну і 2 центи як її приріст. Це означає, що ціна купівлі кожного наступного компонента буде нижчою на 2 центи.
Тепер погляньте на обчислені максимальні та мінімальні ціни. Оскільки наша початкова та наступна ціни однакові, то і початкова та найвища ціни теж збігаються. Якби початковий розмір був більшим, то й вища ціна була б більшою за початкову ціну на різницю між наступним розміром компонентів і початковим розміром компонентів, помножену на різницю приросту ціни. Наприклад, якщо ми встановимо 800 як початкового розміру компонентів, який у два рази більше, ніж наступний розмір - 400, то початкова ціна буде 2 x 0,02 або на 4 центи більше за початкову ціну. Це важливо лише за умови використання ScaleTrader для розпродажу позиції. Докладнішу інформацію можна знайти в Посібнику користувача TWS.
Мінімальна ціна – це ціна, за якою буде виконано останній ордер на покупку, якщо ціна опуститься за межу нижнього діапазону. При зміні мінімальної ціни можна побачити, що приріст ціни змінюється автоматично, щоб компенсувати. Ви можете змінювати ціни, вводячи їх вручну або перетягуючи лінії на графіку.
Тепер виберемо тип ордера, може бути або лімітним, або відносним. Якщо ми використовуємо відносний ордер без усунення, то ордери завжди будуть прив'язані до біду, навіть коли приріст вимагає вищої ціни. А якщо ми додамо зміщення в 0,01, то запропонована нами ціна буде на пенні вище за кращу ціну попиту за умови, що вона дорівнює або нижче за наступну ціну пропозиції на шкалі. Використання зміщення розміром у пенні дає нам більше шансів на виконання, проте воно може статися за меншою ціною, ніж ціна scale.
Зміщення прибутку
На даному етапі ми могли б передати дійсний scale-ордер і ScaleTrader спробував би досягти нашої максимальної позиції, після чого зупинився б. Трейдери часто використовують цю стратегію, щоб "виростити" довгу позицію.
Але це не наша мета. Ми можемо продавати під час періодичних сплесків або ліквідувати нашу позицію щодо досягнення бажаного розміру прибутку шляхом створення ордерів отримання прибутку та встановлення його зміщення.
Усунення прибутку - це кількість прибутку, яку ми хочемо отримати від зворотної угоди. Тобто, якщо ми встановимо 20 центів як зміщення, то перший ордер на продаж буде відправлено з ціною, яка перевищує ціну першого покупки першого компонента на 20 центів. Також є одна важлива деталь. Якщо ордер на купівлю виконується за ціною, що перевищує ціну на шкалі прив'язки відносного ордера до біду, ціна відповідного ордера на продаж все одно буде визначена з використанням статичного приросту ціни; ціна продажу не коригується з урахуванням фактичної ціни виконання. Ми отримуємо додатковий прибуток щоразу, коли ціна акцій стрибає.
При зростанні акцій позицію буде розпродано в наступних розмірах компонента з приростом цін, що відповідає встановленому нами на початку покупки. Останній продаж буде за найвищою ціною зі зміщенням прибутку на 20 центів.
Відновити розмір
Якщо ми відправимо ордер, у якому встановлено лише усунення прибутку, то алгоритм придбає і продасть за кожною ціною лише один раз, а потім зупиниться.
Однак є функція "Відновити розмір ордера після взяття прибутку". Це означає, що алгоритм спробує повторно купити продані для отримання прибутку акції за ціною, за якою ми їх купили. Це дозволяє нам неодноразово купувати та продавати на нестабільному ринку, як чинив би маркетмейкер. Ця стратегія буде найефективніша, якщо ми встановимо досить низький рівень приросту ціни та усунення прибутку. Тому давайте змінимо усунення прибутку з 20 центів на 4 центи.
В даному випадку алгоритм буде активний, поки ціна акцій залишатиметься в діапазоні, визначеному сукупністю (макс. ціна + усунення ціни) та мінімальною ціною.
Створення парних угод
Тепер розглянемо створення парних угод. Парна торгівля в ScaleTrader включає угоди на різницю в ціні негарантованої комбінації акція/акція з двома легами. Як тільки пара обрана, ми звертаємось з різницею в ціні так само, як зверталися зі справжньою ціною акції у простій угоді.
Сьогодні ми розглянемо парну угоду на прикладі двох акцій, які у минулому демонстрували близьке співвідношення цін. У даному випадку це будуть Wal-Mart і Target, але з цінами, що відхилилися. Ми купимо дорожчі акції, коли ціни на них впадуть, і продамо дешевші, коли ціни на них піднімуться, але зробимо це у вигляді комбінації з двома легами, яку ми купимо. Незважаючи на те, що у випадку з цією угодою мова зайде про покупку, все сказане застосовується у зворотному порядку і для різних продуктів, як уже згадувалося.
Спочатку нам потрібно відкрити вкладку "Пара", а потім вибрати "Редагувати пару". Тепер ми можемо запровадити тикери для двох лег. Ми задамо параметри для купівлі більш дорогих акцій та продажу дешевших, які, на нашу думку, переоцінені відносно один одного.
Чиста сума – це різниця між легами (розмір лега x різниця в ціні), а різниця у ціні показує відмінність цін на андерлаїнги. Ми виберемо Різниця цін, а потім Створити для створення пари.
Спочатку ми маємо відзначити, що IB не може гарантувати цю комбінацію. Це означає, що є малоймовірна можливість виконання лише одного лега з пари. Якщо це станеться, то ордер на другому легі може бути виконаний за менш вигідною ціною, але ви не залишитеся з нехеджованою позицією.
Тепер погляньмо на графік ScaleTrader. Ви можете подумати, що на графіку відображаються два тикери нашої комбінації, але насправді на ньому показана різниця в ціні між ними, чим ми й торгуватимемо. Ви можете змінювати проміжок часу для перегляду графіків за 3 місяці, 6 місяців та рік.
Створення парних ордерів
Основні параметри даних ордерів схожі з параметрами, які ми вибрали у першому прикладі. Ми створимо ордер на покупку. Зауважте, що під час створення пари поле для введення розміру компонента розташоване до поля максимальної позиції.
Розмір компонента – 400 кожен.
Зверніть увагу, що при використанні однакових значень коефіцієнт комбінації буде 1:1 і збільшення числа тих чи інших акцій його змінить. Цей коефіцієнт має бути таким самим, як і в полях максимальної позиції.
Максимальна позиція – 50000 кожен. Використовуйте функцію рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір компонентів, що відправляються, може дорівнювати 200, 300, 400, 500 або 600, а також ми уникаємо виплати мінімальної комісії.
Це максимум тільки для цього алгоритму, ваша загальна позиція може бути іншою.
Використовуйте функцію рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір компонентів, що відправляються, може дорівнювати 200, 300, 400, 500 або 600, а також ми уникаємо виплати мінімальної комісії.
Введіть початкову ціну. Наприклад, якщо різниця цін комбінації дорівнює 4,75; зробіть 4,70 початковою ціною пропозиції. Поводьтеся з різницею в ціні так само, як зверталися з ціною за окремий актив. Приріст ціни - поставте 0,05.
Ціну можна встановити як шляхом ручного введення, так і пересуваючи "лінію початкової ціни" на графіку.
Зверніть увагу, що максимальні та мінімальні ціни обчислюються за вас. Змініть мінімальну ціну, пересунувши лінію на графіці, та зауважте, що відбувся перерахунок приросту ціни.
Типи ордерів – ці типи комбінацій ордерів створені, щоб збільшити шанси виконання обох легів (оскільки це негарантований ордер).
LMT + MKT – обидва ордери розміщуються як лімітні. У разі виконання лише одного з них другий стає ринковим ордером.
REL + MKT – обидва ордери розміщуються як відносні (прив'язані до біду на купівлю або аску на продаж). У разі виконання лише одного з них другий відсилається заново як ринковий.
Ордер отримання прибутку
Хоч і можна було б відправити ордер лише з цими параметрами, ми хочемо досягти інших результатів. Ми продовжимо встановлювати параметри, що віддають алгоритму команду купувати та продавати, щоб він ще більше допомагав нам у вигоді з будь-яких коливань на ринку.
Спочатку ми створимо ордер отримання прибутку, який віддасть алгоритму команду надіслати протилежний ордер. У разі це буде ордер продаж після виконання поточного ордера. Як ми помітили у випадку з базовим ордером, ціна ордера отримання прибутку ґрунтується на ціні компонентів поточного ордера та усуненні прибутку, а не ціні виконання цього ордера.
Давайте включимо цю функцію і встановимо зміщення прибутку на 2,00. А тепер розглянемо приклад її роботи. Задля спрощення ми проігноруємо налаштування рандомізації розміру. Припустимо, що перший ордер на купівлю 400 акцій було відправлено з початковою ціною 5 доларів. Після його виконання буде відправлено ордер на ПРОДАЖ 400 акцій за ціною $7,00, до якої входять ціна компонента та встановлене зміщення прибутку. У той же час ціна наступного відправленого ордера на купівлю 400 акцій буде $4,95, оскільки ми встановили 0,05 як приріст ціни. Після виконання наступного компонента відправляється черговий ордер на продаж 400 акцій за ціною $6,95 (знову ж таки сума ціни в 4,95 і зміщення прибутку в 2 долари), і наступний компонент на купівлю відправляється з новим зниженим рівнем ціни. Робота за цим принципом триватиме до виконання всіх компонентів або скасування ордера.
Відновити розмір
Як згадувалося, якщо ми відправимо ордер, у якому встановлено лише зміщення прибутку, то алгоритм купить і продасть за кожною ціною лише один раз, а потім зупиниться.
Давайте знову віддамо алгоритму команду відновити розмір ордера після отримання прибутку. Це означає, що він спробує повторно купити продані для отримання прибутку акції за ціною, за якою ми їх спочатку купили, що дозволить нам неодноразово купувати та продавати на нестабільному ринку, як робив би маркетмейкер. Ця стратегія буде найефективніша, якщо ми встановимо досить низький рівень приросту ціни та усунення прибутку. Тому давайте змінимо усунення прибутку з двох доларів на 20 центів.
В даному випадку алгоритм буде активний, поки ціна акцій залишатиметься в діапазоні, визначеному сукупністю (макс. ціна + усунення ціни) та мінімальною ціною.
Таким чином алгоритм може працювати, коли встановлені параметри фіксатора прибутку та відновлення розміру (знову ігноруємо функцію рандомізації розміру для цього прикладу). Перший ордер на купівлю 400 акцій вирушає з початковою ціною п'ять доларів. Після його виконання буде відправлено ордер на ПРОДАЖ акцій за ціною $5,20, до якої входять ціна компонента та встановлене зміщення прибутку. У той же час ціна наступного відправленого ордера на купівлю 400 акцій буде $4,95, оскільки ми встановили 0,05 як приріст ціни. Це може звучати знайомо, бо досі все було так само, як і у прикладі зі зміщенням прибутку, який ми нещодавно обговорювали. Однак тепер, коли ордер отримання прибутку був виконаний за ціною 5,20, другий компонент ціною 4,95 скасовується, і його розмір повертається за початковою ціною, що означає відправку нового ордера на купівлю 400 акцій $5,00. Або може статися так, що ордер на отримання прибутку за 5,20 дол. не виконається, але виконається ордер на покупку за 4,95 дол. У такій ситуації створюється ордер продаж за $5,15, і якщо він виконується, то розмір відновлюється на рівні $4.95.
Ця функція дозволяє алгоритму продовжувати працювати, поки різниця у ціні коливається у межах встановленого цінового діапазону.
Після встановлення всіх необхідних параметрів ми можемо відправити scale-ордер.
Переконайтеся, що час дії та інші налаштування встановлено правильно.
Використовуйте кнопки внизу для перегляду та передачі ордера.
Слідкуйте за ходом ордера, використовуючи вкладку ScaleTrader.
Легко змінюйте налаштування, вони не набудуть чинності, поки ви не натиснете "Розмістити".
Запускайте та зупиняйте вручну за допомогою кнопок.
Якщо алгоритм зупиниться і вимагатиме перезапуску, позначте поле "Перезапустити ScaleTrader", а потім у поля з початковими позиціями введіть ті, що були подолані, коли алгоритм зупинився. Якщо різниця в ціні набагато вища або нижча за ту, якою вона була, коли алгоритм зупинився, то в результаті ScaleTrader може занадто багато купити або продати і в результаті вплинути на ринок. Це можна виправити, змінивши початкову ціну після запуску, а потім поступово повернутися до попередньої, використовуючи функцію автоматичного коригування ціни.
Укладання
Сьогодні ми розглянули алгоритм ScaleTrader на прикладі простого scale-ордера та складнішого ордера пар. Запам'ятайте, що ScaleTrader підтримує всі продукти, за винятком взаємних фондів. Для обох ордерів ми використали функцію фіксатора прибутку, яка надсилає протилежний ордер для отримання прибутку встановленого клієнтом розміру. Ми також включили функцію відновлення розміру, яка дозволяла продовжувати купівлю та продаж з вигодою, тоді як ціна (або різниця в ціні для пар) залишалися в діапазоні, заданим прирістом цін та усуненням прибутку.
SCALE TRADER для пар - найкращий інструмент для управління ПОРТФЕЛЕМ З ДОВГИМИ І КОРОТКИМИ ПОЗИЦІЯМИ.
Угоди scale можуть бути дуже вигідною стратегією, якщо ви не проти підтримки встановленої максимальної позиції, якщо ціна впаде до цього рівня або нижче. За принципом вона схожа з продажем опціонів - відповідною стратегією, якщо ви будете задоволені отриманою позицією під час виконання опціону. І, як завжди, найкраще попередньо випробувати функції та можливості ScaleTrader у PaperTrader або демо-версії TWS.
1. Простий - створіть просту угоду на окремому андерлаїнгу, яка допоможе вам у покупці активів за найнижчою ціною на ринку, що звужується з малим попитом, у продажу на широкому ринку або у збільшенні довгої позиції.
2. Пара – створіть стратегію для двох пов'язаних акцій (по суті, комбінація "акція-акція"), згідно з якою ви купуєте одну акцію та продаєте іншу, використовуючи різницю в ціні між ними.
3. Комбінація – створіть стандартну чи відому стратегію з кількома легами для торгівлі акціями, опціонами чи комбінаціями ф'ючерсів.
У цьому вебінарі ми розглянемо прості угоди, а потім парні угоди на ScaleTrader. Незважаючи на те, що сьогодні йтиметься про продаж, все сказане застосовується у зворотному порядку і для різних продуктів.
Загальні відомості про ScaleTrader
Як перший приклад ми створимо ордер на купівлю акцій, які на нашу думку скоро максимально впадуть у ціні. ScaleTrader здійснить покупку, коли ціна акції наблизиться до гранично низької, і продасть її, коли вона відновиться, а потім знову придбає під час наступного спаду. Це називається "торгівля підвищення".
Ви вже знаєте, що для вашої зручності існує кілька способів відкрити кожний інструмент у TWS. Сьогодні ми розпочнемо з робочого простору Mosaic, який, як ми сподіваємося, у майбутньому стане головним місцем початку роботи клієнтів. Ми рекламуємо Mosaic як універсальний інтерфейс IB для дослідження, аналітики та створення ордерів, який працює на базі інформаційної системи IBIS та підписок на ринкові дані. ScaleTrader можна відкрити через спадне меню Нове вікно. Як ви бачите, якщо прокрутити меню вниз до самого кінця і вибрати Більше додаткових інструментів, ScaleTrader буде у верхній частині списку. Але натомість ми почнемо зі сканера ринку Mosaic, за допомогою якого можна шукати акції, що продаються за цінами, близькими до нижньої межі цінового діапазону.
Mosaic не має 52-тижневого сканера максимуму/мінімуму, який нам потрібен, тому я швидко створимо його. У вікні списку спостереження (Watchlist Plus) у Mosaic клацніть по кнопці "Нова вкладка" та виберіть "Сканер ринку". Створіть власний сканер і виберіть поля 52 тижнів. макс. та 52-тижневий. хв. зі списку "Додати поле" у розділі "Поля та фільтри". Я поміщу поле "52-тижн. хв." поряд з полем "Остання", щоб спростити вибір акцій, чий 52-тижневий мінімум найближчий до їхньої поточної останньої ціни. Як тільки потрібний символ знайдено, ми можемо клацнути правою кнопкою, натиснути "Угода", вибрати тикет ордера, а потім зі вкладки Scale відкрити ScaleTrader.
Простий scale-ордер
ScaleTrader завжди відкривається на вкладці "Простий", з неї ми почнемо сьогодні. В алгоритмі є ще дві вкладки: "Пара" та "Комбінація". Спочатку ми створимо простий scale-ордер, щоб розібратися в основах, а потім перейдемо у вкладку Пара і створимо алгоритм пари.
За замовчуванням вибрано дію "Купити", таким ми її залишимо.
Тепер ми введемо значення максимальної позиції, тобто кількість акцій, яку хочемо купити під час спаду цін. (Введіть 10 000). Майте на увазі, що показник у цьому полі відноситься до позиції в даному конкретному алгоритмі.
Оскільки ми не хочемо створювати ордер на всі 10 000 акцій одразу, нам потрібно уточнити розмір компонентів, що підлягають надсиланню. Початковий розмір – це кількість акцій, яку ви хочете купити за початковою ціною; а наступний розмір - це кількість акцій, купівлю яких алгоритм зробить за кожною наступною ціною, що знижується (залежить від введеного приросту ціни). Ми встановимо розмір компонентів у 400 акцій як початкового, так наступного розміру. Також ми вдамося до функції рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір рандомізованих компонентів може дорівнювати 200, 300, 400, 500 або 600 (Багаторівневий/мінус 55% і округлений до найближчої сотні).
Введіть початкову ціну та її приріст. Ми встановимо бід як початкову ціну і 2 центи як її приріст. Це означає, що ціна купівлі кожного наступного компонента буде нижчою на 2 центи.
Тепер погляньте на обчислені максимальні та мінімальні ціни. Оскільки наша початкова та наступна ціни однакові, то і початкова та найвища ціни теж збігаються. Якби початковий розмір був більшим, то й вища ціна була б більшою за початкову ціну на різницю між наступним розміром компонентів і початковим розміром компонентів, помножену на різницю приросту ціни. Наприклад, якщо ми встановимо 800 як початкового розміру компонентів, який у два рази більше, ніж наступний розмір - 400, то початкова ціна буде 2 x 0,02 або на 4 центи більше за початкову ціну. Це важливо лише за умови використання ScaleTrader для розпродажу позиції. Докладнішу інформацію можна знайти в Посібнику користувача TWS.
Мінімальна ціна – це ціна, за якою буде виконано останній ордер на покупку, якщо ціна опуститься за межу нижнього діапазону. При зміні мінімальної ціни можна побачити, що приріст ціни змінюється автоматично, щоб компенсувати. Ви можете змінювати ціни, вводячи їх вручну або перетягуючи лінії на графіку.
Тепер виберемо тип ордера, може бути або лімітним, або відносним. Якщо ми використовуємо відносний ордер без усунення, то ордери завжди будуть прив'язані до біду, навіть коли приріст вимагає вищої ціни. А якщо ми додамо зміщення в 0,01, то запропонована нами ціна буде на пенні вище за кращу ціну попиту за умови, що вона дорівнює або нижче за наступну ціну пропозиції на шкалі. Використання зміщення розміром у пенні дає нам більше шансів на виконання, проте воно може статися за меншою ціною, ніж ціна scale.
Зміщення прибутку
На даному етапі ми могли б передати дійсний scale-ордер і ScaleTrader спробував би досягти нашої максимальної позиції, після чого зупинився б. Трейдери часто використовують цю стратегію, щоб "виростити" довгу позицію.
Але це не наша мета. Ми можемо продавати під час періодичних сплесків або ліквідувати нашу позицію щодо досягнення бажаного розміру прибутку шляхом створення ордерів отримання прибутку та встановлення його зміщення.
Усунення прибутку - це кількість прибутку, яку ми хочемо отримати від зворотної угоди. Тобто, якщо ми встановимо 20 центів як зміщення, то перший ордер на продаж буде відправлено з ціною, яка перевищує ціну першого покупки першого компонента на 20 центів. Також є одна важлива деталь. Якщо ордер на купівлю виконується за ціною, що перевищує ціну на шкалі прив'язки відносного ордера до біду, ціна відповідного ордера на продаж все одно буде визначена з використанням статичного приросту ціни; ціна продажу не коригується з урахуванням фактичної ціни виконання. Ми отримуємо додатковий прибуток щоразу, коли ціна акцій стрибає.
При зростанні акцій позицію буде розпродано в наступних розмірах компонента з приростом цін, що відповідає встановленому нами на початку покупки. Останній продаж буде за найвищою ціною зі зміщенням прибутку на 20 центів.
Відновити розмір
Якщо ми відправимо ордер, у якому встановлено лише усунення прибутку, то алгоритм придбає і продасть за кожною ціною лише один раз, а потім зупиниться.
Однак є функція "Відновити розмір ордера після взяття прибутку". Це означає, що алгоритм спробує повторно купити продані для отримання прибутку акції за ціною, за якою ми їх купили. Це дозволяє нам неодноразово купувати та продавати на нестабільному ринку, як чинив би маркетмейкер. Ця стратегія буде найефективніша, якщо ми встановимо досить низький рівень приросту ціни та усунення прибутку. Тому давайте змінимо усунення прибутку з 20 центів на 4 центи.
В даному випадку алгоритм буде активний, поки ціна акцій залишатиметься в діапазоні, визначеному сукупністю (макс. ціна + усунення ціни) та мінімальною ціною.
Створення парних угод
Тепер розглянемо створення парних угод. Парна торгівля в ScaleTrader включає угоди на різницю в ціні негарантованої комбінації акція/акція з двома легами. Як тільки пара обрана, ми звертаємось з різницею в ціні так само, як зверталися зі справжньою ціною акції у простій угоді.
Сьогодні ми розглянемо парну угоду на прикладі двох акцій, які у минулому демонстрували близьке співвідношення цін. У даному випадку це будуть Wal-Mart і Target, але з цінами, що відхилилися. Ми купимо дорожчі акції, коли ціни на них впадуть, і продамо дешевші, коли ціни на них піднімуться, але зробимо це у вигляді комбінації з двома легами, яку ми купимо. Незважаючи на те, що у випадку з цією угодою мова зайде про покупку, все сказане застосовується у зворотному порядку і для різних продуктів, як уже згадувалося.
Спочатку нам потрібно відкрити вкладку "Пара", а потім вибрати "Редагувати пару". Тепер ми можемо запровадити тикери для двох лег. Ми задамо параметри для купівлі більш дорогих акцій та продажу дешевших, які, на нашу думку, переоцінені відносно один одного.
Чиста сума – це різниця між легами (розмір лега x різниця в ціні), а різниця у ціні показує відмінність цін на андерлаїнги. Ми виберемо Різниця цін, а потім Створити для створення пари.
Спочатку ми маємо відзначити, що IB не може гарантувати цю комбінацію. Це означає, що є малоймовірна можливість виконання лише одного лега з пари. Якщо це станеться, то ордер на другому легі може бути виконаний за менш вигідною ціною, але ви не залишитеся з нехеджованою позицією.
Тепер погляньмо на графік ScaleTrader. Ви можете подумати, що на графіку відображаються два тикери нашої комбінації, але насправді на ньому показана різниця в ціні між ними, чим ми й торгуватимемо. Ви можете змінювати проміжок часу для перегляду графіків за 3 місяці, 6 місяців та рік.
Створення парних ордерів
Основні параметри даних ордерів схожі з параметрами, які ми вибрали у першому прикладі. Ми створимо ордер на покупку. Зауважте, що під час створення пари поле для введення розміру компонента розташоване до поля максимальної позиції.
Розмір компонента – 400 кожен.
Зверніть увагу, що при використанні однакових значень коефіцієнт комбінації буде 1:1 і збільшення числа тих чи інших акцій його змінить. Цей коефіцієнт має бути таким самим, як і в полях максимальної позиції.
Максимальна позиція – 50000 кожен. Використовуйте функцію рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір компонентів, що відправляються, може дорівнювати 200, 300, 400, 500 або 600, а також ми уникаємо виплати мінімальної комісії.
Це максимум тільки для цього алгоритму, ваша загальна позиція може бути іншою.
Використовуйте функцію рандомізації розміру, щоб алгоритм не виявили на ринку. При розмірі компонентів 400, розмір компонентів, що відправляються, може дорівнювати 200, 300, 400, 500 або 600, а також ми уникаємо виплати мінімальної комісії.
Введіть початкову ціну. Наприклад, якщо різниця цін комбінації дорівнює 4,75; зробіть 4,70 початковою ціною пропозиції. Поводьтеся з різницею в ціні так само, як зверталися з ціною за окремий актив. Приріст ціни - поставте 0,05.
Ціну можна встановити як шляхом ручного введення, так і пересуваючи "лінію початкової ціни" на графіку.
Зверніть увагу, що максимальні та мінімальні ціни обчислюються за вас. Змініть мінімальну ціну, пересунувши лінію на графіці, та зауважте, що відбувся перерахунок приросту ціни.
Типи ордерів – ці типи комбінацій ордерів створені, щоб збільшити шанси виконання обох легів (оскільки це негарантований ордер).
LMT + MKT – обидва ордери розміщуються як лімітні. У разі виконання лише одного з них другий стає ринковим ордером.
REL + MKT – обидва ордери розміщуються як відносні (прив'язані до біду на купівлю або аску на продаж). У разі виконання лише одного з них другий відсилається заново як ринковий.
Ордер отримання прибутку
Хоч і можна було б відправити ордер лише з цими параметрами, ми хочемо досягти інших результатів. Ми продовжимо встановлювати параметри, що віддають алгоритму команду купувати та продавати, щоб він ще більше допомагав нам у вигоді з будь-яких коливань на ринку.
Спочатку ми створимо ордер отримання прибутку, який віддасть алгоритму команду надіслати протилежний ордер. У разі це буде ордер продаж після виконання поточного ордера. Як ми помітили у випадку з базовим ордером, ціна ордера отримання прибутку ґрунтується на ціні компонентів поточного ордера та усуненні прибутку, а не ціні виконання цього ордера.
Давайте включимо цю функцію і встановимо зміщення прибутку на 2,00. А тепер розглянемо приклад її роботи. Задля спрощення ми проігноруємо налаштування рандомізації розміру. Припустимо, що перший ордер на купівлю 400 акцій було відправлено з початковою ціною 5 доларів. Після його виконання буде відправлено ордер на ПРОДАЖ 400 акцій за ціною $7,00, до якої входять ціна компонента та встановлене зміщення прибутку. У той же час ціна наступного відправленого ордера на купівлю 400 акцій буде $4,95, оскільки ми встановили 0,05 як приріст ціни. Після виконання наступного компонента відправляється черговий ордер на продаж 400 акцій за ціною $6,95 (знову ж таки сума ціни в 4,95 і зміщення прибутку в 2 долари), і наступний компонент на купівлю відправляється з новим зниженим рівнем ціни. Робота за цим принципом триватиме до виконання всіх компонентів або скасування ордера.
Відновити розмір
Як згадувалося, якщо ми відправимо ордер, у якому встановлено лише зміщення прибутку, то алгоритм купить і продасть за кожною ціною лише один раз, а потім зупиниться.
Давайте знову віддамо алгоритму команду відновити розмір ордера після отримання прибутку. Це означає, що він спробує повторно купити продані для отримання прибутку акції за ціною, за якою ми їх спочатку купили, що дозволить нам неодноразово купувати та продавати на нестабільному ринку, як робив би маркетмейкер. Ця стратегія буде найефективніша, якщо ми встановимо досить низький рівень приросту ціни та усунення прибутку. Тому давайте змінимо усунення прибутку з двох доларів на 20 центів.
В даному випадку алгоритм буде активний, поки ціна акцій залишатиметься в діапазоні, визначеному сукупністю (макс. ціна + усунення ціни) та мінімальною ціною.
Таким чином алгоритм може працювати, коли встановлені параметри фіксатора прибутку та відновлення розміру (знову ігноруємо функцію рандомізації розміру для цього прикладу). Перший ордер на купівлю 400 акцій вирушає з початковою ціною п'ять доларів. Після його виконання буде відправлено ордер на ПРОДАЖ акцій за ціною $5,20, до якої входять ціна компонента та встановлене зміщення прибутку. У той же час ціна наступного відправленого ордера на купівлю 400 акцій буде $4,95, оскільки ми встановили 0,05 як приріст ціни. Це може звучати знайомо, бо досі все було так само, як і у прикладі зі зміщенням прибутку, який ми нещодавно обговорювали. Однак тепер, коли ордер отримання прибутку був виконаний за ціною 5,20, другий компонент ціною 4,95 скасовується, і його розмір повертається за початковою ціною, що означає відправку нового ордера на купівлю 400 акцій $5,00. Або може статися так, що ордер на отримання прибутку за 5,20 дол. не виконається, але виконається ордер на покупку за 4,95 дол. У такій ситуації створюється ордер продаж за $5,15, і якщо він виконується, то розмір відновлюється на рівні $4.95.
Ця функція дозволяє алгоритму продовжувати працювати, поки різниця у ціні коливається у межах встановленого цінового діапазону.
Після встановлення всіх необхідних параметрів ми можемо відправити scale-ордер.
Переконайтеся, що час дії та інші налаштування встановлено правильно.
Використовуйте кнопки внизу для перегляду та передачі ордера.
Слідкуйте за ходом ордера, використовуючи вкладку ScaleTrader.
Легко змінюйте налаштування, вони не набудуть чинності, поки ви не натиснете "Розмістити".
Запускайте та зупиняйте вручну за допомогою кнопок.
Якщо алгоритм зупиниться і вимагатиме перезапуску, позначте поле "Перезапустити ScaleTrader", а потім у поля з початковими позиціями введіть ті, що були подолані, коли алгоритм зупинився. Якщо різниця в ціні набагато вища або нижча за ту, якою вона була, коли алгоритм зупинився, то в результаті ScaleTrader може занадто багато купити або продати і в результаті вплинути на ринок. Це можна виправити, змінивши початкову ціну після запуску, а потім поступово повернутися до попередньої, використовуючи функцію автоматичного коригування ціни.
Укладання
Сьогодні ми розглянули алгоритм ScaleTrader на прикладі простого scale-ордера та складнішого ордера пар. Запам'ятайте, що ScaleTrader підтримує всі продукти, за винятком взаємних фондів. Для обох ордерів ми використали функцію фіксатора прибутку, яка надсилає протилежний ордер для отримання прибутку встановленого клієнтом розміру. Ми також включили функцію відновлення розміру, яка дозволяла продовжувати купівлю та продаж з вигодою, тоді як ціна (або різниця в ціні для пар) залишалися в діапазоні, заданим прирістом цін та усуненням прибутку.
SCALE TRADER для пар - найкращий інструмент для управління ПОРТФЕЛЕМ З ДОВГИМИ І КОРОТКИМИ ПОЗИЦІЯМИ.
Угоди scale можуть бути дуже вигідною стратегією, якщо ви не проти підтримки встановленої максимальної позиції, якщо ціна впаде до цього рівня або нижче. За принципом вона схожа з продажем опціонів - відповідною стратегією, якщо ви будете задоволені отриманою позицією під час виконання опціону. І, як завжди, найкраще попередньо випробувати функції та можливості ScaleTrader у PaperTrader або демо-версії TWS.
Будь-ласка, Увійти або Відкрити рахунок, щоб приєднатись до розмови.
Час відкриття сторінки: 0.214 секунд