Backtesting

Backtesting дегеніміз не?

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

Негізгі өнімдер

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

Backtesting түсіну

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

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

Маңызды

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

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

Бағдарламалаушы трейдерлерге жүйені «түзетуге» мүмкіндік беретін пайдаланушы анықтаған кіріс айнымалыларын қоса алады. Бұған қарапайым қозғалмалы орташа (SMA) кроссовер жүйесінде мысал бола алады . Трейдер жүйеде қолданылатын екі жылжымалы орташа ұзындығын енгізе алады (немесе өзгерте алады). Одан кейін трейдер аралықтың қай ұзындығының орташа ұзындығы тарихи деректер бойынша ең жақсы нәтиже көрсеткенін анықтай алады.

Идеал Backtesting сценарийі

Идеал backtest нарықтық конъюнктураны көрсететін ұзақтыққа сәйкес уақыт аралығынан алынған деректерді таңдайды. Осылайша, артқы тесттің нәтижелері флюк немесе саудалық сауда-саттықты көрсететініне жақсы баға беруге болады.

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

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

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

Backtesting және форвардтық тестілеу

Форвардты тестілеу, сонымен қатар қағаз саудасы деп те аталады,  трейдерлерге жүйені бағалауға арналған басқа үлгілік емес мәліметтер жиынтығын ұсынады. Перспективалық өнімділікті тексеру – бұл нақты сауданы модельдеу және тірі нарықта жүйенің логикасына сүйенуді білдіреді. Оны қағаз саудасы деп те атайды, өйткені барлық сауда-саттық тек қағаз жүзінде жүзеге асырылады; яғни сауда жазбалары мен шығулары жүйе үшін кез-келген пайда немесе залалмен бірге құжатталады, бірақ нақты сауда-саттық жүргізілмейді.

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

Backtesting және сценарийлерді талдау

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

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

Backtesting-тің кейбір қателіктері

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

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

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

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