Kot_Begemot
Kot_Begemot личный блог
21 июня 2020, 20:34

Случайности в волатильности и эффективные оценки


Используя простые модели волатильности, рассчитанные по ценам закрытия (Close-to-Close vol.) мы неизбежно сталкиваемся с рыночным шумом, смещающим наши оценки далеко её от истинного или асимптотического значения.  Мы могли бы измерять волатильность как-то иначе, например по модели Паркинсона (High-to-Low 1980), но столкнулись бы с той же проблемой. 



Случайности в волатильности и эффективные оценки 

1.1 — Close to Close log-volatility estimation



Случайности в волатильности и эффективные оценки

1.2 Parkinson (High to Low) log-volatility estimation



Эти две оценки волатильности, хоть и являются случайными числами, но используют совершенно различную информацию ({Close} и {High,Low}). На первый взгляд ничего интересного, но Garman и Klass, воспользовавшись теоремой Цыбенко (Neural Net approximation), решили построить на базе этих двух случайных чисел, новое, более эффективное случайное число, собрав, всего-навсего, из них простой, непараметрический  портфель. 


Случайности в волатильности и эффективные оценки


1.3 Garman and Klass log-volatility estimation


Математики заявляют, что этот портфель в семь с половиной раз эффективнее старой-доброй Close-to-Close.

Случайности в волатильности и эффективные оценки
Сравнительная эффективность методов оценки волатильности.



Ну вот это мы сейчас и проверим!
Возьмем Gaussian Normal Standart Noise, построим из него Japan Candle graph, и начнем к нему EWMA 10 estimation применять!


Matlab:
q=10000; w=10; x=randn(q,w)/w^0.5; 
x=cumsum(x,2); OLHC=zeros(q,4); 
for i=1:q; 
    OLHC(i,2)=min([0,x(i,:)]); 
    OLHC(i,3)=max([0,x(i,:)]); 
    OLHC(i,4)=x(i,w); 
end; 
clear x q w i;
>> OLHCs=OLHC+cumsum([0;OLHC(1:end-1,4)])*ones(1,4);

Случайности в волатильности и эффективные оценки
Matlab Random Candle Noise with truth unit volatility = 1.


Matlab:
volcc=tsmovavg(OLHC(:,4).^2,'e',10,1).^0.5;
volcc(1:10)=[];

volhl=(1/4/log(2))^0.5*tsmovavg((OLHC(:,3)-OLHC(:,2)).^2,'e',10,1).^0.5; 
volhl(1:10)=[]; volhl=volhl/mean(volhl);


volgk=tsmovavg( 0.5*(OLHC(:,3)-OLHC(:,2)).^2 - (2*log(2)-1)*OLHC(:,4).^2 ,'e',10,1).^0.5; 
volgk(1:10)=[]; volgk=volgk/mean(volgk);



Случайности в волатильности и эффективные оценки
Close-to-Close estimation error = 0.22, Parkinson estimation error = 0.13;



Случайности в волатильности и эффективные оценки
Parkinson estimation error = 0.13, Garman and Klass estimation error = 0.135; (преимущество Garman and Klass наблюдается на окнах >20)



Случайности в волатильности и эффективные оценки
Parkinson estimation error = 0.13, Rogers-Satchell estimation error = 0.12;



Неправильные какие-то математики получились, ненормированные. Надо опять к Бабе Яге идти, она эти волатильности… ух как умеет! 
57 Комментариев
  • Люфт
    21 июня 2020, 20:38
    Все время мечтаю чтобы кто-то простыми словами объяснил что такое волатильность. Но видно не судьба.
  • Rostislav Kudryashov
    21 июня 2020, 21:11
    Вспоминается из художественной литературы, какой-то персонаж развлекался тем, что давил мух на оконном стекле. Бедняга, у него не было высшего математического образования.
  • ASTRAL
    21 июня 2020, 21:27
    Ох уж эти математики.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн