0 Dołączył: 2011-02-10 Wpisów: 4
Wysłane:
10 lutego 2011 15:44:09
Witam Czytam właśnie książkę ,,Psychologia rynków finansowych'' i nie mogę do końca zrozumieć o co chodzi z cyklami o których pisze Plummer. Mają one służyć do prognozowania punktów zwrotnych. Moja wiedza na temat giełdy jest raczej mała więc proszę o wyrozumiałość i odpowiedź: jak się wyznacza te cykle (czy są jakieś wskaźniki analizy technicznej wyznaczające cykle?) i do czego służą te cykle? z góry dziękuję za odpowiedź
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
10 lutego 2011 16:11:55
cykle wyznacza się na podstawie dyskretnej transformaty Fouriera. Można to zrobić w programie do analizy jak Metastock, czy Amibroker. Darmowe narzędzia nie udostępniają takiej opcji.
|
0 Dołączył: 2008-11-17 Wpisów: 637
Wysłane:
11 lutego 2011 19:41:39
anty możesz rozwinąć jak działa ta transformata w odniesieniu do giełdy? Na wikipedii jest wytłumaczenie matematyczne, które niewiele mi rozjaśnia :/ Aktualnie: MRB(100%)
|
PREMIUM
0 Dołączył: 2008-10-07 Wpisów: 993
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
11 lutego 2011 21:23:10
Dapi, ja pisałem o transformacie Fouriera, a nie Fiszera... Transformata Fouriera pozwala przekształcić przebieg czasowy w widmo częstotliwościowe. Przebiegiem czasowym na giełdzie są zmiany ceny w czasie. Jeśli znasz rozkład widma, to jesteś w stanie o ile oczywiście występują wyodrębnić składowe dominujące. Te o największej amplitudzie będą miały teoretycznie największy wpływ na sygnał. Jak takie zdefiniujemy to ich częstotliwości będą miały wpływ dominujący. TEORETYCZNIE da się przewidzieć dalsze zachowanie przebiegu czasowego. W szczególności szacować długość cykli dominujących.
|
PREMIUM
0 Dołączył: 2008-10-07 Wpisów: 993
Wysłane:
11 lutego 2011 21:50:29
|
0 Dołączył: 2009-09-21 Wpisów: 4 615
Wysłane:
11 lutego 2011 22:56:30
Zastosowanie analizy częstotliwościowej do przewidywania przyszłości może się skończyć bardzo boleśnie. Równie dobrze można przewidywać dalszą część utworu muzycznego na podstawie peirwszych 30 sekund. Powiedzmy, że miałby sens skaner, który potrafiłby wyodrębnić składowe o niskiej i średniej częstotliwości, i zauważyć, że spółka akurat robi dołek, i pokazać to w jakiejś rubryczce w tabelce, ale to wszystko. The recovery in profitability has been amazing following the reorganization, leaving Barings to conclude that it was not actually terribly difficult to make money in the securities market.
|
0 Dołączył: 2008-09-18 Wpisów: 69
Wysłane:
11 lutego 2011 23:21:34
FFT - performs Fast Fourier Transform  kliknij, aby powiększyćkierując się tą sinusoidą, dużego błędu nie ma, strzałki na dolnym przeniesione z jej ekstremów
Edytowany: 11 lutego 2011 23:24
|
0 Dołączył: 2008-09-18 Wpisów: 69
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
11 lutego 2011 23:53:00
Trzeba tylko pamiętać, że widmo się zmienia w czasie, bo dochodzą nowe próbki... To, że teraz transakcje wydają się zyskowne i narzędzie Gralem to efekt zaczerpywania danych z przyszłości... Raz bierzesz je do wyznaczenia widma, a potem... z widma wyciągasz i sprawdzasz czy działało... Tak?
|
0 Dołączył: 2008-09-18 Wpisów: 69
Wysłane:
12 lutego 2011 00:14:40
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
12 lutego 2011 00:34:06
a możesz podać formułę? Z tego co jest w opisie ami moim zdaniem wynika, że FFT jest liczona dla n ostatnich wyrazów tablicy, a w przypadku 0 dla całej. Funkcja zwraca zespolone współczynniki transformaty. Nie wiem natomiast jak prezentowany jest wykres u Ciebie...
|
0 Dołączył: 2008-09-18 Wpisów: 69
Wysłane:
12 lutego 2011 00:41:08
to jest ten EXAMPLE z linka na żywca fft leght 124
|
0 Dołączył: 2008-09-18 Wpisów: 69
Wysłane:
12 lutego 2011 00:52:46
tutaj inna odmiana transformaty z widmem  kliknij, aby powiększyćKod://Fourier Transform for Traders PI = 3.1415926; Data = (H+L)/2; // detrending ( high-pass filter ) HFPeriods = Param("HP filter cutoff", 40, 20, 100 ); alpha1 = ( 1-sin(2*pi/HFPeriods) ) / cos( 2 * pi / HFPeriods ); HP = AMA2( Data - Ref( Data, -1 ), 0.5 * ( 1 + alpha1 ), alpha1 ); // 6-tap low-pass FIR filter CleanedData = ( HP + 2 * Ref( HP, -1 ) + 3 * Ref( HP, -2 ) + 3 * Ref( HP, -3 ) + 2 * Ref( HP, -4 ) + Ref( HP, -5 ) )/12; // Discrete Fourier Transform WindowSize = Param("Window Size", 50, 20, 100 ); Maxpwr = 0; x = BarIndex(); for( period = 8; period <= WindowSize; period++ ) { tx = 2 * pi * x / period; cosinepart = Sum( CleanedData * cos( tx ), WindowSize ); sinepart = Sum( CleanedData * sin( tx ), WindowSize ); pwr = cosinepart ^ 2 + sinepart ^ 2; Maxpwr = Max( Maxpwr, pwr ); VarSet( "pwr"+period, pwr ); } // Normalize and convert to decibels for( period = 8; period <= WindowSize; period++ ) { pwr = VarGet("pwr"+period); db = -10 * log10( 0.01 / ( 1 - 0.99 * pwr / Maxpwr ) ); db = Min( db, 20 ); // 'saturate' at -20db VarSet( "db"+period, db ); } Title = Name() + " HiRes DFT : "; // Plot Heat Map ( Spectrogram ) // and find dominant cycle DcNum = DcDenom = 0; for( k = 8; k <= WindowSize; k++ ) { db = VarGet("db"+k); // convert dB to color Red = IIf( db > 10, 255 * ( 2 - db/10 ), 255 ); Green = IIf( db <= 10, 255 * ( 1 - db/10 ), 0 ); PlotOHLC( k, k, k-1, k-1, "", ColorRGB( Red, Green, 0 ), styleCloud | styleNoLabel); if( SelectedValue( db ) <= 5 ) Title = Title + k + " = " + StrFormat("%.2lf",-db) + "dB, "; // dominant cycle calcs DcNum = DcNum + (db < 3 ) * k * ( 3 - db ); DcDenom = DcDenom + ( db < 3 ) * ( 3 - db ); } if( ParamToggle("Show Dom. Cycle?", "No|Yes" ) ) { DominantCycle = DcNum / DcDenom; Plot( DominantCycle, "Dominant Cycle", colorBlue ); Title = Title + "{{VALUES}}"; } GraphZOrder = 1;
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
12 lutego 2011 02:16:56
mike05 napisał(a):to jest ten EXAMPLE z linka na żywca fft leght 124 Bardzo ciężko mi się skupić, bo jestem na nogach 36godzin, ale wydaje mi się, że przykładowy kod działa tak: Liczy FFT dla ostatnich 124 kwotowań z pozbawionego trendu przebiegu cen. Z tego wyznacza za pomocą rachunku liczb zespolonych częstotliwość i przesunięcie. Na ich podstawie maluje od początku sinusika. Tak naprawdę trzeba sprawdzić jak się to sprawdza przed barcount-124. Od barcount-124, do barcount masz liczenie FFT i w tym miejscu musi najlepiej pasować... A nie pokazujesz chyba nawet pełnego przebiegu czyli 124 kwotowań. Jak piszę głupoty to zwal to proszę na karb godziny i mojej świadomości
Edytowany: 12 lutego 2011 02:18
|
PREMIUM
0 Dołączył: 2008-10-07 Wpisów: 993
Wysłane:
12 lutego 2011 08:08:24
Tak działa. Przecież musi dopasować się z cyklami do przeszłości. Problem z cykliczościa jest taki, że ona jest taka a taka a za chwilę jest inna. Szczególnie liczona w tak krótkich okresach czasu.
Edytowany: 12 lutego 2011 08:09
|
PREMIUM
522 Grupa: Zespół StockWatch.pl
Dołączył: 2008-10-24 Wpisów: 11 191
Wysłane:
12 lutego 2011 08:21:42
Ten przykład tak, ale wyobrażam sobie napisanie czegoś takiego: Liczę FFT przed FirstVisableBar. Rysuję sinusa. I patrzę jak to wygląda, bez zaciągania przyszłości, albo nawet bardziej hardcoreowo, czyli liczę FFT dla pierwszych n notowań i sprawdzam jak wygląda to na końcu... Do testów powiedzmy, że liczę z pierwszej połowy kwotowań, a testuję na drugiej... O to mi się rozchodzi  EDIT: Albo jeszcze inaczej: Liczę FFT dla pierwszych n notowań i testuję na kolejnych n. Potem zwiększam n. Zwiększenie n, pozwala na wyliczenie coraz większej ilości harmonicznych, przez co zwiększa się dokładność odwzorowania widma... Ponadto za zbrodnię uważam wycinanie najniższych harmonicznych, czyli trendu wyższego rzędu. To można wykorzystać do zawierania transakcji tylko w jego kierunku.
Edytowany: 12 lutego 2011 08:29
|
0 Dołączył: 2009-05-16 Wpisów: 457
Wysłane:
15 lutego 2011 22:20:40
Nie wglebialem sie jeszcze w temat na tyle na ile on zasluguje ale kodzik zamieszczony przez Mike'a nie siega w przyszlosc. Tak przynajmniej twierdzi checker/profiler Ami. Oby nigdy więcej drzewa nie przysłoniły mi lasu ... It’s just money. It’s made up.
|
PREMIUM
0 Dołączył: 2008-10-07 Wpisów: 993
Wysłane:
15 lutego 2011 22:27:38
Ale przeszłość maluje dopasowując sobie all :)) Robi najlepsze dopasowanie do danych z przeszłości więc lewa stronę ładnie widać :)) mathu to ładnie opisał... Znajdujemy tylko najlepiej dopasowany cykl /teoretycznie/ a co dalej bedzie to już jeden Wielki brat wie... Lewa strona więc zawsze bedzie ładna...
Edytowany: 15 lutego 2011 22:32
|
0 Dołączył: 2009-05-16 Wpisów: 457
Wysłane:
15 lutego 2011 22:40:06
"robi najlepsze dopasowanie do danych z przeszlosci" - taki zarzut mozna postawic nawet obliczaniu EMA ale ok. narazie nie bede filozofowal, jak znajde czas to wgryze sie w temat. Oby nigdy więcej drzewa nie przysłoniły mi lasu ... It’s just money. It’s made up.
|