Сауда стратегияларын сынау. Сауда стратегияларын нақты кенелер бойынша тестілеу Excel жүйесінде сауда жүйесі

Күріш. 1. Сауда стратегияларының алгоритмдерінің көп өлшемді кеңістігін оңтайландыру.

Сауда стратегияларын оңтайландыру

Алгоритмдік сауда процесінде сауда стратегиясы алгоритмдерінің параметрлерін реттеудің тұрақты қажеттілігі бар. Барлық мүмкін болатын параметрлердің комбинациясы стратегия опцияларының үлкен көп өлшемді кеңістігіне айналады. Ең тиімді және тұрақты стратегияларды алу үшін сіз осы кеңістікті зерттеп, сауда үшін оңтайлы параметрлерді таңдауыңыз керек.

Көпшілігі Ең жақсы жолкез келген жиынды зерттеу оның барлық элементтерін толық санау болып табылады. Дегенмен, оңтайландыру кезінде шешуге тура келетін деректердің үлкен көлемін ескере отырып, әдетте, жан-жақты іздеу арқылы мұндай зерттеуді жүргізу мүмкін емес. Біз экстремалды іздеу процесінде зерттеудің нақты көлемін азайтуға мүмкіндік беретін әртүрлі аналитикалық алгоритмдерді қолдануымыз керек.

Бұл алгоритмдердің көпшілігі белгілі: Монте-Карло әдісі, градиенттік түсіру әдісі, имитацияланған күйдіру әдісі, эволюциялық алгоритмдер және т.б. Бұл жағдайда осы оңтайландыру алгоритмдерінің әртүрлі модификациялары бар. Алгоритмдік саудада, әдетте, генетикалық алгоритмдерді және Монте-Карлоны іске асыру бар. Қалай болғанда да, бұл алгоритмдердің барлығы «кездейсоқ сандар сиқырын» немесе, ғылыми тілмен айтқанда, сызықты емес стохастикалық оңтайландыруды пайдаланады.

Стохастикалық оңтайландыру алгоритмдерінің классикалық мәселесі олардың нақты зерттеулердің шағын көлемі мен шағын үлгілер үшін репрезентативті еместігі болып табылады. Мысалы, Монте-Карло мультиэкстремалды кеңістікте тиімді емес, ол зерттеуді жергілікті, бірақ одан кем емес қызықты экстремумды жоғалтып, жаһандық экстремумға бағыттайды. Алгоритм өзі үшін мұндай тапсырмаларды қоймайды, тек ең тиімді стратегияны табу керек. Генетикалық алгоритм мутацияның сәтсіз тармағынан да өтіп, кейбір жергілікті экстремумда тоқтауы мүмкін және т.б.
Себебі бұл оңтайландыру алгоритмдері қосулы ерте кезеңдерісіз әлі зерттелмеген кеңістікте шектеулі деректер көлемі бойынша шешім қабылдауыңыз керек және зерттеуден оңай шығып кетуі мүмкін маңызды салалар. Бұған жол бермеу үшін деректер үлгілері мен зерттеу уақытын ұлғайту қажет, ал біздің жағдайда уақыт алтынмен тең. Ең аз уақытты жұмсай отырып, кеңістіктің экстремумын мүмкіндігінше егжей-тегжейлі зерттеу қажет. Сонымен қатар, биржалық сауданың тез өзгеретін жағдайында сауда стратегияларының тек пайдалы ғана емес, тұрақты параметрлеріне де назар аудару маңызды. Тұрақты параметрлер деп ұқсас нәтижелері бар кластерлерді қалыптастыру түсініледі. Кластерлерден тыс пайда әкелетін стратегиялар тұрақты болмауы және елеулі шығындарға әкелуі мүмкін. Өз кезегінде, кластерден шыққан стратегия нарықтағы өзгерістерге азырақ ұшырайды.

Стохастикалық кластерді оңтайландыру әдісі

Айырбастау стратегияларын оңтайландырудың ерекшеліктерін ескере отырып, гибридті алгоритм әзірленді (қараңыз), ол бір жағымды болды. жанама әсер- ол кластерлерді сәтті анықтап, зерттеді. Алынған алгоритмнің атын бердім – «Стохастикалық кластерді оңтайландыру әдісі».

Демек, зерттеу процесі алгоритм екі кезеңде өтеді:

  1. Пайдасыз және тәуекелге бейім аймақтарды алып тастау арқылы стратегиялар кеңістігін қарастыру
  2. Кеңістіктің экстремумдары мен кластерлерін егжей-тегжейлі зерттеу
1-кезең. Пайдасыз және тәуекелге бейім аймақтарды алып тастай отырып, стратегиялық кеңістікті зерттеу.

Зерттеудің бастапқы кезеңдерінде деректер жетіспеген жағдайда белгісіздіктен құтылу үшін алгоритм пайдалы стратегияларды табу міндетін қоймайды, керісінше, ең тиімсіздерін іздейді және оларды кеңістіктен алып тастайды, әлеуетімен шектесетін аймақтармен қатар жоғары тәуекелдершығындар.

Жұмыс келесі ретпен жүзеге асырылады:

  • Сауда стратегиясының барлық мүмкін параметрлерінен көп өлшемді кеңістік қалыптасады.
  • Стратегиялар кеңістіктен кездейсоқ таңдалады және көрсетілген параметрлері бар тарихи деректерде сыналады.
  • Тестілеу нәтижелері бойынша ең тиімсіз стратегиялардың айналасындағы шекаралық микроаймақтар жойылады. Бұл зерттеу кеңістігін қысқартады және одан әрі итерацияларда неғұрлым тиімді және тұрақты салаларға назар аударады.
  • Тестілеудің итерациялары стратегия кеңістігі қажетті дәрежеде зерттелгенше жүзеге асырылады.
Суретте. 2-суретте зерттеудің экстремалды деңгейге қалай ауысқаны көрсетілген, ал мүмкін жақсы және тұрақты параметрлері бар шағын кластерлерді жоғалту қаупі минималды.
Күріш. 2. «Стохастикалық кластерді оңтайландыру» алгоритмінің бірінші кезеңі стратегиялық кеңістікті зерттеу болып табылады.

2-кезең. Кластерлер мен экстремалды толық зерттеу.

Зерттеудің бірінші кезеңінен кейін экстреманың түрлері жақсы болады. Алайда, алгоритмнің ерекшеліктеріне байланысты (көптеген микро-аймақтар кесілген) кеңістік «жыртылған» болып шығады және кейбір экстремалды егжей-тегжейлі зерттеу мүмкін емес. Барлық қызықты кластерлерді толығымен зерттеу үшін оңтайландыру алгоритмі барлау процесін дәл керісінше бастайды. Ол үшін барлық ең жақсы стратегиялар таңдалып, олардың айналасында микродомендер қосымша бөлінеді. Егер осы аймақтарда зерттелмеген стратегиялар табылса, олар қосымша тексеріледі (3-суретті қараңыз).


Күріш. 3. «Стохастикалық кластерді оңтайландыру» алгоритмінің екінші кезеңі экстремалды егжей-тегжейлі зерттеу болып табылады.

Нәтижесінде, алгоритм іске қосылғаннан кейін ғарыштың бізді қызықтыратын барлық аймақтары зерттеліп, тиімді стратегиялары бар кластерлер егжей-тегжейлі тексеріледі. Сонымен қатар, зерттеудің нақты көлемі, әдетте, стратегия нұсқалары кеңістігінің жалпы көлемінің 25-50% аспайды (4-суретті қараңыз).

Күріш. 4. «Стохастикалық кластерді оңтайландыру» алгоритмін зерттеу жылдамдығы (сол жақта) «Қатыгез күш» алгоритмінің жылдамдығынан (оң жақта) 2-4 есе жоғары.

Алға қарай оңтайландыру

Параметрлер оңтайландырылған сияқты және сіз сауданы бастауға болады. Дегенмен, бұл зерттеу үдерісінің соңы емес. Оңтайландыру процесі процесте пайдаланылған тарихи деректерге параметрлерді «сәйкестендіру» немесе қайта оңтайландыру қаупіне ұшырайды, сондықтан алынған нәтижелерді қосымша тексеру қажет. Ол үшін әдіс қолданылады Алға жүру. Әдістің мәні стратегиялардың параметрлері оңтайландыру процесінде қолданылғандардан өзгеше тарихи деректерде сыналғанында жатыр.

Ол үшін тарихи деректердің бүкіл ауқымы жиынтықтардан тұратын үлгілерге бөлінеді:

  • IS («Үлгіде»)- оңтайландыру үшін пайдаланылатын үлгі
  • OOS («Үлгіден тыс»)- оңтайландыру нәтижелерін тексеру үшін пайдаланылатын үлгі
Сонымен қатар, үлгі диапазондары OOS деректері бірінен соң бірі орындалатындай етіп құрылады (5-суретті қараңыз).
Күріш. 5. Walk Forward Optimization схемасы.

Нәтижелерді тексеру кезеңдерінде зерттеу көлемін азайту үшін оңтайландырудан кейін нашар өнімділікпен стратегияларды дереу сүзуге болады, осылайша тестілеудің жалпы уақытын қысқартуға болады. Осындай тексеру нәтижесінде біз артық оңтайландырудан қорғалған сауда стратегияларының объективті параметрлерін аламыз (6-суретті және 7-суретті қараңыз).


Күріш. 6-сурет. "Үлгідегі" деректері бойынша оңтайландыру нәтижелері.
Күріш. 7. «Үлгіден тыс» деректер бойынша оңтайландыру нәтижелерін тексеру.

Нәтижелерді талдау

Әдетте, Walk Forward әдісімен тексергеннен кейін, сауда стратегияларының көпшілігі оңтайландырудан кейінгідей тартымды болып көрінбейді. Ең дұрысы, стратегиялар өздерінің статистикалық көрсеткіштерін растауы керек, ал экстремалдар мен кластерлер кеңістіктегі пішіні мен орнын сақтауы керек.

Нәтижелерді ыңғайлы талдау үшін мен жылу картасы пішіміндегі әрбір параметр үшін стратегиялардың көп өлшемді кеңістігін визуализацияладым (суретті қараңыз). Күріш. 8). Карта кластерлердің пішіні мен өлшемін, экстремалды орналасуын көрнекі түрде бағалайды, стратегияның тиімділігіне параметрлердің әсерін тексереді, қайта оңтайландыруды тексергеннен кейін өзгерістерді бағалайды және т.б.


Күріш. 8. Оңтайландырылған параметрлер мен мақсаттық функция бойынша кеңістік қимасының мысалы.

Walk Forward оңтайландыру нәтижелерін жан-жақты бағалау үшін сүзгіден өткен барлық қадамдар мен параметрлері бар матрица құрастырылады. жасыл түстепараметрлері олардың өнімділігін растаған қадамдар, егер олар расталмаса, тиісінше бөлектеледі және қызыл болады. Қадамдардың үлкен саны бойынша жақсы орындалған параметрлерді сауда үшін қолайлы деп санауға болады (9-суретті қараңыз).


Күріш. 9. OOS деректерін тексерудің барлық нәтижелерімен матрицаны алға жылжытыңыз.

Қажет болса, егжей-тегжейлі зерттеу үшін нәтижелерді үшінші тарап талдау жүйелеріне экспорттауға болады. Мысалы, R, Excel немесе Mathlab (10-суретті қараңыз).


Күріш. 10. Оңтайландыру нәтижелерін Excel бағдарламасына экспорттау.

Таңдалған параметрлердің дұрыстығына көз жеткізу үшін стратегиялардың егжей-тегжейлі сынақтары жүргізіледі, кірістілік қисығының тегістігі бағаланады, диаграммада тапсырыстар көрсетіледі және сауда журналы зерттеледі (11-суретті қараңыз).


Күріш. 11. Сауда стратегиясының параметрлерін егжей-тегжейлі талдау.

Қорытынды

Оңтайландырудан және барлық тексерулерден кейін бізде биржадағы нақты сауда үшін ықтимал қолайлы стратегиялар болады.

Ақырында, біз бәрін екі рет тексердік, мүмкін сауданы бастау мүмкін бе? Шын мәнінде, біз тек жарты жолдамыз, сауда алгоритмдерін шайқасқа жіберу әлі ерте. Келесіде:

  • Тестілеу кезінде алынған көрсеткіштерді растау үшін Биржадан алынған «тірі» деректер бойынша тестілеу стратегиялары.
  • Тәуекелдерді әртараптандыру үшін сауда стратегияларының портфолиосын жасаңыз. Айтпақшы, оны да оңтайландыру керек.
  • Нақты сауда процесінде тестілеуші-оптимизатордың параметрлерін реттеу үшін сынақ нәтижелерімен алынған нәтижелерді мерзімді түрде азайтыңыз.
Бірақ бұл туралы, мүмкін, басқа жолы.
Баршаңызға бақытты сауда!

Тегтер: тегтерді қосыңыз

Нақты ақшамен сауда жасамас бұрын, таңдалған стратегияның тұрақты пайда табуға қабілетті екеніне көз жеткізу керек.

Бұл мақала үш стратегияны қарастырады және олардың соңғы 10-18 жылдағы тиімділігін қарастырады. Бұл мүлдем басқа стратегиялар, сондықтан кез келген трейдер олардан қызықты нәрсе таба алады және оны өз саудасында қолдана алады.

Мұнда ұсынылған идеялар толық емес, бірақ жақсы бастау нүктесі бола алады.

Gapdown сауда стратегиясы

Кейде сіз өз секторында немесе тұтастай алғанда нарықта көшбасшы болып табылатын күшті акциялардың келесі сауда сессиясы кезінде шамамен бастапқы деңгейіне оралу үшін бір түнде 10%-дан астам құлдырағанын көре аласыз.

Бұл есепті 16 шілдеде нарық жабылғаннан кейін шығарған Netflix-ке (NFLX) қатысты.

Компания инвесторлардың күткенімен салыстырғанда жаңа жазылушылар ағынының баяу өскенін көрсетті.

16 шілдеде Netflix акциялары күнді 50 күндік орташадан жоғары 400,48 доллармен аяқтады. Алайда, келесі күні таңертең ол 14% төмендеп, 344 долларға саудаланды. Сайып келгенде, күннің аяғында баға 379 долларға жетіп, шығынды толығымен қайтарды.

Тарихи талдау

2000 жылдан бері S&P 500 келесі күні таңертең 10% төмен ашуға жеткілікті көлемде 50 күндік жылжымалы ортадан 536 есе жоғары жабылды.

Талдау көрсеткендей, егер әрбір осындай құлдыраудан кейін біз ұзақ позицияны ашып, оны сол күннің жабылуында жапсақ, онда мұндай транзакциялар 47% жағдайда сәтті болады, ал орташа пайда 0,43% (комиссиялық төлемдерді қоспағанда) болады. ).

Міне, кейбір нәтижелер, сонымен қатар уақыт бойынша нәтижелердің динамикасын көрсететін баланс қисығы:

  • Транзакциялар саны: 536
  • Бір саудадағы орташа пайда/шығын (P/L): 0,43%
  • Тәуекелдің түзетілген кірісі (RAR): 123,34%
  • Пайдалы сауда-саттықтың пайызы: 47,95%
  • Сәр пайда: 5,83%
  • Сәр . шығын: -4,54%
  • Пайда коэффициенті: 1,21


Көріп отырғаныңыздай, соңғы 18 жыл ішінде бұл стратегия өте жоғары құбылмалылықты көрсетті, сондықтан көптеген трейдерлерге оны пайдалану қиын болар еді.

Сауда статистикасы әбден лайықты болғанымен, теңгерім қисығы бұл жүйенің 2010 жылдан бері нашар жұмыс істеп келе жатқанын көрсетеді. Және бұл комиссия ескерілмегеніне қарамастан.

S&P 500 акцияларын бір түнде 10%-дан астам құлдыраудан кейін күннің соңында шығумен сатып алуға негізделген лайықты сауда жүйесін құру үшін көп жұмыс істеу керек.

Орташа кері сауда стратегиясы

Бұл стратегияны Russell Microcap индексіндегі микрокап қорлары үшін трендке сәйкес стратегиямен бірге пайдалануға болады.

Мұндай акцияларға орташа қайтару принципін қолданудың күрделілігі мұндай бағалы қағаздармен сауда көлемінің төмендігінде және олар бойынша жаңалықтар ағынының аз болуымен байланысты. Бұл олардың ұзақ уақыт бойы жай ғана «дрейф» күйінде болуы мүмкін екеніне әкеледі. Осыны ескере отырып, жақсы сауда стратегиясын құру ешқайда кетпейтін акцияларға түспеу үшін қандай да бір катализаторды қажет етеді.

Бұл стратегияның идеясы жаңа минимумды іздеуге негізделген және күнделікті айналымның өсуі (акциялар саны x жабылу бағасы) бағаның жылдам өсуі үшін әлеуетті катализатор ретінде қызмет етеді. Осылайша, келесі жолақта кенеттен пайда болатын жаңа төмен пайда болған қорды табу керекжәне баға көтеріле бастайды.

Ережелердің толық жиынтығы келесідей көрінеді:

Сатып алу:

  • Кешегі жабылу< минимальная цена закрытия за 50 дней
  • Ал бүгінгі тауар айналымы > 250 000 доллар
  • Ал бүгінгі тауар айналымы 20 күндік орташадан 2 стандартты ауытқуға жоғары
  • ЖӘНЕ IBS > 0,2
  • Ал бүгінгі жабылу бағасы $0,5 пен $20 арасында

Сатылым:

  • Соңғы 5 бардағы ең жоғары жабылу бағасы
  • НЕМЕСЕ 10 күннен кейін

Мәміле мысалы

Суретте OVID акциясы үшін осындай транзакцияның мысалы көрсетілген:


Мұнда сіз 2017 жылдың 10 тамызында OVID жаңа төмен 50 күнді құрайтынын көре аласыз. Бұдан кейін 11 тамызда көлемнің өсуі байқалады, ал IBS 0,72 құрайды.

Осылайша, сіз келесі күннің ашықтығында ұзақ саудаға кіре аласыз (жасыл көрсеткі). 7 күннен кейін баға жоғары 5 барға дейін көтерілді, сондықтан сауда келесі күні ашық жерде жабылады (қызыл көрсеткі). Пайда 32,53% құрады (комиссиялық төлемдерді қоспағанда).

Russell Microcap Index-тен 8/2008 мен 1/2018 аралығындағы барлық акцияларға арналған бэктестілеу келесі нәтижелерді берді:

(Нәтижелер сауда үшін 0,2% комиссияны қамтиды. Позициялар $250 деңгейінде бекітілген. Барлық енгізулер мен шығулар келесі сауда күнінің ашылуында жасалды. Бұрынғы кезеңдер сыналмаған).

  • Транзакциялар саны: 6052
  • Бір саудадағы орташа пайда/шығын (P/L): 1,02%
  • Сәр ұстау ұзақтығы, жолақтар: 6.04
  • Тәуекел түзетілген кіріс: 51,13%
  • Пайдалы сауда-саттықтың пайызы: 53,72%
  • Сәр . пайда: 7,35%
  • Сәр . шығын: -6,33%
  • Пайда коэффициенті: 1,35


Көріп отырғаныңыздай, бұл ережелер жиынтығы арзан акциялар бойынша сауда-саттықтың өте кең үлгісінде өте жақсы нәтиже береді. Баланс қисығы тегіс.

Бұл перспективті нәтижелер, сондықтан осы ережелерге сүйене отырып, портфельдің нақты мөлшерімен, қор рейтингісімен және позиция өлшемін есептейтін толыққанды сауда жүйесін әзірлеу керек.

Кері сауда стратегиясы

Акциялар үшін кері сауда кеңінен қолданылады. Ол ұзақ мерзімді тренд кезінде қысқа мерзімді кері кету орын алған кезде сатып алуды қамтиды. Дегенмен, егер қор жеткілікті түрде құбылмалы болмаса, мұндай сауда айтарлықтай капиталды байланыстырады.

Сондықтан, қарыз капиталына (левередж) қол жеткізу мүмкіндіктері әлдеқайда жоғары болатын фьючерстік нарықта мұндай жүйенің өзін қалай ұстайтынын зерттеу қызықты.

Бұл стратегияның ережелері өте қарапайым:

Сатып алу:

  • Жабу бағасы > 200 күндік MA
  • Және жабылу бағасы< 10-дневной СС

Сатылым:

  • Жабу бағасы > 10 күндік MA
  • НЕМЕСЕ тоқтату жоғалту 10%

Міне, кейбір фьючерстік құралдардың тарихы бойынша тестілеу нәтижелері:


Көріп отырғаныңыздай, қор фьючерстері (S&P 500 E-Mini және Dow Jones E-Mini) тұрақты нәтиже көрсетті. АҚШ қазынашылықтары (АҚШ екі жылдық және АҚШ он жылдық) нәтижелері де жақсы болды. Ал алтында (Gold mini) және мұнайда (Мұнай) жүйе нашар жұмыс істеді.

Бұл нәтижелер тек бір келісім-шарт саудасына негізделген және жоқ. Бір жаққа 10 долларлық төлем кіреді.

Сіз күткендей, бұл нәтижелер бұл стратегияның бұқалар нарығында жақсы жұмыс істейтінін көрсетеді. Сондықтан онымен нарықтық бағыт сүзгінің қандай да бір түрін пайдалану ұсынылады. Бұқалар нарығында бұл стратегия өте тиімді болуы мүмкін. Қалай болғанда да, тағы бір сынақтан өткен жөн.

Қысқа құрамдас бөлікті қайтару бойынша сауда-саттық стратегиясын толықтыру

Сондай-ақ, қысқа сауда-саттықпен кері қайтару бойынша сауданың жоғарыда аталған стратегиясын толықтырған жөн. ES (S&P 500 E-Mini) үшін сәйкес кері тестілеу жүргізілді. Ұзақ сауда ережелері өзгеріссіз қалады, тек келесілер пайда болады қосымша ережеқысқа сауда үшін. Шын мәнінде, бұл ұзақ сауда-саттыққа арналған ереженің айна бейнесі, тек аю нарығында бычий кері қайтаруларды іздейді.

Қысқаша сату:

  • Жабу бағасы< 200-дневной СС
  • ЖӘНЕ Жабу бағасы > 10 күндік MA

Лауазымды қамту:

  • Жабу бағасы< 10-дневной СС
  • НЕМЕСЕ тоқтату жоғалту 10%
  • Транзакциялар саны: 323
  • Таза табыс: $77 445
  • Жалпы жылдық кіріс (CAR): 5,34%
  • Максималды тарту (MDD): -16,45%
  • Орташа пайда/залал (P/L): 3,66%
  • Пайда коэффициенті: 1,49


Көріп отырғаныңыздай, қысқа құрамдас бөлікті қосу ES-де осы стратегияның сауда нәтижелерін жақсартты. Таза кіріс сол уақыт аралығында 53 901 доллардан 77 445 долларға дейін өсті, ал максималды тарту сол деңгейде қалды. Баланс қисығы да өте жақсы көрінеді.

Әрине, бұл жүйе қосымша тестілеу мен нақтылауды қажет етеді.. Дегенмен, мұндай қарапайым стратегия үшін алғашқы нәтижелерді жігерлендіретін деп санауға болады.

Бұл мақалада біз қарапайым сауда стратегиясын 3 режимде сынау нәтижелерін көрсетеміз: « M1 бойынша OHLC"минуттық жолақтардың тек Ашық, Жоғары, Төмен және Жабық бағаларын пайдалану; содан кейін егжей-тегжейлі модельдеу " Барлық кенелер«және режимдегі ең сенімді тестілеу» Әрбір кене нақты кенелерге негізделген" тарихтан жазылған кенелерді пайдалану.

Бұл әртүрлі режимдерде қандай сапаға қол жеткізетінімізді түсінуге мүмкіндік береді және жылдам нәтиже алу үшін сынаушыны қалай дұрыс пайдалану керектігін көрсетеді. «OHLC on M1» режимі жылдам бағалау тестін алуға мүмкіндік береді, «Барлық кенелер» режиміндегі модельдеу бізге шындыққа жақсы жақындау береді, ал нақты кенелердегі тестілеу ең дәл нәтиже береді, бірақ сәйкес соманы қажет етеді уақыт. Сонымен қатар, сауда роботының логикасындағы қателер сауда операцияларының санына әсер етуі мүмкін және тарих бойынша стратегияны сынау нәтижелері таңдалған тестілеу режиміне байланысты болуы мүмкін.

Біз қандай сауда стратегиясын сынадық

Біз ең соңғы RangeLength жолақтарына негізделген қарапайым сауда-саттық стратегиясын жасадық. Ондағы сауда ережелері келесідей: жаңадан ашылған барда ең жоғары және ең жоғары диапазон төмен бағаларсоңғы N жолақтар үшін. Қосылған Expert Advisor бағдарламасында әдепкі RangeLength параметрі 20 жолақ болып табылады және біз ауқымды құрастыратын терезенің енін білдіреді.

Жоғары немесе төмен диапазондағы бірінші үзілістен кейін кіріс кенелердің статистикасы жинақтала бастайды: қанша кене сынған диапазон деңгейінен жоғары болды, ал қаншасы төмен болды. Кіріс кенелері TicksForEnter =30 мәнінен үлкен немесе тең болған кезде нарыққа ағымдағы баға бойынша кіру туралы шешім қабылданады. Егер диапазон жоғары қарай сынған болса, онда үзіліс деңгейінен жоғары кенелер саны осы деңгейден төмен кенелер санынан көп болуы керек. Бұл жағдайда сатып алу жүзеге асырылады. Қысқа позицияны енгізу үшін керісінше болады.

Ашық позициядан шығу BarsForExit жолақтары арқылы уақыт бойынша орын алады. Көріп отырғаныңыздай, сауда ережелері қарапайым. Түсінікті болу үшін олар суретте көрсетілген:

Осы стратегияны сынау нәтижелері үш түрлі кене модельдеу режимінде қалай өзгеретінін көрейік.

Біз қалай сынадық

Сауда-саттық стратегиясы EURUSD бойынша 2016 жылдың алғашқы 6 айында - 01.01.2016 бастап 30.06.2016 дейін H1 бойынша сынақтан өтті. Сарапшы кеңесшісінің барлық параметрлері әдепкі мәндерге орнатылды, себебі біздің міндетіміз стратегияны әртүрлі модельдеу режимдерінде жай ғана тексеру болды.


Әртүрлі тестілеу режимдері бойынша нәтижелерді салыстыру

Әртүрлі режимдердегі тестілеу нәтижелері кестеде жинақталған. Ең алдымен, сауда операцияларының санындағы айырмашылық таң қалдырады. Тиісінше, барлық басқа сынақ көрсеткіштері де әртүрлі. Бұл ретте «OHLC on M1» режимінде тестілеу 1,57 секундқа созылды, бұл «Барлық кенелер» режиміне қарағанда 23 есе жылдам. Сауда жүйесінің кіріс параметрлерін оңтайландыру кезінде мұндай айырмашылық үлкен мәнге ие болады.

Өз кезегінде, «Нақты кенелерге негізделген әрбір кене» режимі одан да көп уақытты қажет етті - «Барлық кенелер» режиміндегі 36,7 секундқа қарсы 74 секунд. Бұл нақты кенелерді пайдаланған кезде 34 миллионнан астам кенелердің имитацияланғанымен оңай түсіндіріледі, бұл «Барлық кенелер» режиміне қарағанда 2 есе дерлік көп. Осылайша, тестілеу кезінде неғұрлым көп кене қолданылса, стратегия тестішісінен бір өту үшін соғұрлым көп уақыт қажет.

Параметр
M1 бойынша OHLC
Барлық кенелер
Әрбір кене
нақтыға негізделген
Тиков
731 466
18 983 485
34 099 141
Таза пайда
169.46 -466.81
-97.24
Сауда
96
158 156
Мәмілелер
192
316 312
Меншікті капиталды тарту (%)
311.35 (3.38%)
940.18 (9.29%)
625.79 (6.07%)
Баланстың азаюы281.25 (3.04%)
882.58 (8.76)
591.99 (5.76%)
Табысты сауда (%)
50 (52.08%) 82 (51.90%) 73 (46.79%)
Орташа үздіксіз жеңіс сериясы
2
2
2
Тексеру уақыты, соның ішінде кенелердің пайда болу уақыты
1.6 секунд
36.7 секунд
74 секунд (1 минут 14 секунд)

Біз әртүрлі модельдеу режимдеріндегі сынақ есептерін анимациялық GIF түрінде жинадық, осылайша сіз статистикадағы айырмашылықты көре аласыз.


Тиісінше, баланс пен меншікті капитал диаграммаларында да айырмашылықтар бар. Бірақ сонымен бірге бұл қарапайым стратегияның тартымды көрінбейтіні анық - өсу кезеңі құлдырау кезеңімен ауыстырылады және әрбір сынақтың диаграммалары мүмкіндіктер тізбегі сияқты көрінеді. Сіз мұндай жүйені пайдаланып сауда жасай алмайсыз, нәтиже тиын лақтыруға ұқсас болады.



Сауда жүйелері кенелердің келуіне байланысты

Көрсетілген сауда жүйесі модельдеу әдісіне - кіріс кенелердің санына және оларды алу тәртібіне байланысты. «OHLC on M1» режимінде тестілеу кезінде біз ең аз кенелерді имитациялаймыз және олар нарыққа шығу үшін әрдайым жеткіліксіз болуы мүмкін. «Барлық кенелер» және «Нақты кенелерге негізделген әрбір кене» режимдерінде кенелердің мүлдем басқа реті болуы мүмкін. «Әрбір кенені» модельдеу кезінде біз диапазон бұзылған кезде нарыққа шығуға іс жүзінде кепілдік беретін кенелердің монотонды түрде өсетін немесе біркелкі төмендейтін тізбегін ала аламыз. «Нақты кенелерге негізделген әрбір кене» режимінде тестілеу кезінде кенелердің жазылған тарихы пайдаланылады және онда бағаның өзгеру динамикасы мүлдем күтпеген болуы мүмкін.

Нәтижесінде, тестілеу аралығының басында біз кіріс және шығу деңгейлерінің өзі диаграммаларда ерекшеленетінін көреміз, ал кейбір сауда-саттық өткізілмейді.



Төрт кене генерациялау режимі

MetaTrader 5 терминалындағы стратегия тестілері сауда стратегияларын төрт белгіні модельдеу режимінде сынауға мүмкіндік береді, олар MetaTrader 5 тестілеу негіздері мақаласында сипатталған. Ең жылдам және өрескел " Тек ашылатын бағалар", онда сауда операциялары тек жаңа жолақ ашылғанда ғана орындалуы мүмкін. Бұл режимде жолақ ішіндегі әрекеттер EA үшін қол жетімді емес және ол бағаның қалай өзгеретінін ескермейтін стратегияларды сынау үшін өте қолайлы. бардың ішінде дамиды.

Модельдеу дәлдігі бойынша келесі режим « M1 бойынша OHLC", ол сынақтан өткен тарих диапазонына енгізілген әрбір минуттық жолақтың Ашық, Жоғары, Төмен және Жабық бағасын имитациялайды. Осылайша, H1 уақыт фреймінде бір сағат бойы тестілеу кезінде сарапшы кеңесші 240 рет шақырылады: 60-тың әрқайсысында. минут жолақтарында OnTick() өңдегіші 4 рет шақырылады - әрбір OHLC бағасы үшін бір рет. Бұл модельдеу арқылы сіз Trailing Stop функциясын пайдалана аласыз, қажет болса, басқа уақыт аралығы мен индикаторлар бойынша баға дамуын көре аласыз. Мысалы, " сияқты сынақ стратегиялары 3 үлкен экран».

Егер сізге стратегияны сынаушыда тарихты толығымен сенімді қайта құру қажет болса, онда « Барлық кенелер нақты кенелерге негізделген". Бұл режимде тестілеуші ​​брокердің сауда серверінен жазылған нақты кенелерді өз бетінше жүктеп алады және олардың негізінде баға дамуын құрады. Нақты кенелері жоқ тарих сегменттері үшін тестілеуші ​​бағаны " Барлық кенелер". Осылайша, егер брокерде қажетті таңбалар үшін бүкіл жазылған тарих болса, сіз жасанды модельдеусіз нақты тарихи деректерді сынай аласыз. Дегенмен, мұндай таңбалау дәлдігінің бағасы көрсетілгендей, тестілеу уақытының айтарлықтай артуы болады. үш режимді салыстыру нәтижелері бар кестеде.

Жүйені әзірлеуді «OHLC on M1» режимімен бастаңыз

Көріп отырғаныңыздай, бір уақытта барлығында жеңіске жету мүмкін емес - егер біз уақытты қысқартып, сауда идеясын жылдам сынағымыз келсе, қарапайым модельдеу режимдерінде дәлдікті жоғалтамыз. Егер тестілеу үшін кіріс бағасының дәлдігін және сауда сигналдарының реттілігін қамтамасыз ету қажет болса, онда көбірек уақытты қажет ететін дәлірек режимдерді пайдалану керек.

Сауда стратегиясын тестілеуді бастамас бұрын, таңдалған модельдеу режимі нәтижелердің дәлдігін және оларды алуға жұмсалған уақыт мөлшерін анықтайтынын анық білуіңіз керек. Сауда стратегияңызды жылдам бағалау және тексеру қажет болса, «OHLC on M1» режимін пайдаланыңыз. Онда сіз сауда жүйесінің әлеуетін жылдам бағалай аласыз.

Келесі кезең - жөндеу және «Әрбір белгі» режимі

Егер алдын ала нәтижелер қанағаттанарлық болса, онда сіз дәлірек модельдеу режимдерінде сауда жүйесін дәл баптауды және талдауды жалғастыра аласыз. Мұнда тестілеу режимінде стратегияны жөндеу көмекке келеді - сіз тоқтау нүктелерін орнатып, айнымалылардың күйін және EA-да көрсетілген шарттарды орындауды тексере аласыз. Мұнда сіз күтуге болады жағымсыз тосынсыйларегер сіз жүйеңіздің кейбір нюанстарын ескеруді ұмытып қалсаңыз.

Сынақ дәлдігі мен жылдамдық

Сипатталған сауда жүйесін үш режимде сынау нәтижелерінен көрініп тұрғандай, трейдер әрқашан өзінің сауда стратегиясына сәйкес келетін кене модельдеу режимін таңдай алады және таңдауы керек. Егер сіз жүйені күнделікті уақыт аралығында сынап жатсаңыз, онда « Тек ашылатын бағалар«- тестілеудің жоғары жылдамдығы нәтиже сапасының есебінен болмайды.

Егер сіз скальпинг немесе арбитраж стратегиясын жазып жатсаңыз немесе сіздің стратегияңыз нақты уақыттағы индекстердің немесе синтетикалық көрсеткіштердің есептеулеріне негізделген болса, онда «» режимі қажет. Тестілеу әлдеқайда көп уақытты алады, бірақ нәтижелерді шындыққа барынша жақын аласыз. Рас, тарих ешқашан қайталанбайтынын ұмытпауымыз керек, сондықтан бұл режимде де оңтайландыру көмегімен жақсы таңдалған енгізу параметрлері роботты нақты есептік жазбада іске қосқан кезде сәттілікке кепілдік бермейді.

Осы екі шектің арасында « M1 бойынша OHLC« Және » Барлық кенелер"," қарағанда жылдамырақ Әрбір кене нақты кенелерге негізделген", бірақ тестілеу дәлдігін төмендетіңіз. Жалпы алғанда, тестілеудің уақыты мен дәлдігін сипаттайтын заңды тұжырымдай аламыз:

Сынақ неғұрлым жылдам өткен сайын, сауда симуляциясының дәлдігі соғұрлым төмен болады. Бағаның дамуы тарих бойынша неғұрлым егжей-тегжейлі және дәлірек жасалған болса, тестілеуге соғұрлым көп уақыт қажет.

Сауда-саттық серверлері көптеген жылдар бойы нақты кене тарихын жинақтап келеді және MetaTrader 5-те «Нақты кенелерге негізделген әрбір кене» режиміндегі стратегия тестері барлық қажетті тарихты автоматты түрде жүктеп алады. Бірақ тестілеу неғұрлым сенімді болса, соғұрлым көп ресурстар қажет. Сондықтан дәлдік пен жылдамдық арасындағы теңгерімді таңдаңыз.

Барлық стратегиялар дамудың бастапқы кезеңдерінде егжей-тегжейлі модельдеуді қажет етпейді. Дұрыс таңдаусынақ режимі уақытты үнемдеуге және арамшөптерді жоюға көмектеседі үлкен мөлшерқате стратегиялар!

Тек негізгі тапсырманы шешкеннен кейін - тиімді автоматты сауда жүйесін құру - сіз нақты кенелерді оңтайландыруға болады. Бұл кезеңде сізге бөлінген есептеу желісінің қуаты қажет болады.

Кез келген индикатор немесе сауда жүйесі (ақылы, ақысыз, үшінші тарап немесе өздігінен жасалған) бірнеше жолдармен және әртүрлі әдістермен сәтті сынақ дискісінен кейін ғана нақты шотқа орналастырылуы мүмкін. сауда шарттары. Сауда стратегияларын оңтайландыру және сауатты тестілеу - талап етілетін процесстабысты сауда үшін.

Сауда жүйесін дамыту көп уақыт пен күш жұмсауды талап етеді, сондықтан параметрлерді таңдаудың эмпирикалық әдістері ұзақ уақыт бойы қолданылмаған. Бүгінгі таңда тестілеу кезеңі техникалық талдаудың қажетті құрамдас бөлігі болды және нақты сауда үшін капиталды үнемдеуге мүмкіндік береді.

Сауда стратегияларын сынау процесі тарихи немесе имитацияланған деректерде алгоритмді іске қосуды білдіреді. Сынақ сатып алу/сату мәмілелерін жасау үшін алмасу «сигналдарын» «көруі» және «мүмкін» сауданың нәтижесін беруі керек - кіріс/шығынның сомасы нақты жұмысқа жарамдылық көрсеткіші болып табылады.

Негізгі мақсаттар мен әдістер

Ең алдымен, тексеру қажет:

  • стратегияға енгізілген тиімділік көрсеткіштері;
  • нақты саудасыз нарық модельдері (активтер, өтімділік, шығындар, жылдамдық, сырғу, тәуекел);
  • бэктест нәтижелері бойынша параметрлердің оңтайлылығы;
  • әзірлеу қателеріне арналған бағдарлама коды.

Тест өткенді талдауды/болашақты болжауды қамтуы және графикалық және сандық нәтижелері бар есеп шығаруы керек. Сіз тестілеушіге жүктей аласыз:

  • тарих – бағалардың, көлемдердің, көрсеткіштердің параметрлері бар бұрын қалыптасқан жолақтардың массиві: содан кейін «өткен» динамика бойынша «болашақ» реакциясын бағалау мақсатында талдау үшін баға «өткен» және «болашақ» қалыптасады;
  • сценарий бойынша модельденген баға мәндері: содан кейін сынаушы кірісіне белгі деректерін (тарих немесе нақты) беріңіз және қозғалыс болжамын алыңыз.

Бірінші әдіс жеңілдікті, жылдамдықты, бірақ төмен дәлдікті береді, ал екіншісінде стратегия тестілеушіде нақты саудадағыдай әрекет етеді. Модельдеу нәтижелерін сыртқы файлдар ретінде сақтауға болады, оларды терминалға «Файл» - «Офлайн режимінде ашу» мәзірі арқылы жүктеуге болады.

Сауда стратегияларын тексеруге болады:

  • кез келген математикалық бағдарламалық қамтамасыз ету (биржалық саудаға арналған плагиндері бар Matlab немесе MS Excel);
  • механикалық жүйелерді құру жүйелері (MetaStock, Wealth-Lab, Omega);
  • Сауда роботтарын жасау және сынау үшін Java, Scala немесе C++/C# бағдарламалау тілдері;
  • сауда платформаларына орнатылған тестерлер.

Дәстүрлі түрде тестілеу процесінде тұрақты және дұрыс нәтижелерді алу үшін келесілер дәйекті түрде қолданылады:

  • Индикатордың немесе жүйенің визуалды сынағы:ұзақ мерзімге (бір - екі жыл) бағалар тарихын қарауды талап етеді. Бұл уақытты қажет ететін процесс стратегияны қолмен сынаушы бағдарламалық құралмен жеңілдетілген.
  • Сарапшы кеңесшіні құру, тестілеу және оңтайландыру.
  • Автоматты режимде ұзақ тарих сынағы.
  • Демо-шотта немесе цент шотында сынақтан өту:алғашқы екі әдіс бойынша тұрақты нәтижелерді алғаннан кейін орындалады - ұзақ, бірақ ең дәл есептеу. Демо-шот пен центтік шот арасындағы айырмашылық тек психологиялық.

Егер сіз қолайсыз нәтижелерге қол жеткізсеңіз, кеңесшінің параметрлерін таңдауға уақыт бөлуіңіз керек және кірістірілген оңтайландыру опциясы бұл үшін ең қолайлы механизм болып табылады.

Сауда стратегиясын сынаушылар

Олар сыртқы файлдардан жүктелген тарихты өңдеуге арналған көп валюталық аналитикалық құралдар. Процесс дәйекті түрде тырнақшаларды сұрыптайды, алгоритм реакциясын талдайды және виртуалды мәмілелерді ашады. Ең жақсы опцияны таңдау үшін бір уақытта бірнеше активке сенуге болады.

Сауда стратегияларын тестілеу кезінде кездейсоқ орындаудың кешігу режимі дилерлер тапсырыстарды нақты орындау кезінде желілік мәселелерді имитациялайды. Визуализация режимі процесті нақты уақыт режимінде көрсетеді: барлық ашылған мәмілелер баға диаграммасында көрсетіледі, параметрлер критерийлерге сәйкес жасалады: жылдамдық, сапа, пайда, кезең, әртүрлі жағдайларсауда.

Нәтиже графикалық және статистикалық ақпарат түрінде беріледі: пайда/шығын пайызы, ұтылған/пайдалы сауда-саттықтардың саны, тәуекел факторларының көрсеткіштері, жеңістің математикалық күтуі және т.б.

Сауда стратегияларын «алға» тестілеу механизмі «фитинг» параметрлерінің проблемаларынан құтылуға көмектеседі: тарих екі бөлікке бөлінеді - оңтайландыру бір жартысында орындалады, ал екінші бөлім нәтижені растауы керек. Тестілеушілер таратылған тестілеу әдіснамасын қолдай алады, яғни процеске, соның ішінде бұлттық есептеу желілеріне қосымша мүмкіндіктерді қоса алады.

Сауда стратегияларын сынау кезінде параметрлерге қойылатын негізгі талаптар:

  • барлық кезеңдердің деректерін жүктеп алу; дағдарысты/стандартты емес динамикасы бар кезеңдерді міндетті түрде қоса отырып, тарих диапазоны кемінде 5 жылды құрайды (мысалы, 2008-2009);
  • егер сіз кішірек кезеңді пайдалансаңыз, онда ол тренд пен тегіс қозғалыс кезеңдерін қамтуы керек;
  • имитацияланған сауда-саттықтардың саны 300-ден аз;
  • алгоритмді бірнеше сұйық аспаптарда сынау.

Сынақ параметрлерін орнату кезінде мыналарды ескеріңіз:

  • сауда шығындары (спредтер, комиссиялар);
  • сырғанау/кідіріс;
  • актив өтімділігінің әсері (көлемдік динамика);
  • нарықтық конъюнктураның өзгеруі;
  • пайдалану жоспарланатын сауда өтінімдерінің түрлері (нарықтық немесе лимиттік өтінімдер).

Егер нарықтық тапсырыс дереу орындалса, бірақ оның сынақ үшін соңғы бағасы анықталмаса, онда шекті тапсырыстар транзакция үшін ең қолайлы бағаны «күте» алады. Шектеулі бұйрық пассивті құрал болып саналады, өйткені бұйрықтар аз болған жағдайда ол орындалмауы немесе жартылай орындалуы мүмкін. Тапсырыс кітабының әрекеті дәл үлгіленбесе, нақты уақыттағы сынақ кері сынаққа қарағанда нашар нәтижелерді көрсетеді.

Ұмытпаңыз: сеанстарды жабу алдында спрэд бірнеше есе артуы мүмкін, сондықтан демалыс күндерін ескере отырып, қысқа сынақтарды өткізбеу керек - сіз әлдеқайда жоғары шығындарға ие боласыз.

Әдетте үш есептеу әдісі қолданылады:

  • Ашылу бағалары:ең жылдам, бірақ ең дәл емес әдіс, көптеген стратегиялар 1 жылға дейінгі мерзімге сыналған кезде бірде-бір сауданы мүлдем ашпауы мүмкін;
  • Бақылау пункттері үшін:дәлдік пен уақыт бойынша ең теңдестірілген, бірақ алынған мәліметтерге сенімділік деңгейі төмен;
  • Барлық кенелер үшін:ең дәл, шындыққа жақын әдіс.

Ұзақ кезеңдегі кез келген сынақ әдісімен соңғы екі жылдағы нәтижелер трендті және кері жүйелер үшін ең дәл болып табылады.

Ұмытпа: нақты тестілеу үшін нақты модельдер мен имитацияланған деректер көлемін енгізу техникалық ресурстарды қажет етеді және в визуализация есептеу процесін баяулатады.

Сауда стратегияларын сынау көлем деректерін қоса алғанда, барлық уақыт аралығын дұрыс модельдейді. Тестілеу кезінде көрсеткіштер онлайн режимінде есептеледі.

Сынақ аяқталғаннан кейін диаграмма үлгісін барлық кіру/шығу нүктелерімен және индикатор деректерімен ашуға болады, сондықтан стратегияларда немесе көрсеткіштерде қателер болса, олар міндетті түрде пайда болады. Тарихтан есептелген индикатор мәндері сынақ кезіндегі мәндерден өзгеше болуы мүмкін.

Сынақ нәтижелерін Excel немесе кез келген басқа бағдарламалық құралға бөлінген деректер тізбегі ретінде жүктеп салуға болады.

Ұмытпа :n сен істей алмайсың есептеулерде баға ұсыныстарының толық емес жиынтығын немесе әртүрлі көздерден ішінара импортты пайдалану. Минуттық тырнақшалар автоматты түрде қайта есептеліп, есептеуге уақытша олқылықтарсыз немесе ауысымдарсыз енгізілуі керек.

Ал қорытынды ретінде...

Сауда стратегияларын тестілеу нарықта нақты сауда жасамай-ақ алгоритмнің дұрыстығы мен табыстылығын бағалауға мүмкіндік береді. Ақшадан басқа, бұл уақытты үнемдейді - бірнеше жыл бойы баға белгілеулері бойынша сынақ бірнеше сағатқа созылуы мүмкін, оны кез келген уақытта тоқтатуға, құралды, есептеу шарттарын немесе оңтайландыру параметрлерін өзгертуге болады. Дереккөз:

Joomla үшін әлеуметтік түймелер

Танымал:

  • 2013 жылғы 14 қараша 06:32 | Кері индикатор – 55948 трендінің соңын анықтаңыз
  • 02.04.2015 10:04 | VSA индикаторы нарықты 53422 ашық кітап сияқты оқиды
  • 23.09.2014 11:08 | Форекс кеңесшісі конструкторы кез келген сауда роботын 48882 жасауға мүмкіндік береді


Біріншіден, графика туралы. Жоғарғы оң жақта құбылмалылықтың күлкісі бар. Төменгі сол жақта ағымдағы позиция профилі орналасқан. (қоңыр сызық - құбылмалылықтың еңісі, баға өзгерген кезде құбылмалылық қалай өзгеретінін көрсетеді). Қалғаны түсінікті деп ойлаймын.

Функционалды. Позицияны жылдам орындауға (Бастау) және үлесті қарауға (өңдеу процедурасын жылдамдатуға) және қадамдық іске қосуға (StepByStep) қоса, мен профильді және құбылмалылық өзгерістерін есепке алуды қостым.

Қалай пайдалануға болады. (алдыңғы блогты қараңыз). Нәтижені көру үшін бастау түймесін басыңыз. Қадаммен қарау үшін StepByStep қолданбасының сол жағындағы құсбелгіні қойыңыз. Позиция профилін көру үшін Профиль түймесін басыңыз. Егер сіз StepByStep түймесін бассаңыз және Профильді әр уақытта басқыңыз келмесе, Профиль түймешігінің сол жағындағы құсбелгіні қойыңыз. Кәдімгі (стандартты) профильді көргіңіз келсе, құбылмалылық құсбелгісін алып тастаңыз. Егер құсбелгі қойылса (құбылмалылық), онда профиль өзгерісті ескере отырып сызылады ( ықтимал өзгеріс) құбылмалылық. (графиктегі қоңыр сызық).

Жоғары