Модернизация на стратегията robot_uralpro
блог за обменни роботи
Модернизация на стратегията robot_uralpro. Връзка изпреварване
Тези алгоритмични търговци, които не са купили robot_uralpro, също ще намерят тази статия за полезна, тъй като връзката изпреварване може да се използва в стратегии за търговия с двойки и други подобни. Например, чрез дефиниране на такова взаимодействие, един от активите може да бъде изключен от търговията с двойки (като се има предвид, разбира се, че съотношението на търгуваните инструменти е описано от ясен модел) и по този начин значително да се увеличи доходността на стратегията.
Веднага мога да отбележа, че на съвременната фондова борса в повечето случаи промяната на фючърсната цена в посока на последващото движение на пазара настъпва по-рано от промяната в стойността на синтетичния индекс. Това се обяснява с факта, че фючърсите се търгуват по-активно, волатилността им е по-голяма, а прагът за влизане е по-нисък. Това знание обаче не дава нищо по отношение на изграждането на алгоритъм, защото трябва да определим точно кога се случват тези случаи, колко време продължават и кога индексът започва да се движи напред. Обикновено за това се предлага да се използва кръстосаната ковариация на увеличенията на цените на активите, получена чрез изчисляване на ковариацията, когато извадката от увеличенията на цените на един от активите се измести във времето с някаква сума, наречена лаг:
, Където
- кръстосана ковариация за лаг k;
- нарастване на текущите цени на първия и втория актив.
Ако кръстосаната ковариация е положителна за положително k, тогава се заключава, че актив q е пред актив p; ако кръстосаната ковариация е положителна за отрицателно k, тогава актив p е пред актив q.
Въпреки това правилното изчисляване на кръстосаната ковариация е възможно, ако данните за увеличението на цената пристигат на равни интервали от време t и не съдържат пропуски. Нито едно условиеизвършва се за високочестотни данни, които са необходими за HFT и само алгоритми в рамките на деня. Обикновено този проблем се решава по следния начин - извадката се разделя на равни интервали и ако между тях не е имало промяна в цената, тогава увеличението на цената се приема за 0. Това води до силна зависимост на ковариацията от честотата на разделяне и като цяло до нейното неправилно изчисляване в динамичен режим. Освен това ковариацията зависи и от големината на увеличението на цената, което в случай на голяма разлика между цените на активите също води до неправилни резултати.
Нека обозначим наблюденията на цените с индекс i, цените с индекс j и общия брой наблюдения N и M, съответно. Разликата между две различни ценови нива може да бъде записана като сбор от увеличенията на ненаблюдавания процес на промяна на цената в интервала между наблюденията:
където означава клеймото за време на i-тото наблюдение. Записваме кръстосаното произведение на нарастването на цената между два актива като:
Математическото очакване на този кръстосан продукт е линейна комбинация от кръстосани ковариации:
и този израз зависи от наблюдаваните времена. След това означете колко пъти се появява в горния израз:
.
Важна особеност е, че тези стойности зависят само от времевите точки на наблюдаваните промени в цената и не зависят от цената на актива. Така можем да запишем като линейна комбинация от ковариации:
Горният израз може да се разглежда като регресионен израз с неизвестни кръстосани ковариации като параметри и коефициенти като обяснителни променливи. Във векторна нотация:
.
По този начин кръстосаните ковариации могат да бъдат изчислени на най-малките квадрати от наблюдения и изчислени стойности.
В разглеждания метод всекиинтервали между наблюдаваните цени, в зависимост от честотата на сделките, които изисквате. Достатъчно е също така да се ограничим до интервали, където , където K е максимално необходимото забавяне.
Заглавието на публикацията показва графика на кръстосаната корелация между нарастването на цените на индекса AEX на фондовата борса в Амстердам и фючърсите на този индекс. Минималната стъпка k на забавяне се приема за равна на пет минути. Максималната стойност на K=6, т.е. увеличенията на цената се измерват в рамките на пресичащ се интервал от 30 минути. Тази графика показва, че на интервали от 0 до 15 минути фючърсът изпреварва индекса с максимална стойност на корелация от около 5 минути.
Между другото, много обещаващо е да се разкрие връзката изпреварване между фючърсите и техните опции. Който може правилно да извърши всички изчисления, ще получи много интересен алгоритъм за статистически арбитраж.
Също така ще дам препоръка на тези, които подобряват алгоритъма robot_uralpro. Не се стремете към много висока честота на транзакциите, увеличете малко интервалите на изчисление, там ще изчезнат много микроструктурни характеристики, които не бяха взети предвид през 2010 г. от тази стратегия, но имат силно влияние сега. Това значително ще улесни работата ви. Но не забравяйте, че твърде дългият интервал между сделките също ще доведе до намаляване на статистическата значимост. Според моите тестове на този алгоритъм при тестване на съвременни данни имаше около 500 транзакции на ден с обем от 5 RI договора, ръководете се от тази стойност.
- Tweet
- дял
- +1
- 0
- Вконтакте
Обяснете причината за избора да изчислите кръстосаната ковариация специално за нарастване на цената, а не за самите цени. Аз самият винаги съм смятал закъснения без увеличения и все още не мога да разбера широкото използване на увеличения на цената.
За зависимостта на изчисленията от квантуване на серии. Може би,струва си да погледнем към независими от квантуване алгоритми за сравнение. Когато първият cVR остава непроменен. И на втория DVR се дава вектор от "времеви мащаби" като изход.
Спомням си статиите ти за българския търговец според мен. Бяха много интересни, дори използвах нещо в роботите. Искате ли да добавите нещо ново към този сайт? Би било чудесно.
Два документа растат, единият расте по-бързо от другия, в този случай грешката в изчислението ще се натрупа кумулативно в кръстосаната вариация.
разликата изравнява влиянието на тенденциите, които водят до грешки при изчисляването на кръстосаната ковариация.
Прочетох тази статия преди година, но не разбрах. Сега втори опит
Ако разбирам правилно, тогава Xij се изчислява въз основа на дължината на интервала между наблюденията.
Например, първото наблюдение на 0 секунди, второто на 10 секунди, забавяне 2.
Тогава Xij = max(0, min(10, 10+2) - max(0, 0+2)) = 8;
Оказва се, че имаме този коефициент константа? Или аз бъркам и не разбирам значението на този коефициент?
Или тези периоди трябва да са различни?
Много интересно написано, благодаря. Не разбрах обаче основната идея: Статията гласи, че в повечето случаи промяната в цената на фючърса изпреварва промяната в индекса. Въпреки това, в края („500 сделки на ден с обем от 5 RI контракта“) следва, че фючърсът все още се търгува. Въз основа на каква идея се изчислява входната точка?
Зависи от избрания инструмент. При някои базовият актив е пред фючърсите, при други е обратното. Понякога се случва в някои периоди фючърсът да върви напред, а в други - базовият актив. За да направите това, трябва динамично да определите кой в момента води.