Delphi-PRAXiS
Seite 10 von 11   « Erste     8910 11      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Goertzel Algorithmus (Frequenz + Phase) (https://www.delphipraxis.net/162396-goertzel-algorithmus-frequenz-phase.html)

phreax 27. Aug 2011 18:10

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Ich denke mal, dass das Problem hier in der Frequenzauflösung liegt.
Die Frequenzauflösung deiner DFT hängt von der Anzahl der betrachteten Abstastwerte und der Abtstfrequenz ab:
Code:
n: Anzahl der transformierten Abtastwerte
fa: Abtastfrequenz
Frequenzauflösung: fr=fa/n
Dein Spektrum besteht dann aus verschiedenen Frequenzkörben (frequency bins) die im Abstand fr liegen.
Wenn du jetzt nicht genau einen Korb bei 175 Hz liegen hast, dann werden die zu 175,5 Hz gehörigen Spektralwerte eben in den 175 Korb sortiert. Eine höhere Frequenztauflösung bekommst du also nur wenn du längere Signalabschnitte betrachtest.

EDIT: Das Problem tritt übrigens unabhängig vom verwendeten Algorithmus auf.

TiGü 28. Aug 2011 11:28

AW: Goertzel Algorithmus (Frequenz + Phase)
 
...als ob es so dermaßen relevant wäre, ob bei der "Analyse" von Finanzrauschen die eine Nachkommastelle der Frequenz erkannt wird oder nicht. :roll:

Blick auf das Wesentliche nicht verlieren.

stoxx 28. Aug 2011 12:31

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von phreax (Beitrag 1119931)
schiedenen Frequenzkörben (frequency bins) die im Abstand fr liegen.

ja .. das scheint wohl so zu sein, habe mittlerweile gelesen, dass man die FFT empfielt um aber dann später in Kombination mit dem Goertzel genauer zu suchen.

@TiGü .. nun, bei 100.000 Datensätzen kannst Du selber ausrechnen, wie schnell Du eine falsche Phase am ende der Daten hast, wenn Du mal schnell eine halbe Frequenz "ignorierst"
nun .. da Mathe Deine Stärke ist, wirst Du das sicher schnell rausbekommen :)

TiGü 30. Aug 2011 22:42

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von stoxx (Beitrag 1119984)
ja .. das scheint wohl so zu sein, habe mittlerweile gelesen, dass man die FFT empfielt um aber dann später in Kombination mit dem Goertzel genauer zu suchen.

Wo hast du das gelesen?
In welchen Kontext?
Link / Buchtitel?

Zitat:

Zitat von stoxx (Beitrag 1119984)
@TiGü .. nun, bei 100.000 Datensätzen kannst Du selber ausrechnen, wie schnell Du eine falsche Phase am ende der Daten hast, wenn Du mal schnell eine halbe Frequenz "ignorierst"
nun .. da Mathe Deine Stärke ist, wirst Du das sicher schnell rausbekommen :)

Ganz ehrlich?

Dir fehlt das Hintergrundwissen, um dein Vorhaben vernünftig umsetzen zu können und falls es dir doch irgendwie gelingt, die Ergebnisse vernünftig zu interpretieren. In dem von dir geposteten Kurs (die große Textdatei) hast du ein Signal mit einer ganzen Latte von Spektralkomponenten!
Kannst du abschätzen wie das Spektrum ungefähr aussieht? Oder von einen periodschen Dreieckssignal? Einen periodschen Rechtecksignal? Von einen Dirac-Implus?
Irgendwer hat ein paar Seiten vorher erwähnt, dass es schon seinen Grund hat, warum Leute das semesterweise studieren, um nur die nötigsten (!!!) Grundlagen drauf zu haben.

Im Anhang von oben nach unten:
Orginalsignal (Zeit in Sekunden)
Betrag des Spektrums (log. Darst.)
Alle Spektralkomponenten wurden auf Null gesetzt bis auf die ersten 40 (log. Darst.)
Rekonstruiertes Signal aus den 40 Spektralkomponenten

Medium 31. Aug 2011 00:25

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Letztlich geht es wohl darum, aus historischen Kursdaten Regelmäßigkeiten zu erkennen. Also schaut man sich genau die Bänder an, deren Amplitude vergleichsweise groß ausfällt, nimmt sich die größte davon, und investiert in das betrachtete Papier zu einer "Tal-Zeit". Da man die Phase, Frequenz und Investitionszeitpunkt kennt, existiert zudem eine Prognose für wann man aus dem Papier wieder aussteigen sollte, nämlich am folgenden Berg.
Problematisch wird es da vor allem eine tatsächlich valide ("signifikante" - im statistischen Sinne, nicht im umgangssprachlichen Sinne) Regelmäßigkeit aufzudecken, was gerade bei den (interessanten, wil mit weniger Transaktionskosten behafteten) niedrigen Frequenzen liegt. Für diese ist das Sampleset nämlich eher gering, so dass es fragwürdig wird von einer wirklichen Gesetzmäßigkeit zu sprechen.
Ich gebe zu anfangs von dem Verfahren (für die Wirtschaftsanalyse) angetan gewesen zu sein, jedoch bin ich nach etwas Überlegen und Überschlagen eher der Meinung, dass man selbst bei 20 Jahren Historie da drin zu wenig Signifikanz erreichen kann, um darauf basierend eine saftige Hand voll Geld zu riskieren. So ein Spektrum kann mit nur einer Woche Daten mehr schon wieder völlig anders aussehen, vor allem in den niedrigeren Frequenzen, die aufgrund ihrer vergleichsweise sehr hohen Amplitude wohl die einzig relevanten sein dürften.
Das Ganze wird also meiner Meinung nach bestenfalls ein "ganz netter" Indikator, aber die darauf basierende Handlung würde ich nach wie vor als "höchst spekulativ" bezeichnen, sicher nicht als "gut informiert". In einem ganzen Katalog von Indikatoren ist das aber sicherlich eine sinnvolle Ergänzung - vorausgesetzt man weiss was man tut, und kann das Getane sinnvoll interpretieren ;)

stoxx 15. Sep 2011 22:07

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von TiGü (Beitrag 1120476)
Link / Buchtitel?

nach langer Zeit ...
den Link finde ich jetzt leider nicht mehr ! tut mir Leid




Zitat:

Zitat von TiGü (Beitrag 1120476)
Dir fehlt das Hintergrundwissen, um dein Vorhaben vernünftig umsetzen zu können und falls es dir doch irgendwie gelingt, die Ergebnisse vernünftig zu interpretieren. In dem von dir geposteten Kurs (die große Textdatei) hast du ein Signal mit einer ganzen Latte von Spektralkomponenten!

das wäre nicht schlimm.


Zitat:

Zitat von TiGü (Beitrag 1120476)
Kannst du abschätzen wie das Spektrum ungefähr aussieht? Oder von einen periodschen Dreieckssignal? Einen periodschen Rechtecksignal? Von einen Dirac-Implus?

nur bedingt .. natürlich hat jeder Tradingtag einen 24h Rhythmus .. der der Daytrader, die früh morgens alle in den Markt investieren, aber abends den Markt genauso wieder verlassen.

Zitat:

Zitat von TiGü (Beitrag 1120476)
Im Anhang von oben nach unten:
Orginalsignal (Zeit in Sekunden)
Betrag des Spektrums (log. Darst.)
Alle Spektralkomponenten wurden auf Null gesetzt bis auf die ersten 40 (log. Darst.)
Rekonstruiertes Signal aus den 40 Spektralkomponenten

nich schlecht !!
das alles hast Du einzig mit der FFT geschafft? Oder was genau hast Du jetzt verwendet?
Wie hast Du es hinbekommen, dass Du auch die große langsame Schwingung (niedrige Frequenzen) gut abbilden konntest?
Hast Du jetzt dabei die Schwingung um einen Mittelkurs verwendet oder einfach das Signal unverarbeitet hineingeschoben?

liebe Grüße
stoxx

TiGü 16. Sep 2011 05:36

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von stoxx (Beitrag 1124734)
nich schlecht !!
das alles hast Du einzig mit der FFT geschafft? Oder was genau hast Du jetzt verwendet?
Wie hast Du es hinbekommen, dass Du auch die große langsame Schwingung (niedrige Frequenzen) gut abbilden konntest?
Hast Du jetzt dabei die Schwingung um einen Mittelkurs verwendet oder einfach das Signal unverarbeitet hineingeschoben?

Lad dir einfach Scilab runter, dann ist das eine Sache von 3 bis 20 Sekunden (je nach Rechenleistung deines Computers).

Es ist sehr einfach.
Die Textdatei wird etwas angepasst (Komma zu Punkt etc.) und eingelesen. Damit steht sie als Datenvektor zur Verfügung.
Nun einfach ploten, wie in Excel (Bild 1). Der Datenvektor wird transformiert mit fft_data = fft(Datenvektor).
Log. Absolutdarstellung der Amplitude bis zur Hälfte der Abtastfrequenz ist dann auch nur noch ein weiterer Plot-Befehl.
fft_data bis auf die Inhalte der Indizies 1 bis 40 wird auf Null gesetzt(Bild 3). Zurücktransformiert ergibt es Bild 4.

In der Summe um die 20 Zeilen Quellcode...tatadadaaa!

Für jedes Problem immer das richtige Werkzeug wählen.

Sicherlich könnte man das auch mit den Programmiersprachen Brainfuck oder Whitespace lösen, da beide voll Turingfähig, aber es ist nicht sinnvoll! 8-)

stoxx 16. Sep 2011 08:14

AW: Goertzel Algorithmus (Frequenz + Phase)
 
oki .. ich lads mir mal runter :) wird aber erst nächste Woche.
Dann frag ich sicher nochmal.
Der Goertzel hatte wie gesagt seine probleme mit tiefen Frequenzen, so dass die großen HAuptbewegungen verrutschen.
die beschäftigung mit dem Algo hatte aber was positives, ich hatte andere gute Ideen :)
Denke aber, dass da noch mehr drin sein könnte.
Übrigens hat Deine Kursprognose zugetroffen. (war es überhaupt eine? )
Man müsste nun mal jede Woche einen Sliding Forward Test machen.

Also jedenfalls ist der EURUSD wirklich gefallen.
das verblüffende ist auch, dass der Winkel stimmte.
die Frage ist allerdings, ob das wirklich schon eine Prognose war, oder ein simpler Rechenfehler an den Rändern .. *überleg*
(kann natürlich zufall sein, müsste man anhand hunderter Trades mal verifizieren)

TiGü 16. Sep 2011 08:41

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von stoxx (Beitrag 1124781)
Übrigens hat Deine Kursprognose zugetroffen. (war es überhaupt eine? )

??? Du meinst den fallenden Verlauf am rechten Rand des vierten Bildes?
Das sind unvermeidliche Darstellungsfehler, wenn man von zigtausend Spektralkomponenten nur ein paar Dutzend verwendet.
Je höher die Frequenz, desto höher ist der Informationsgehalt (Audio: Wiedergabequalität und Klangtreue etc. / Video: Schärfe im Bild).

Sowas meinte ich übrigens, als ich schrieb, dass dir die Grundlagen fehlen, um eventuelle spätere Ergebnisse richtig interpretieren zu können.

stoxx 16. Sep 2011 14:41

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von TiGü (Beitrag 1124792)
??? Du meinst den fallenden Verlauf am rechten Rand des vierten Bildes?
Das sind unvermeidliche Darstellungsfehler, wenn man von zigtausend Spektralkomponenten nur ein paar Dutzend verwendet.


ja genau das meinte ich. Und das bekommt man auch nicht weg?
Dann scheint das Verfahren für meine Zwecke unbrauchbar zu sein. Dachte ich mir schon. "Sinus" ist etwas sehr starres um Zykliken zu bestimmen.
Das passt so nicht vermutlich..


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Seite 10 von 11   « Erste     8910 11      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz