Hurst üssü - sayfa 20

 
anladım. Yüksek ve Alçak'ın geometrik ortalamasını aldım. Şimdi bakalım fark ne olacak. Hala neyin daha uygun olduğuna karar veremiyorum - MT4 kodunu alıp C'ye dönüştürmek veya kendi hatamı aramak;) Verilerim günlük çubuklar (5 dakika), toplamda 78 tane var. puanları 3.4...78i değerlerine göre maliyetlendirin.
Segmenti kalıcı olarak ikiye bölmek için bir çeşit seçenek de vardır.
Hmm, ve Kapat[i+1]-Kapat[i] = 0 farkının ve standart sapmanın 0 olduğu noktalar, düz bir çizgi oluştururken basitçe dikkate alınmıyor mu?
Ayrıca, Hurst katsayısını hesaplarken, olağan en küçük kareleri değil, sözde kullanmak gerektiğine dair bir görüş var. RANSAC( http://en.wikipedia.org/wiki/RANSAC ), çünkü olağan LSM ile, düz bir çizginin eğim katsayısı, "toplam sayının dışında" olan noktalardan etkilenebilir, yani. toplam kütleden en uzak.
 
Disa >> :
понял. Я брал среднее геометрическое из High и Low. Сейчас посмотрю что будет на разнице. Я пока не могу решить что целесообразнее - брать код для MT4 и переделывать под Си или искать ошибки у себя ;) У меня данные это дневные бары(5ти минутки), всего их 78. Я точки стоил по значениям для 3,4...78и. - МТ4 моментально обсчитает 78 баров, даже до десятка тысяч считает быстро. А вот для каждого бара расчитывать Херста на многотысячной выборке - это уже долго, если баров тоже тыщи.
Есть еще вроде вариант постоянного деления отрезка пополам. - не совсем представляю о чем вы, но если длина выборки - степень двойки, то да, работает. В любом случае предпочтительнее иметь выборку с длиной имеющей как можно больше делителей.
Хм, а точки для которых разница Close[i+1]-Close[i] = 0 и среднеквадратичное отклонение 0, просто не рассматриваются при построении прямой? - (Close[i+1]-Close[i]) - это входные данные, прямая строится не по ним, а по коэффициентам, которые получаются из этих данных при R/S анализе.
Еще есть мнение что подсчета коэффициента Херста нужно использовать не обычный МНК, а т.н. RANSAC( http://en.wikipedia.org/wiki/RANSAC ), т.к. при обычном МНК на коэффициент наклона прямой могут влиять точки, "выбивающиеся из общего числа", т.е. наиболее удаленные от общей массы. - Не представляю на основании какой модели, можно решить, что некоторые возвраты подлежат выбросу из выборки?
 

(Kapat[i+1]-Kapat[i]) = 0 => log(d[i]/d[i-1]) = INF - Bununla ne yapacağımı anlamıyorum. RS = R/S - ve S = 0 olduğunda nasıl sayılır, R = 0'ın da olduğunu varsayalım? sonra tekrar log (R) = INF ve yine ne yapacağımı anlamıyorum. İyi. İşte basit bir örnek - H katsayısı nedir
ya verilen aralıktaki tüm i için (Close[i+1]-Close[i]) = const ise?
Hangi modele dayanarak hiçbir fikrim yok, bazı iadelerin numuneden çıkarılmasına karar vermek mümkün mü? - Örneğin, stok veri akışındaki birkaç değerin değerinde bir hata varsa (14,4 yerine 54.5)
 
Genel olarak, size hesaplama algoritmamı kelimelerle anlatayım, siz de bana hatanın nerede olduğunu söyleyin, yoksa uzun süre birbirimizi anlamayacağız.

RS işlevi, Girdi olarak Kapat[i]-Kapat[i-1]'den bir dizi ve dizi öğelerinin sayısını alır.

1. S[i-1] = Kapat[i]-Kapat[i-1] 0'dan N'ye kadar tüm i için

2. h[i] = log(S[i]/S[i-1])

3. Hn = Toplam h[i] h_cp = ortalama aritmetik. h

4. R = maks(h[i] - h_cp) - min( h[i] - h_cp ) S = 1/n * (h[i] - h_cp) RS = R / S

5
. Daha sonra, log RS (i) değerine sahip m-in noktaları vardır ve i için log i n_min'den bazı N'ye kadardır ve en küçük kareler düzdür.
 
Disa >> :
В общем давайте я расскажу свой алгоритм обсчета словами, а вы мне скажете пж где ошибка, а то мы так долго друг друга чуствую не поймем.

функция RS на вход принимает массив из Close[i]-Close[i-1] и число элементов массива

1. S[i-1] = Close[i]-Close[i-1] Для всех i от 0 до N

2. h[i] = log(S[i]/S[i-1]) - не стоит так делать, т.к. п.1 и п.2 в принципе одно и тоже в смысле подготовки данных для алгоритма. Действительно, вместо возвратов на вход можно подавать log(Close[i]/Close[i-1]), но подавать на вход логарифм отношения возвратов - это перебор, по-моему. Достаточно подавать что-нибудь одно - либо разницу цен, либо логарифм их отношений.

3. Hn = Сумма h[i] h_cp = ср.ариф. Hn

4. R = max(h[i] - h_cp) - min( h[i] - h_cp ) S = 1/n * (h[i] - h_cp) RS = R / S

5
. Далее стою м-во точек со значением log RS(i) и log i для i от n_min до некоторого N и МНК стоют прямую

в п.3-5 для начала не вижу оператора или описания, что вся выборка делится на N кусков размером M, что для каждого этого куска считается rs = (максимум наращиваемой суммы отклонений от среднего - минимум наращиваемой суммы отклонений от среднего) / сумму квадратов отклонений от среднего, и все они, эти rs, складываются, а потом делятся на N. Теперь Log(RS) и log(N) - это одна точка для МНК, которых надо насобирать побольше, подбирая разные N и М так, чтобы N*M=длина выборки всегда. На мой взгляд, запись п.4 полностью неверна.
 
Konuyu yükselteceğim) Teşekkürler Vita - c++ altında win32api yazdım ve her şey olması gerektiği gibi çalışıyor. Bu yöntemi sıklıkla kullanan kişiler için bir soru - gelen veri, varyans, korelasyon ve diğer istatistiklerin MB sayısından herhangi bir hata tahmini var mı?
Anladığım kadarıyla, 78 değer için - yani bir günlük çubuk için - katsayısının hesaplanmasında belirli bir nokta yok mu? Bazı değerler sıfıra eşitse ne yapacağımı hala anlamıyorum. Mesela fiyat farkını girdi olarak girersem 5 dakikadaki farkın 0'dan küçük veya 0'a eşit olduğu anlaşılır ama sonra log alınmaz. Negatifse (yani mutlak fark) değerin modülünü alma fikrim var ve 0 durumunda bu değeri h serisine koymayın.
 
Vita писал(а) >>

Gerçek test dosyası. H~0.72


Brown72.txt test dosyanızdaki zHursttExponent.mq4 göstergeniz 0.1647 verir . Bu ne için ?
Anladığım kadarıyla bu gösterge, son 2520 çubuk için her tikte Hurst üssünü hesaplar ve değeri yazdırır. Böyle ?
Bu göstergenin 4 arabelleği ne anlama geliyor ve neden ayrı bir pencerede gerekli?
Ve bir soru daha.

//---- main loop
for(int i=0; i<limit; i++)
{
}

//---- done

Gösterge kodundaki bu parçanın anlamı nedir?
 
Yurixx >> :


Brown72.txt test dosyanızdaki zHursttExponent.mq4 göstergeniz 0.1647 verir . Bu ne için ?
Anladığım kadarıyla bu gösterge, son 2520 çubuk için her tikte Hurst üssünü hesaplar ve değeri yazdırır. Böyle ?
Bu göstergenin 4 arabelleği ne anlama geliyor ve neden ayrı bir pencerede gerekli?
Ve bir soru daha.

//---- main loop
for(int i=0; i<limit; i++)
{
}

//---- done

Gösterge kodundaki bu parçanın anlamı nedir?

1. Sonucunuzu tekrarlayamam = 0.1647. Buna sahibim (=0.7241):



2. Evet, bu gösterge son 2520 çubuk için her tikte Hurst üssünü hesaplar ve değeri yazdırır ve yaklaşık bir düz çizginin (kırmızı çizgi) oluşturulduğu r/s noktaları (beyaz çizgi) çizer, eğimi bu istenen göstergedir - netlik için, ama benim için - algoritmanın doğruluğunun niteliksel bir görsel değerlendirmesi için. Tüm bunlar cRSGraphic = true olduğunda doğrudur, aksi takdirde gösterge son 250 çubuk için Hurst üssünü hesaplar.

3. 4 arabellek - bu bariz bir fazlalıktır, hata ayıklama ve test zamanından kalan bir kalıntıdır.
4. Boş bir döngü - p.3 ile aynı sorun. Silinebilir.

 
Disa >> :
Подниму ка тему) Спасибо Vita - написал win32api под c++ и все пашет как надо. Вопрос к людям которые часто применяли этот метод - есть какие-нибудь оценки погрешностей от числа входящих данных, дисперсии, корреляции и мб других стат.величин.
Как я понял вообще смысла особого нет считать коэффициент для 78 величин - т.е для однодневного бара? Так же по прежнему не понимаю что делать если какие-то величины равны нулю. Ну например если на вход подаю разность цен - понятное дело что разность за 5ть минут мб меньше или равны 0, но log тогда не берется. У меня есть идея брать модуль величины в случае если она отрицательна(т.е абсолютную разницу) а в случае 0 не заносить это значение в ряд h.

İşte hatanın dikkate alındığı bir seçenek. Ne yazık ki, bu mucize için C kaynak kodunu nereden çaldığımı bulamıyorum, ancak Feder E. Fraktallarına göre sayıldığını iddia ediyor. Onun için aynı dosya için H=0.6807 Testi yapın. Fena değil gibi görünüyor.

78 büyüklük için, bu en ağır olanıdır. Hurst'ün elli gözlem üzerinden nasıl değerlendirileceği üzerine birçok çalışma ayrılmıştır. Hesapları anlamadan bile farklı yazarlardan çok farklı sonuçlar alıyorsunuz. Bunda şaşırtıcı bir şey yok. Kaç algoritma - çok fazla gösterge :). Ve daha da fazla sorun - 1000 gözlemin ekli versiyonunda, hatayı dikkate alarak, fiyat hakkında hiçbir şey söylenemez - şu anda kalıcı mı yoksa değil mi, çünkü. 0,5, hata kanalı arasında yer alır (cRSGraphic=false ile kırmızı çizgiler).

Girdi olarak ya fiyat farkı ya da fiyat oranlarının logaritması verilmelidir.

Dosyalar:
 
Vita писал(а) >>

1. Sonucunuzu tekrarlayamam = 0.1647. Buna sahibim (=0.7241):

brown72.txt dosyasını eklediniz. Ancak, göstergeniz brown72.csv dosyasında test ediyor. Başka talimatların olmaması nedeniyle, onu yeniden adlandırdım ve \experts\files klasörüne koydum. İşte sonuç:
H1'de:


Keneler üzerinde:


Dosyanız 1024 değer içeriyor. İşte bunlardan ilk 4'ü:
45.47422
42.55601
46.5188
41.61502