#84403 - Wed Jan 23 2019 05:34 PM
Опционные скрипты Simm/Real trading - v95
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
В скриптах Simm trading и Real trading накопились определенные изменения и улучшения, поэтому настало время выложить новую версию номер 95. ВАЖНО: Данный скрипт создан и сохранен в TSLab v2.0.32. Совместимость с предыдущими версиями не проверялась.Инструменты - Проверить наличие обновлений. Основные изменения в скрипте:- Добавлена возможность переключать серию опционов "на лету".
- Добавлена возможность принудительно указать тип опциона,
который будет использован для создания позиций.
В окне с настройками улыбки в левом верхнем углу появилась группа контролов для переключения рабочей серии опционов. ВАЖНО: позиции в разных сериях сейчас полностью независимы, поэтому торговать календарные комбинации КАТЕГОРИЧЕСКИ НЕЛЬЗЯ. В противном случае Вы получите скачок дельты и неправильную работу хеджера.
Attachments
95 - Simm Trading.tscript (245 downloads)Description: Simulation trading v95 (2019-01-23).95 - Real Trading.tscript (444 downloads)Description: REAL trading v95 (2019-01-23).
Отредактировано Option Wizard (Wed Jan 23 2019 05:36 PM)
|
Наверх
|
|
|
|
#85466 - Mon Jul 15 2019 01:40 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
stranger
Registered: Sun Apr 14 2019
Записи: 3
|
Подскажите, пожалуйста. В скрипте Simm_Trading можно ли как-то посмотреть ГО собранной опционной позиции.
Или размер гарантийного обеспечения никак не рассчитывается?
|
Наверх
|
|
|
|
#85467 - Mon Jul 15 2019 02:38 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Redmonk]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Или размер гарантийного обеспечения никак не рассчитывается? Никак не рассчитывается.
|
Наверх
|
|
|
|
#85471 - Tue Jul 16 2019 07:50 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
stranger
Registered: Sun Apr 14 2019
Записи: 3
|
Очень жаль.
А как тогда можно, хотя бы примерно, прикинуть какое ГО будет у набранной в симуляции позиции?
Для чего нужно: тестирую разные опционные стратегии в плане того, как TSLab их корректирует дельта-хеджем. И хочу понять, какие стратегии лучше работают и дают заданную прибыль, исходя из размера моего реального счёта.
Например, можно собрать позицию продав 100 опционов, что даст доходность 40% годовых (в пересчёте). Но если она загрузит ГО на 90% - я не стану её реализовывать на своём торговом счёте. Слишком рискованно.
А значит, использование такой стратегии, в принципе, не имеет смысла.
Буду искать другие сервисы, где можно рассчитать ГО набранной позиции. Хотя бы примерно в начальном варианте, без дельнейшего управления.
|
Наверх
|
|
|
|
#85478 - Wed Jul 17 2019 02:10 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Redmonk]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
А как тогда можно, хотя бы примерно, прикинуть какое ГО будет у набранной в симуляции позиции? Алгоритм расчета ГО является ноу-хау Биржи и детально она его не раскрывает. Все наши (и Ваши, и других сервисов) фантазии на тему " какое было бы ГО" -- это просто фантазии. Для чего нужно: тестирую разные опционные стратегии в плане того, как TSLab их корректирует дельта-хеджем. И хочу понять, какие стратегии лучше работают и дают заданную прибыль, исходя из размера моего реального счёта.
Например, можно собрать позицию продав 100 опционов, что даст доходность 40% годовых (в пересчёте). Но если она загрузит ГО на 90% - я не стану её реализовывать на своём торговом счёте. Слишком рискованно.
А значит, использование такой стратегии, в принципе, не имеет смысла.
Ну, если Ваша стратегия состоит в продаже 100 опционов, то берете ГО продавца (например, 5 тыр для СИ) и получаете грубую прикидку ГО в размере 500 тыр. В любом случае Вы НЕ будете забивать Ваш счет на 100% по ГО какими бы считалками Вы перед этим не воспользовались. Думаю, понятно почему. На практике Вы будете работать фиксированным сайзом. Сначала 10 лотов, потом 20, потом до 50 или 100 дойдете (на СИ). И в процессе этой эволюции естественным образом поймете соответствует Ваш аппетит Вашему счету или перегружает его. Буду искать другие сервисы, где можно рассчитать ГО набранной позиции. Хотя бы примерно в начальном варианте, без дельнейшего управления. Если найдете -- маякните. Посмотрю из любопытства. Раньше Option.Ru претендовал на оценку ГО, но сейчас у него как-то совсем все тухло стало. И это именно внешний сервис без возможности закидывать в него позиции из своей программы через публичный АПИ.
|
Наверх
|
|
|
|
#86058 - Tue Jan 21 2020 10:51 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Есть вопрос по опционным скриптам. в симмуляции дельтахедж симмулируется?
|
Наверх
|
|
|
|
#86059 - Wed Jan 22 2020 09:52 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Есть вопрос по опционным скриптам. в симмуляции дельтахедж симмулируется? Да, симулируется. Он оптимистично считает, что каждая выставленная заявка будет исполнена по указанной в ней цене. Но погрешность не катастрофическая по моим наблюдениям. Бороться с этим можно указав небольшой зацеп рынка. Обычно 1-2 шага цены достаточно, чтобы приблизиться к реальности. С уважением.
|
Наверх
|
|
|
|
#86192 - Thu Mar 12 2020 08:22 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
В симуляторном скрипте никак не получается выставить режим экспирации по фиксированной дате. В режимах "по номеру" и "ближайшая" как-то само в день экспирации может переключиться на не то, что надо (часто на пустую, уже экспирнувшуюся серию) А по фикс дате не настроить. Как ее гвоздем к скрипту прибить?
|
Наверх
|
|
|
|
#86227 - Thu Mar 26 2020 03:21 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
В симуляторном скрипте никак не получается выставить режим экспирации по фиксированной дате. В режимах "по номеру" и "ближайшая" как-то само в день экспирации может переключиться на не то, что надо (часто на пустую, уже экспирнувшуюся серию) А по фикс дате не настроить. Как ее гвоздем к скрипту прибить? Чтобы работал режим " Фиксированная дата" нужно отредактировать точную дату экспирации в свойстве " Экспирация" == " Expiry" кубика " NearOptStream". Параметр имеет тип "строка" с указанием времени суток. Формат " dd-MM-yyyy HH:mm". Без лишних пробелов по краям, без символа переноса строки в конце. Синхронизация этого параметра с кубиками " dT" и " NearOptions" произойдет автоматически (они соединены кубиками "Связанные параметры"). Скорее всего, этот параметр можно вынести на Панель Управления " MktPane" и сделать его редактируемым по аналогии с редактированием даты экспирации в скрипте " HVIV RI**".
|
Наверх
|
|
|
|
#86228 - Thu Mar 26 2020 04:08 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Как ее гвоздем к скрипту прибить? Попробовал вынести фиксированную дату экспирации на контрольную панель. Если будет возможность сообщите потом стало ли удобней использовать скрипт?
Attachments
101 - Simm Trading.tscript (298 downloads)Description: Контрол для редактирования даты экспирации в режиме "Фиксированная дата"
|
Наверх
|
|
|
|
#86263 - Wed Apr 08 2020 10:24 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Да. Гораздо удобнее. Спасибо! А вот еще один вопрос. В этих скриптах-симуляторах, как-то возможно сделать так, чтоб текущий доход ( общий и по результатам дельтахеджа) как-то в графически-историческом виде отображался за периоод работы скрипта? Ну так, как это сделано в линейных скриптах тслаба.
|
Наверх
|
|
|
|
#86264 - Wed Apr 08 2020 11:39 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Да. Гораздо удобнее. Спасибо! А вот еще один вопрос. В этих скриптах-симуляторах, как-то возможно сделать так, чтоб текущий доход ( общий и по результатам дельтахеджа) как-то в графически-историческом виде отображался за периоод работы скрипта? Ну так, как это сделано в линейных скриптах тслаба. Из-за того, что опционы часто имеют большой бид-аск спред (особенно когда они ушли глубоко в деньги) правдоподобный расчет ликвидационной стоимости позиции стандартными методами невозможен. Опционщики сами делают оценку своей позиции на основании какой-то из своих улыбок. В Доске Опционов профит оценивается по портфельной улыбке (зеленая). В торговых агентах прибыль оценивается по рыночной улыбке (красная). Самый реалистичный на мой взгляд способ построить искомый график -- настроить экспорт последнего ненулевого значения кубика TotalProfit во внешний ЦСВ-файл (с добавлением в конец файла) или во внешнюю базу данных. К сожалению, любой из этих методов требует ручного управления процессом и аккуратности, чтобы разные торговые агенты не начали записывать разные данные в один и тот же файл. =( Хотя если правильно настроить формат ЦСВ-файла, то, как мне кажется, его можно будет напрямую использовать как источник для текстового поставщика .
|
Наверх
|
|
|
|
#86277 - Thu Apr 09 2020 08:41 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Спасибо. Непросто.. А если как-то выводить в график финрез только дельтахеджа? то есть работы только фьючей, в рамках стратегии агента?
|
Наверх
|
|
|
|
#86279 - Thu Apr 09 2020 10:42 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
stranger
Registered: Tue Jan 07 2020
Записи: 5
|
Текущее значение через кубик "Доход за все время"? Но если данные за весь период дх, то скорее всего внутри самого агента никак, он ведь работает по последним 4 барам
Отредактировано ly0ka (Thu Apr 09 2020 10:43 PM)
|
Наверх
|
|
|
|
#86288 - Sun Apr 12 2020 07:26 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: ly0ka]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Вопрос такой возник. Обнаружились в скрипте вкладки с графиками Дельты и Гаммы. А график Тетты каким-то заклинанием в скрипт можно вызвать? И еще. Возможно-ли на такой панели создать свой график из греков по своим формулам?
|
Наверх
|
|
|
|
#86289 - Mon Apr 13 2020 01:08 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
А график Тетты каким-то заклинанием в скрипт можно вызвать? С тетой всё сложно. Готового кубика нет. Только если Вы сами на сишарп напишите. (Или закажете) Возможно-ли на такой панели создать свой график из греков по своим формулам? Вы можете создать новое Окно, на него кинуть новую Панель Холста. И на этой панели можете рисовать совершенно всё что угодно. Главное, чтобы кубик-источник подготовил данные в формате InteractiveSeries или Double2N. PS Если у Вас есть на руках 2 числовые серии (два индикатора), их можно слепить в требуемый формат. Одну серию объявить иксом, вторую -- игреком. Для этого специальный кубик есть (вылетело из головы название по причине поздней ночи). Если Вам такой режим использования актуален, маякните. Подскажу как он точно назван.
|
Наверх
|
|
|
|
#86290 - Mon Apr 13 2020 06:21 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Да. такой режим подходит. буду пробовать. Намекните, что за кубик
Отредактировано Rucobor (Mon Apr 13 2020 10:45 PM)
|
Наверх
|
|
|
|
#86291 - Mon Apr 13 2020 06:23 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Вопросище тут назрел по скрипту симуляции (если так работает и в реале, тогда тихий караул..) Пробую купить (продать) опцион. Пишу кого, количество. жму старт. Скрипт покупает (продает) потом еще через несколько секунд покупает (продает) столько же. иногда может это трижды сделать... УЖОС! как это побороть?
Доп. Если хочу устроить "соревнование" между агентами - ставлю количество, кого (страйк) жму на агентах Старт (по очереди через секунду примерно) - агенты покупают в двойном - тройном, четверном размере. Как с этим бороться?
Отредактировано Rucobor (Mon Apr 13 2020 06:26 PM)
|
Наверх
|
|
|
|
#86293 - Tue Apr 14 2020 03:48 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Да. такой режим подходит. буду пробовать. Намекните, что за кубик В разделе кубиков " Опционы (индикаторы)". По-английски называется " Prepare line". По-русски " Подготовить линию".
|
Наверх
|
|
|
|
#86294 - Tue Apr 14 2020 03:54 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Вопросище тут назрел по скрипту симуляции (если так работает и в реале, тогда тихий караул..) Пробую купить (продать) опцион. Пишу кого, количество. жму старт. Скрипт покупает (продает) потом еще через несколько секунд покупает (продает) столько же. иногда может это трижды сделать... УЖОС! как это побороть?
Доп. Если хочу устроить "соревнование" между агентами - ставлю количество, кого (страйк) жму на агентах Старт (по очереди через секунду примерно) - агенты покупают в двойном - тройном, четверном размере. Как с этим бороться? Даже не знаю, что ответить. Однократное нажатие кнопки в торговом агенте должно вызывать однократное срабатывание торгового агента. Поэтому и заявка должна одна выставляться. Мне лично удобней выставлять заявки кликом по узлам "Котировочной улыбки" (бежевая). И нет, в реальности всё четко. Дело в том, что в режиме симуляции мы исполняем виртуальную заявку моментально по цене заявки полным объёмом. А в режиме реальной торговли создаётся Задача Котирования, и уже следующим шагом ЗК выставит реальную заявку в стакан. Одна Задача Котирования ставит только 1 заявку в стакан. На одном страйке в одном типе инструмента (колл/пут) в одном направлении (бай/селл) может быть только одна Задача Котирования.
|
Наверх
|
|
|
|
#86295 - Wed Apr 15 2020 12:46 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Одна Задача Котирования ставит только 1 заявку в стакан. На одном страйке в одном типе инструмента (колл/пут) в одном направлении (бай/селл) может быть только одна Задача Котирования.
Значит, когда я с небольшим временным промежутком ставлю задачу в одном агенте котировать и в другом, то это не должно никак отразиться на котировках в другом агенте? А то создавалось такое впечатление, что они принимают заявки от других агентов за свои и исполняю, накручивая объем позы. Хотя.. когда это делаешь в одном агенте, то часто все равно исполняется дважды и трижды.. хз, отчего..
Отредактировано Rucobor (Wed Apr 15 2020 12:47 AM)
|
Наверх
|
|
|
|
#86296 - Wed Apr 15 2020 12:56 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Ну вот. Однократное нажатие на старт с целью продать 10 колов 107500 привело к продаже 60-ти колов...(
Это из лога агента. 15.04.2020 12:49:31 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107470 15.04.2020 12:49:31 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107470; sec:RIM0:FORTS: Фьючерсы 15.04.2020 12:49:31 100 F:107470; Delta:-4.83055459564549; TargetDelta:0 15.04.2020 12:49:21 100 Qty:-10; IV:0.00 %+0; dT:0.00569255479969766; Mode:Relative 15.04.2020 12:49:21 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:21 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1470 15.04.2020 12:49:21 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1470; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:21 100 [QuoteIv.StartButton] Strike: 107 500 15.04.2020 12:49:21 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107470 15.04.2020 12:49:21 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107470; sec:RIM0:FORTS: Фьючерсы 15.04.2020 12:49:21 100 F:107470; Delta:-4.79749305169521; TargetDelta:0 15.04.2020 12:49:12 100 Qty:-10; IV:0.00 %+0; dT:0.00569336930174369; Mode:Relative 15.04.2020 12:49:12 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:12 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1490 15.04.2020 12:49:12 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1490; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:12 100 [QuoteIv.StartButton] Strike: 107 500 15.04.2020 12:49:12 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107500 15.04.2020 12:49:12 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107500; sec:RIM0:FORTS: Фьючерсы 15.04.2020 12:49:12 100 F:107500; Delta:-4.90187898241787; TargetDelta:0 15.04.2020 12:49:02 100 Qty:-10; IV:0.00 %+0; dT:0.00569418380378972; Mode:Relative 15.04.2020 12:49:02 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:02 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1440 15.04.2020 12:49:02 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1440; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:49:02 100 [QuoteIv.StartButton] Strike: 107 500 15.04.2020 12:49:01 100 [T1604-0HV:PosMan] VIRTUAL BUY 11 RIM0 @ 107440 15.04.2020 12:49:01 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:11; px:107440; sec:RIM0:FORTS: Фьючерсы 15.04.2020 12:49:01 100 F:107440; Delta:-10.5658297014419; TargetDelta:0 15.04.2020 12:48:55 100 Qty:-10; IV:0.00 %+0; dT:0.00569499830583574; Mode:Relative 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1450 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1450; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:48:55 100 [QuoteIv.StartButton] Strike: 107 500 15.04.2020 12:48:55 100 Qty:-10; IV:0.00 %+0; dT:0.00569499830583574; Mode:Relative 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1450 15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1450; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:48:55 100 [QuoteIv.StartButton] Strike: 107 500 15.04.2020 12:48:53 100 Qty:-10; IV:0.00 %+0; dT:0.00569581280788177; Mode:Relative 15.04.2020 12:48:53 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы 15.04.2020 12:48:53 100 [QuoteIv.StartButton] Strike: 107 500
P.S. Что-то не получается с чарты улыбки нажатием на котировки продать/купить. Как это делается? Щелкал, щелкал - оно никак...
P.P.S. Пардон, но не знаю, как код и логи тут в бокс взять, чтоб полотенцем не выкладывалось
Отредактировано Rucobor (Wed Apr 15 2020 12:58 PM)
|
Наверх
|
|
|
|
#86306 - Fri Apr 17 2020 12:48 AM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Rucobor]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
1) Если в торговом агенте установлена блокировка торговли, то он будет игнорировать нажатия на бежевую улыбку. Другое дело, что он и нажатие на кнопку "Start" тогда должен игнорировать.
Это стандартный скрипт или Вы его модифицировали/меняли настройки исполнения? Или нарисовали свой алгоритм с нуля?
2) Ерунда какая-то. Судя по этому фрагменту лога один Ваш скрипт после нажатия одной единственной кнопки 6 раз исполнился?
Думаю, "по фотографии" Вам ничего внятного не скажу. Нужно писать в саппорт с журналом программы и по возможности примером глючного торгового скрипта, который себя так странно ведет.
|
Наверх
|
|
|
|
#86310 - Sat Apr 18 2020 06:34 PM
Re: Опционные скрипты Simm/Real trading - v95
[Re: Option Wizard]
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Это стандартный скрипт или Вы его модифицировали/меняли настройки исполнения? Или нарисовали свой алгоритм с нуля?
2) Ерунда какая-то. Судя по этому фрагменту лога один Ваш скрипт после нажатия одной единственной кнопки 6 раз исполнился?
Думаю, "по фотографии" Вам ничего внятного не скажу. Нужно писать в саппорт с журналом программы и по возможности примером глючного торгового скрипта, который себя так странно ведет.
Скрипт стандартный (101-й Simm) В саппорт написать можно, но я как-то думал что скрипты - не дело саппорта. Скажут - как написали - так и работает...
Отредактировано Rucobor (Sat Apr 18 2020 06:35 PM)
|
Наверх
|
|
|
|
|
|