?

jc_trader


JC-TRADER

Биржевые игры. Системные Спекуляции.


Previous Entry Поделиться Пожаловаться Next Entry
Из архивов: система для фьючерсов Thirteen.
jc_trader
This is the "Thirteen" mechanical trading system for trading a diverse portfolio of COMMODITY FUTURES.
Mark Johnson 02 June 2001

Знакомимся с классикой системостроительства для портфеля фьючерсов -- простейшая система Thirteen. Система всегда в рынке, то есть реверсивная -- из лонга переходит в шорт и наоборот. Вход осуществляется при пересечении индикатора MACD с параметрами 13 и 130 нулевой линии. Это, по сути, то же самое что система, построенная на пересечении двух скользящих средних, что доказывает что, по крайней мере до 2001 года можно было легко зарабатывать на пересечении двух средних скользящих.

Как видим, на периоде с 1980 до 2000 года система стабильно зарабатывала. Тест на основных американских фьючерсах одним контрактом:





Но с 2001 года, когда она была опубликована, ее стало лихорадить и стабильность пропала.





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

---------------------------------------
vars: mysignal(0);

mysignal = MACD(Close, 13, 130);

if (mysignal > 0.0) then buy tomorrow at the market;

if (mysignal < 0.0) then sell tomorrow at the market;

---------------------------------------

А это для WL4:

---------------------------------------
{$I 'MACDEx'}
var MPane, MEx, MHist, MPane1, MEx1, MHist1, MPane2, MEx2, MHist2, MPane3, MEx3, MHist3: integer;
var Bar, p: integer;
var bLongSAR: boolean;
MEx := MACDExSeries( #Close, 13, 130 );
MHist := SubtractSeries( MEx, EMASeries( MEx, 9 ) );
MEx1 := MACDExSeries( #Close, 13, 130 );
MHist1 := SubtractSeries( MEx1, EMASeries( MEx1, 9 ) );
MEx2 := MACDExSeries( #Close, 13, 130 );
MHist2 := SubtractSeries( MEx2, EMASeries( MEx2, 9 ) );
MEx3 := MACDExSeries( #Close, 13, 130 );
MHist3 := SubtractSeries( MEx3, EMASeries( MEx3, 9 ) );
MPane := CreatePane( 100, true, true );
PlotSeries( MEx, MPane, #Maroon, #Thick );
PlotSeries( EMASeries( MEx, 9 ), MPane, 111, #Thin );
PlotSeries( MHist, MPane, #Black, #Histogram );
DrawLabel( 'MACDEx(13,130) and 9 period Signal Line', MPane );
for Bar := 130 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
bLongSAR := PositionLong( p );
if PositionLong( p ) then
begin
if CrossUnderValue( Bar, MEx1, 0 ) then
begin
SellAtMarket( Bar + 1, p, '' );
end;
end;
if PositionShort( p ) then
begin
if CrossOverValue( Bar, MEx3, 0 ) then
begin
CoverAtMarket( Bar + 1, p, '' );
end;
end;
end;
if not bLongSAR then
begin
if CrossOverValue( Bar, MEx, 0 ) then
begin
BuyAtMarket( Bar + 1, '0' );
end;
end;
if bLongSAR then
begin
if CrossUnderValue( Bar, MEx2, 0 ) then
begin
ShortAtMarket( Bar + 1, '4' );
end;
end;
end;

----------------------------------------------------



  • 1
сколько систем вы одновременно торгуете? задавал этот этот вопрос одному из гуру - был вежливо послан.

5 систем на американских акциях. 3 системы на фьючерсах, 2 системы для ETFs. Иногда, редко, интрадей на акциях и фьючерсах, в основном, зимой.

Edited at 2010-05-24 08:57 (UTC)

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

Возьмем идеальный вариант -- систему стали играть все. Тогда никто не купит в точке входа, например в лонг, так как продавцов не будет, будут только покупатели.
Возьмем полуидеальный вариант -- систему стали играть 30-50% участников. В этом случае в точке входа купят все, если на каждого покупателя найдется продавец. А что дальше? На этом покупатели закончились, так как все кто хотел, уже купили. Поэтому, покупателей уже нет, цена больше вверх не идет, и кто-то начнет фиксировать небольшую прибыль или даже безубыток -- начинается паника, сброс, обвал. Система перестала работать.
То есть, для системы важно, чтобы были те, кто готов принять на себя груз поражений, так как если вы выигрываете, то кто-то должен проиграть. А дураков на рынке мало, поэтому все не так просто.

Это мое объяснение, но есть и другие популярные версии -- например, против известных систем начинают играть роботы, мегакукл, маркетмейкеры и прочие проф.участники рынка и др.

Edited at 2010-05-24 08:54 (UTC)

а можно график по wallmart если не трудно

а можно график доходности по wallmart если не трудно

Re: а можно график по wallmart если не трудно



Почему именно WMT? Вообще, система для фьючерсов.

а есть принципиально разница - системы для фьючерсов и акций? Волмарт потому что у него большая история, аж с 80х

Да, конечно, есть -- различные движущие силы. Отсюда и особенности характера движения графиков получаются. Второй момент -- для фьючерсов возможен диверсифицированный портфель из разных рынков, а все акции являются составной частью единого фондового рынка, поэтому о диверсификации нет и речи -- или всё падает, или всё растет, причем не только в Америке, но и на всех континентах.
Третий аспект -- различное применение капитала для торговли. Если для акций возможно плечо всего лишь 1:2, то для фьючерсов все по-другому -- имея 5 000 долларов, можно купить фьючерс стоимостью, например 65 000. Из-за этого получаются разные риски и доходности. Именно по этой причине долгосрочные трендовые системы для акций дают очень небольшой доход, редко перекрывающий доход по стратегии купил-и-держи-индекс.

Edited at 2010-05-24 10:48 (UTC)

  • 1