В процессе загрузки ресурсов... загрузка...

М Язык Стратегия торговли черепахами реализация ((V 1.0)

Автор:Изобретатели количественного измерения - мечты, Дата: 2018-12-29 09:07:24
Тэги:Торговля черепахамиMyLanguage

История

В 1994 году Ковел взял выпуск Financial World и просмотрел статью под названием "Волл-стрит" топ-игроки". Среди известных инвесторов, таких как Джордж Сорос и Джулиан Робертсон, Ковел заметил имя, которое он не узнал на 25-м месте в списке: Р. Джерри Паркер, который заявил, что он был обучен как черепаха Ричардом Деннисом (другое имя Ковел не узнал).

Описание

Ричард Деннис заработал более 200 миллионов долларов в качестве трейдера. Эксперимент, в котором они провели две недели обучения новичков в науке торговли, а затем дали каждому из них 1 миллион долларов на инвестиции. Он пришел на ферму для разведения черепах в Сингапуре, заявив: "Мы собираемся выращивать торговцев так же, как они выращивают черепах".

Хотя каждый из 1000 заявителей прошел через строгий процесс подачи заявок, предназначенный для проверки их интеллекта, способности управлять рисками и математических навыков, состав Избранные черепахи сильно отличались. Среди них был чехословацкий мастер блэкджека, дизайнер игры Dungeons and Dragons, евангелический бухгалтер, MBA из Гарварда, За четыре года The Turtles собрали более 150 миллионов долларов.

Правила торговли:

При захвате сигналов тренда, закон торгового черепахи использует очень важный технический индикатор, канал Дончиана. но это несколько отличается с точки зрения конкретных расчетов.

Ричард Дончян изобрел этот индикатор. Он состоит из трех кривых разных цветов. Настройки могут быть изменены, некоторые не могут быть установлены) И самая низкая цена, чтобы показать волатильность рыночной цены, когда канал узкий, это означает, что волатильность рынка В противном случае ширина канала означает, что волатильность рынка относительно велика.

Когда цена проходит через верхнюю полосу канала, это возможный сигнал покупки; наоборот, это возможный сигнал продажи при прорыве нижней полосы.

Методы расчета Дончианского канала следующие:

Верхняя рельса = Max (высшая, n), наибольшее значение наивысшей цены за n дней

Нижняя рельса = Min (наименьшая цена, n), минимальное значение наименьшей цены за n дней

Средний рельс = (верхний рельс + нижний рельс) / 2

В рамках многофакторного анализа в финансовом секторе эта стратегия прогнозирует тенденцию цен после прорыва, основываясь на гипотезе обоснованности Естественно, эффективность этого фактора была тщательно проверена и дополнена трехфакторной моделью Fama-French и широко используется в финансовых рынков.

Конечно, мы можем оптимизировать и использовать более разумные индикаторы.

Итак, поскольку импульсный фактор является фактором, который был публично и широко используется, то почему Закон Торговли Черепахой выделяется из толпы? Правила торговли определяют набор очень строгих правил для контроля позиций и стоп-лосса.

    1. Базовая единица позиции N

    Принцип правила черепахи заключается в том, чтобы определить небольшую единицу (Единицу), чтобы ожидаемое колебание стоимости позиции соответствовало 1% от общего чистой стоимости активов. Если вы покупаете активы этой небольшой единицы, то рыночная стоимость позиции в этот день не изменится более чем на 1% от общего объема чистых активов.

    Итак, как вы определяете эту маленькую единицу? как вы оцениваете колебания стоимости, которые эта маленькая единица может принести? во-первых, в прогнозировании волатильности стоимости этой маленькой единицы (это значение В случае, если в системе Turtle Strategy используется метод статистического среднего значения исторической волатильности цен, то конкретная формула расчета выглядит следующим образом:

    TrueRange = Max ((высоко-низко, высоко-предблизо, предблизо-низко)

    N = (сумма N-значений предыдущих 19 дней + TrueRange на тот момент) / 20

    Среди них, Высокий указывает на самую высокую цену дня, Низкий указывает на самую низкую цену дня, и PreClose указывает на цену закрытия предыдущего дня. определение того, что значение N действительно может должным образом выразить недавние колебания цены актива.

    Таким образом, единица должна рассчитываться следующим образом:

    Единица = (1%*Total_net) /N, Total_net - общая чистая стоимость активов

    Из этого видно, что волатильность цен на активы подразделения = 1% от общего объема чистых активов.

    1. Когда открыть позицию

    Действие открытия позиции происходит от генерации сигнала прорыва тренда. Если текущая цена опустится ниже нижней линии, это будет генерировать сигнал короткой позиции (рынок криптовалют поддерживается короткой продажей!)

    Размер первоначальной конструкции = 1 единица

    1. Когда будет добавление позиции?

    Если позиция хранения представляет собой длинные позиции, и цена актива увеличилась на 0,5 N на основе последней позиции хранения (или суммирующей позиции), то добавляется единица длинной позиции;

    Если позиция хранения является короткой позицией, и цена актива снизилась на 0,5 N по сравнению с последней позицией (или суммирующей позицией), то добавляется единица короткой позиции.

    Мы видели, что стратегия черепахи на самом деле стратегия погони вверх и вниз.

    1. Как сделать динамический стоп-лосс

    Если позиция хранения представляет собой длинные позиции, и цена актива снижается на 2N на основе последней позиции хранения (или суммирующей позиции), то стоп-лосс для всех позиций;

    Если позиция хранения является короткой позицией, и цена актива увеличилась на 2N на основе последней позиции хранения (или суммирующей позиции), то вся позиция должна быть закрыта.

    Конечно, пользователь может настроить динамический план остановки потери, например, 0.5N падение, чтобы начать частичное закрытие позиции, вместо того, чтобы ждать 2N снижение после спешки, чтобы закрыть В конце концов, стоимость воздействия есть.

    1. Как получить прибыль, можете ли вы адаптировать динамику получения прибыли?

    В правиле черепахи сигнал Take Profit генерируется следующим образом:

    Если позиция хранения представляет собой длинные позиции, а текущая цена актива падает ниже нижней линии 10-го канала Дончиана, все позиции закрываются;

    Если позиция холдинга является короткой позицией, и текущая цена актива поднимается выше верхней линии 10-го канала Дончиана, все позиции закрываются.

    Конечно, пользователи могут настроить динамический план получения прибыли, например, когда общий чистый актив / первоначальный чистый актив > 1,5, просто взять прибыль.

Преимущество

Самое большое преимущество закона о торговле черепахами заключается в том, что он помогает нам установить эффективный метод контроля размера позиции.

Недостатки

Торговая система черепахи имеет общую проблему со стратегией отслеживания тренда, которая заключается в изъятии плавающей прибыли. Он очень силен в большом тренде, и он не работает очень хорошо на шоковом рынке.

Хватит болтать, давайте сделаем это!

М язык

После 6 лет разработки он поглотил отзывы сотен тысяч пользователей. Это зрелая и стабильная платформа для разработки моделей. широко используемая платформа разработки программных моделей в Китае.

Язык M выступает за концепцию программирования строительных блоков, которая включает в себя сложные алгоритмы в отдельные функции и использует конструкционный режим small Хотя грамматика проста, он также может поддерживать логические и сложные финансовые приложения со специальной программируемой структурой данных и богатой библиотекой финансовых статистических функций.

Функциональная библиотека языка M часто обновляется, и новые функции могут быть добавлены в любое время в соответствии с новыми требованиями клиента для поддержки новых Идеи и новые приложения программиста.

FMZ Quant не только реализовал интерпретатор грамматики языка M, но и улучшил свою способность смешивать программирование с языком высокого уровня, таким как JavaScript.

Например:

// здесь вы можете вызвать любую функцию API из FMZ Quant scope.TEST = функция (объект) { возвращает obj.val * 100; Я не знаю. Цена закрытия: C;

Цена закрытия увеличивается в 100 раз: TEST©;

Предыдущая цена закрытия увеличивается в 100 раз: TEST(REF(C, 1)); // Мышь перемещается к линии backtest K и отображается значение переменной.

img
img


(*backtest
start: 2018-11-01 00:00:00
end: 2018-12-19 00:00:00
period: 1d
exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}]
args: [["ContractType","XBTUSD",126961]]
*)

// this demonstration mainly uses the Turtle Trading Rules to demonstrate the method of writing "position management, maximum position control and other fund management".
// only the demonstration key content statement is annotated, other statements please consult customer service
//This model is only used to demonstrate the use of this strategy, and enters the market accordingly, at your own risk.

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));// True volatility
ATR:MA(TR,26); // Find a simple moving average of the true amplitude in 26 cycles, shown in the figure
ZOOM:=IFELSE(ISCONTRACT('@Futures_(?!CTP).*'), CLOSE, 1); // Compatible with cryptocurrency futures as margin
LOT:=((MONEYTOT*0.01*ZOOM)/(UNIT*ATR))*ZOOM;// Calculate the number of one hand based on 1% of equity
TC..IFELSE(ISCONTRACT('@Futures.*'), INTPART(LOT), LOT); // Compatible futures and spot ISCONTRACT starts with @ to indicate matching exchange name, support
MTC..4*TC; // Total position
HH^^HV(H,20); // Attached to the main image display
LL^^LV(L,20); // Attached to the main image display
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0&&BARPOS>=26,BK(TC);// The latest price exceeds the highest value of 20 cycles, the first time to buy long, the quality is TC hands
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); // The latest price fell below the lowest value of 20 cycles, the first time to sell short, the quality is TC hands 
C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK,BK(TC);// The price has increased by 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, buy long the adding position of TC hands
C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK,SK(TC);// The price fell 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, sell short the adding position of TC hand.
C<=(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);// The latest price is less than the opening price minus 2 times of ATR, stop loss and close position
C>=(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); // The latest price is greater than the opening price plus 2 times of ATR, stop loss and close position
CROSSUP(H,HV(H,10))&&SKVOL>0,BP(SKVOL);// The highest price up-cross the highest price of 10 cycles, closing the position
CROSSDOWN(L,LV(L,10))&&BKVOL>0,SP(BKVOL); // The lowest price down-cross the lowest price of 10 cycles, closing position
TRADE_AGAIN(10);

Связанные

Больше