Monday 20 November 2017

Neuronale Netzwerke Forexworld


MetaTrader 5 - Integration Offenlegungen von C-Code in MQL5 mppl nicht gemanagter Exporte Einleitung Lange Zeit wie ich nach einer einfachen C-DLLs in MQL5 zu nutzen. Nach der Lektre zahlreicher Beitrge war ich bereit, ein C-Wrapper fr gemanagte DLLs zu nutzen, wie ich auf eine brillante Lsung stie, die mir viele Stunden Arbeit ersparte. C - Code für die Verwendung in einer ungemanagten Anwendung. In diesem Beitrag werde ich einen Hintergrund zu gemanagten DLLs liefern, beschreiben, warum kein direkter Zugriff aus MetaTrader verschwindet. Ich würde mich freuen, wenn du mir helfen würdest. C-DLL-Codes in MetaTrader 5 zu nutzen. 1. Gemanagter und ungemanagter Code Da den meisten Lesern der Unterschied zwischen gemanagtem und ungemanagtem Code vermutlich nicht bekannt ist, beschreibe ich in einigen wenigen Stzen. Fr die Umsetzung von Handelsregeln, Indikatoren, Expert Advisors und Scripts nutzt MetaTrader grundstzlich die MQL-Sprache. Allerdings kann man auch in anderen Sprachen verwenden. Diese Bibliotheken werden auch als DLLs oder Dynamic Link Libraries bezeichnet. Die Bibliotheken sind im wesentlichen binäre Dateien, die kompilierte Quellcodes beinhalten, die durch eine Reihe externes Programm aufgerufen werden knnen, um bestimmte Operationen durchzufhren. Beispielsweise knnen neuronale Netzwerkbibliotheken Funktionen fr Schulen und Tests fr neuronale Netzwerke exportieren, Derivatbibliotheken knnen Berechnungen verschiedene Derivate exportieren, Matrixbibliotheken knnen Operationen auf Matrizen exportieren. DLLs von MetaTrader werden immer beliebter, da es sich um Teile der Implementierung von Indikatoren oder Expert Advisors auszublenden. Einer der Hauptgrnde fr die Verwendung von Bibliotheken ist die Wiederverwendung von kommenem Code, ohne ihn immer wieder neu implementieren zu mssen. Vor der Einfhrung von. NET alle DLLs, sterben in Visual Basic, Delphi, VC kompiliert wurden, sei es COM. Win32 oder gewhnliches C, direkt durch das Betriebssystem ausgefhrt werden. Deutsch - Übersetzung - Linguee als Übersetzung von. Dann erschient. NET und lieferte eine vllig andere Art von Umgebung. Der Code wird durch. NET Common Language Runtime (CLR) kontrolliert (oder gemanagt). CLR-Compiler aus dem Quellcode Code, der in den verschiedenen Sprachen geschrieben sein kann, und Metadaten in Common Intermediate Language (CIL). CIL ist eine maschinenunabhngige bergeordnete CIL gem der Common Type Specification (CTS) beschrieben werden. Sie haben eine Frage. Ausfhrungsumgebung bereitstellen. Das Management kann als Garbage Collection automatische Speicherverwaltung, Objektlschung und Gewährleistung von Sicherheit betrachtet werden, die vor hufigen Fehlern in nativen Sprachen schtzt, die zur Ausfhrung von Fremdcode mit Administratorrechten oder einfach zum berschreiben des Speichers fhren knnten. Es muss erwhnt werden, dass CIL-Code niemals direkt ausgefhrt wird. Er wird durch JIT-Kompilierung (Just-In-Time) oder eine Vorabkompilierung von CIL in nativen Maschinencode bersetzt. Fr jemanden, stirbt die erste Mal, liest, kann die Vorstellung eines gemanagten Codes verwirrend erscheinen. Daraus folgt, dass es sich hierbei um eine Reihe von Methoden handelt, die in der vorliegenden Arbeit aufgeführt sind. Ich denke, sie werden alle erweitert, weil andere Nutzer mchten. Diebe Methoden sind COM Interop, Reverse PInvoke, C IJW, CCli Wrapperklasse und Unmanaged Exporte. Component Object Model (COM) ist ein binrer Interface-Standard, der von Microsoft in den frhen Neunzigern eingefhrt wurde. Die Grundidee dieser Technologie ist in anderen Programmiersprachen, die in anderen Programmiersprachen erstellt wurden, durch jedes andere COM-Objekt zu. Diese Anforderung wird von der Implementierung getrennt. Tatschlich wurde COM durch die. NET-Technologie berholt und Microsoft drngt auf die Nutzung von. NET anstelle von COM. Um die Abwrtskompatibilitt mit lterem Code zu ermässt kann. NET in beiden Richtungen mit COM kooperieren, das heit. NET kann COM-Methoden aufrufen und COM-Objekte gemanagten. NET-Code nutzen. Diese Funktion heit COM-Interoperabilitt oder COM Interop. Die COM-Interop-API befindet sich im gemanagten Namensraum System. Runtime. InteropServices. Abbildung 2. Modell der COM-Interoperabilität Der folgende COM-Interop-Code ruft die Einzelfunktion rawfactorial auf. Bitte beachten Sie die Funktionen CoInitialize (), CoCreateInstance () und CoUninitialize () und die Aufruffunktion des Interfaces: Bitte lesen Sie mich Habe: wie man den C - Code von Managed aufruft und umgekehrt (Interop) (englisch). 2.2. Reverse PInvoke Platform Invoke, auch PInvoke genannt, ermglicht es. NET, jede beliebige Funktion in jeder ungemanagten Sprache aufzurufen, solange ihre Signatur neu deklariert wird. Dies wird durch die Ausfhrung eines nativen Funktions-Pointers aus. NET bewerkstelligt. Die Anwendung wird unter Lernprogramm von der Plattformaktivierung ausfhrlich beschrieben. Die umgekehrte Vorlage kann als Bereitstellung einer gemanagten delegierten Callback-Funktion von nicht gemanagten Code beschrieben werden. Dies wird als Reverse PInvoke bezeichnet und wird durch die Implementierung einer ffentlichen delegierten Funktion in einer gemanagten Umgebung und den Import der aufrufenden Funktion in der nativen DLL erreicht: Das wichtigste Merkmal dieser Lsung ist es, dass sie Voraussetzt, dass die gemanagte Seite die Interaktion einleiten. C Interop, auch als es nur funktioniert (IJW) bekannt, ist eine C-spezifische Funktion aus Managed Extensions für C: Diese Lsung kann ntzlich sein, wenn Sie Ihr gemanagtes C in einer nicht gemanagten Anwendung verwenden mchten. Bitte lesen Sie die Details dazu unter Interoperabilität in Managed Extensions für C und Verwendung von IJW in Managed C (englisch). 2.4. CCli-Wrapper-Klasse Die Implementierung der CCli-Wrapper-Klasse wurde durch die Einbetten oder Wrapping einer gemanagten Klasse im C-Cli-Modus geschrieben. Der erste Schritt zum Schreiben des DLL-Wrappers ist das Schreiben der C-Klasse, die die Methoden der ursprnitz gemanagten Klasse umschliet. Die Wrapper-Klasse muss ein Handle des. NET-Objekts mit dem Template gcrootltgt enthalten und alle anzeigen aus der ursprnades Klasse delegieren. Die Wrapper-Klasse wird im IL-Format (Zwischensprache) kompiliert und vergleicht sich als gemanagt. Der nchste Schritt ist das Schreiben der nativen C-Klasse mit der ungemanagten Direktive pragma, die die IL-Klasse umschliet und alle Aufrufe durch die Direktive declspec (dllexport) delegiert. Mit diesen Schritten wird die native C-DLL erstellt, die durch jede ungemanagte Anwendung genutzt werden können kann. Bitte sehen Sie sich das Umsetzungsbeispiel an. Der erste Schritt ist die Umsetzung des C-Codes. Die Beispielklasse Rechner enthlt Zwei öffentlich-Methoden: Der nchste schritt ist das Schreiben Eines gemanagten Wrappers, der alle Methoden aus der Rechner-Klasse delegiert: Bitte beachten Sie, Dass der Verweis auf sterben ursprngliche Calculator-Klasse mithilfe der Instruktion gcnew und als Vorlage gcrootltgt Gespeichert wird. Alle eingeschlossenen Methoden knnen die gleichen Namen haben wie die Originale und die Parametern und Ausgabewerten wird Param bzw. Rückgabe vorangestellt. Nun muss die ungemanagte C-Klasse, die die CCli umschliet und die native C-DLL exportiert, implementiert werden. Die Kopfzeilendatei muss die Klassendefinition mit der Direktive declspec (dllexport) enthalten und den Zeiger zur Wrapper-Klasse speichern. Und ihre Implementierung: Eine ausfhrliche Anleitung zur Erhebung. Eine vollstndige Anleitung unter der Migration von. NET und nativem Code (englisch). Allgemeine Informationen zum Deklarieren von Handles in systemeigenen Typen. 2.5. Unmanaged Exporte Diese Technik wird im Buch Expert. NET 2.0 IL Assembler. Das ich alle, der ber Details des. NET-Compilers nachlesen mchte, ans Herzsatz mchte, vollstndig beschrieben. Die Grundidee ist die Offenlegung gemanagter Methoden als ungemanagte Exporte einer gemanagten DLL durch die Dekompilierung eines bereits kompilierten Moduls in IL-Code mithilfe von ILDasm, die Nderung der Tabellen VTable und VTableFixup des Moduls und die erneute Kompilierung der DLL mithilfe von ILAsm. Diese Aufgabe ist abschreckend wirken, aber das Ergebnis ist eine DLL, die in jeder beliebigen ungemanagten Anwendung genutzt werden können kann. Man muss an denken, dass es immer noch um einen gemanagten Aufbau handelt, muss auch. NET Framework installiert sein. Ein Schritt-fr-Schritt-Tutorial hierzu steht unter Export Managed Code als Unmanaged (englisch) zur Verfgung. Nach der Dekompilierung der DLL durch ILDasm erhalten wir den Quellcode in der IL-Sprache. Die Zeilen des IL-Quellcodes, sterben fr sterben umsetzung ungemanagter Exporte Verantwortlich Sind, Sind: Bitte Sehen Sie Sich das unten abgebildete Einfache beispiel Eines IL-Codes Mit ungemanagtem ein Export im Ersten Teil Wird der Eingangspunkt in der Tabelle VTableFixup und sterben setting der Virtuellen Adresse VT01 in der Funktion. Der zweite Teil legt fest, welche VTEntry für diese Funktion exportiert wird. Die Vorteile dieser Lsung sind, dass wir whrend der Implementierungsphase der DLL keinen zustzlichen Code, abgesehen von der blichen gemanagten C-DLL, implementieren mssen und, wie es im Buch verdeutlich wird, dass diese Methode die gemanagte Welt mit allen ihrer Sicherheit und ihre Klassenbibliotheken Fr ungemanagte Kunden vollstndig ffnet. Der Nachteil ist, dass die Arbeit mit der. NET-Assemblersprache nicht fr alle geeignet ist. Ich kriege, dass ich eine K-Wrapper-Klasse schreibe. Diese Vorlage ermöglicht die Verwendung von nicht verwalteten Exporten ohne die Notwendigkeit, sich mit IL-Code auseinanderzusetzen. 3. Unmanaged-Exports-Vorlage in C Die Unmanaged-Exports-Vorlage für C-Projekte von R. Giesecke nutzt MSBuild Aufgabe. Das automatisch die erforderlichen VT-Anpassungen nach dem Aufbau einfgt, sodass der IL-Code keine Anpassung mehr bentigt. Das Vorlagenpaket muss nur als Zip-Datei heruntergeladen und in den ProjectTemplates-Ordner von Visual Studio kopiert werden. Nach der Kompilierung des Projekts kann die entstandene DLL-Datei problemlos von MetaTrader importiert werden. Beispiele dafr stelle ich in den folgendengenden Abschnitten bereit. Es war Ziemlich Schwierig, herauszufinden, Wie Variablen, Arrays und Strukturen between MetaTrader und C mithilfe der korrekten Rangierung-Methode bergeben Werden, und ich denke, sterben hier bereitgestellten Informationen Werden you viel Zeit ersparen. Alle Beispiele wurden unter Windows Vista mit. NET 4.0 und Visual C Express 2010 kompiliert. Ich habe auch eine Beispiel-DLL mit MQL5-Code an, die Funktionen aus der C-DLL aufruft. 4.1. Beispiel 1. Addieren von zwei Variablen der Typen integer, double oder float und Ausgeben des Ergebnisses in MetaTrader Ihnen drfte aufgefallen, dass alle exportierten Funktion die Direktive DllExport vorangestellt wird. Der erste Parameter beschreibt das Alias ​​der exportierten Funktion und der zweite Parameter bestimmt die Aufrufkonvention. Fr MetaTrader mssen wir CallingConvention. StdCall verwenden. Der MQL5-Code, der die aus der DLL exportiert Funktionen importiert und nutzt, ist einfach und unterscheidet sich nicht von anderen in nativem C geschriebenen DLLs. Als erstes mssen die importierten Funktionen innerhalb des Blocks importieren deklariert und bestimmt werden, welche Funktionen aus der DLL aus dem MQL5-Code genutzt werden knnen: 4.2. Beispiel 2. Zugriff auf eindimensionale Arrays. Die Arrays müssen die direkten MarshalAs UnmanagedType. LPArray als ersten Parameter und SizeParamIndex als zweiten Parameter bergeben. SizeParamIndex bestimmt, welche Parameter (ab 0) der Parameter ist, der die Array-Gre enthlt. In den oben aufgefhrten Beispielen ist der Array-Gre und der Index der ausgewanderten Elemente. Hier sehen Sie einen Beispiel-MQL5-Code, der den Zugriff auf einen Array nutzt: 4.3. Beispiel 3. Befllen eines eindimensionalen Arrays und Rckgabe an MetaTrader Dieses Beispiel nutzt zwei Eingabe-Arrays zum Vergleich der Konvention der Eingabeparameter. Falls es sich um einen MetaTrader handelt, wird der MetaTrader nachzuweisen, die Attribute in, Out, dem Attribut MarshalAs voranzustellen. 4.4. Beispiel 4. zugriff auf zweidimensionale Arrays Die bergabe zweidimensionaler Arrays Ist nicht so einfach, Trick genutzt doch ich habe einen, nmlich bergabe des 2D-Arrays als eindimensional und den zugriff auf Array-Elemente Durch Die Hilfsfunktion idx sterben. 4.5. Beispiel 5. Ersetzen von String-Inhalten of this beispiel ist Ziemlich kurz, doch es hat lange gedauert, es umzusetzen, da ich ohne Erfolg Versucht habe, den String-Parameter mithilfe der In Attribut, Lage oder der Schlsselbegriffe ref oder out zu Verwenden. Die StringBuilder anstatt der Variable String. 4.6. Beispiel 6. Senden und ndern der MqlTick-Struktur Die MqlTick-Struktur wird per Verweis bergeben und durch den Schlsselbegriff ref markiert. Der MqlTick-Struktur selbst muss das Attribut StructLayout (LayoutKind. Sequential, Pack 1) vorangestellt werden. Der Parameter Pack beschreibt den Datenabgleich in der Struktur. Weitere Details finden Sie unter StructLayoutAttribute. Pack Field. In diesem Beitrag stelle ich verschiedene Interaktionsmethoden zwischen MQL5-Code und gemanagtem C-Code vor. Ich habe auch mehrere Beispiele dafr bereitgestellt, wie MQL5-Strukturen gegen C angeordnet werden und wie sich exportierte DLL-Funktionen in MQL5-Skripten aufrufen lassen. Ich bin berzeugt, dass die DLLs in gemanagtem Code dienen knnen. Dieser Beitrag funktioniert auch in C implementierter Bibliotheken in MetaTrader. Weitere Details finden Sie hier. Zu Beitrgen mit englischen Titeln existieren keine deutschen bersetzungen. Zu den deutschen Versionen der Verlinkten Beitrge gelangen Sie, uns in der URL durch de-de ersetzen. Bitte klicken Sie hier, um deutsche Resultate anzuzeigen. Keine exakten Resultate. Ähnliche Übersetzungen anderer Leute:. Englisch: v3.espacenet. com/textdoc? DB = EPODOC & ... PN = Neuronaler Netzwerke vorherzusagen. Die empirischen Analysen der Ergebnisse laumlszligt erwarten, daszlig neuronale Netzwerke die Prognose von Aktienkursen (und allgemeiner: die Prognose chaotischer Zeitreihen) bei einer gleichzeitigen Verbesserung der theoretischen und praktischen Instrumentarien zukuumlnftig erheblich verbessern koumlnnten. Neuronale Netzwerke erleben zur Zeit. Die Gruumlnde dafuumlr Sind, (..) this Intelligenten Netzeke selbstaumlndig Zusammenhaumlnge Erkennen und lernen koumlnnen sterben ansonsten nur sehr schwer Explizit zu formulieren Sind. Der Schwerpunkt lag im Bankenbereich Um eine realistische Einschaubildung der Leistungsfaumlhigkeit neuronaler Netzwerke zu erhalten, haben wir umfangreiche Analysen mit verschiedenen Modellen neuronaler Netzwerke durchgefuumlhrt. Der Anwendungsschwerpunkt lag dabei im Bankenbereich. Es sollte empirisch untersucht werden, ob konventionell sehr komplexe Probleme mit neuronalen Nutzen geloumlst werden koumlnnen (..) welche Probleme dabei entstehen. Als Pruumlfstein diente uns die technische Aktienanalyse und hier speziell die kurzfristige, das heiszligt tageweise, Kursprognose von Aktien. Der Grund fuumlr die Wahl der Anwendung. Diese Bemühungen wurden trotz anfälliger Erfolge nicht ermutigend. Der Aufwand, der benoumltigt wird, das fuumlr die Kursprognose relevante Wissen zu akquirieren, umzusetzen und zu aktualisieren, waumlre enorm gewesen. Daher gaben wir diesen Ansatz zunaumlchst auf. Die Idee, das Problem der Kursprognose alternativ mit neuronalen Netzen die Prognosezeitraum ist. Liegt die Prognosegrenze innerhalb weniger Minuten oder Stunden, siehe die Kurse wie vertauschte Signale aus. Selbst die tageweise Prognose, die wir genauer untersucht haben, muszlig starke kurzfristige Schwankungen beruumlcksichtigen und kann daher nur sehr begrenzt von den Methoden der klassischen technischen Aktienanalyse Gebrauch machen (es kommt nur sehr selten zu solch klassischen Gebilden wie Kopf Schulter-Formationen oder W - und M-Formationen, zudem Werden Nacken - und Widerstandslinien praktisch taumlglich durchbrochen, und Trendkanaumlle koumlnnen nur selten uumlber Mehrere Tage Informationen angegeben Werden. Konventionelle Prognose-Methoden Arbeiten Dort Besten bin, weh Kursverlauf ohne verlust der der Vorhersagerelevanz Durch statistische Elle Verfahren geglaumlttet Werden Kann. Dies ist bei mittelfristigen Anlagen ETWA fuumlr Privatanleger, sterben Aktien gewoumlhnlich uumlber Mehrere Wochen und Monate halten, sinnvoll realistisch und. Gute Statistikprogramme liefern fuumlr this bereiche Trefferquoten fuumlr Prognose sterben um 60 Prozent (plusmn10 Prozent). Groszliganleger und Haumlndler Stehen Aber in der Regel vor Einems other Problem. Sie wollen und muumlssen groszlige Mengen von. Der Gewinn kommt hier aber nicht bei den privaten Anleger durch den moumlglichst hohen Kurszuwachs. Da sterben Kursschwankungen bei Sölch Kurzen Zeitraumlumen Aber in der Regel nur sehr gering Sind (gewoumlhnlich nur Wenige Mark), wuumlrden statistische Elle Verfahren, sterben zur Prognose sterben Kurse Zu stark glaumltten, gerade das vernachlaumlssigen war kurzfristige Vorhersage von zentraler bedeutung ist fuumlr sterben: die Kleine Kursverläufe. - Deutsch - Übersetzung - Linguee als Übersetzung von "Signalerkennungsproblem" vorschlagen Linguee - Kurve von uns als Signale interpretiert, die verrauscht sind, Das vertauschte Signal nach unserer Interpretation das tatsaumlchliche Signal. Das tatsaumlchliche Signal ist die versteckte Kurstendenz, die es zu erkennen und zu prognostizieren vergoldet. Obwohl of this Ansatz letztlich ebenfalls Auf eine - WENN Auch sehr viel feinere - Glaumlttung der Aktienkurse hinauslaumluft, hat doch der Ansatz mit neuronalen Netzen EINEN erheblichen und unschaumltzbaren VORTEIL gegenuumlber Statistischen Methoden: Jedes Statistikprogramm muszlig Explizit alle factors, es sterben Prognose beruumlcksichtigt, zuvor fuumlr sterben Wissen Der Programmierer oder die Aktienanalytikerin alle als relevant betrachteten Einfluszliggroumlszligen angeben, die in der Berechnung mit einflieszligen sollen. Ein neuronales Netz hingegen kann relevant sein Abhaumlngigkeiten und Einfluszliggroumlszligen bei geschicktem Training und Design selbstaumlndig erkennen Es kann daher zusammenhängende Zusammenhänge in der Form beruumlcksichtigt. Deutsch - Übersetzung - Linguee als Übersetzung von "luminosum" vorschlagen Linguee - Wörterbuch Deutsch - Englisch ausschließlich englische Resultate für. Diese Eigenschaften neuronaler Netze. Als Tools setzten wir mehrere Software-Simulationsprogramme fuumlr neuronale Netzwerke ein. Darunter waren Neural Works Professional II (Neural Ware) und NeuroShell (Ward Systems Group, Inc.). Zur Umsetzung der Ein-Ausgabe, der Prozeszligkommunikation zwischen den Werkzeugen, der Handhabung der Lern - und Rezirkall-Daten, der Trefferauswertung, der Statistik und der Darstellung der Ergebnisse zusaumltzlich noch zirka 3000 Codezeilen in C zu realisieren. Wir haben die Prognosefaumlhigkeit neuronaler Netze an mehreren Netzwerkmodellen untersucht. Unter anderem ein Adaline-Netzwerk, ein Madaline-Netzwerk (Abbildung 1), ein Perceptron-Netzwerk und ein Bach-Propagation-Netzwerk (siehe Abbildung 2). Als Test - und Trainingsdaten haben wir drei zufällige gewichtelamte Aktiencharts verwendet: BASF, Commerzbank und Mercedes. Der Trainingszeitraum fuumlr die Netzwerke betrug 40 Tage (vom 9.2.89 bis 18.4.89). Prognostiziert nach den 40 Trainierten Tagen. Die Eingabedaten muumlssen normiert jedes Netzwerk-Typ enthält eine gewisse Normierung der Eingabedaten voraus. So kann zum Beispiel ein Perceptron-Netzwerk nur binaumlre Eingaben (0 und 1) verarbeiten, ein Adaline-Netzwerk nur 1 und -1. Sich in einem ersten Schritt zunehmend verhalten Zu Linearisieren, wie der Fachausdruck heiszligt. Zudem mussten die Eingabedaten festgelegt werden. Als eingabedaten haben wir pro Kurs an die Netzwerke angelegt: - K den aktuellen Kurs des Vortag - VV die Verströmung des Kurses zum Vortag - die RV die Richtung der Veraumlnderung zum Vor-Vortag - G Gravierende Veraumlnderungen gt 1 Prozent zum Vortag. Einige daraus resultierende Linearisierungen sind in Abbildung 3 dargestellt. Der Eingabevektor fuumlr die Netzwerke in den meisten Testfaumlllen eine Breite von 40, das heiszligt, bei jedem Lernschritt wurden 40 Daten parallel an die Eingabeschicht der Netzwerke angelegt. Die Bestandteile der Eingabevektoren wurden im Laufe der Untersuchungen nicht variiert. Der aktuelle Kurswert ist fuumlr den Lernprozeszlig der Netzwerke nicht unbedingt erforderlich, es genuumlgt die Eingabe der relativen Abweichung zum Vortag, wie wir an einigen Testreihen feststellen konnten. Es ist zu untersuchen, wie sich andere Eingabevektoren auf die Prognosefaumlhigkeit auswirken. Die Prognoseergebnisse bei Adaline-Netzwerken sind teilweise sehr stark von den gewaltlchenden Linearisierungen und der Anzahl der Lernschritte abhaumlngig. Als bestes Ergebnis betr. Fuumlr die BASF-Aktie bei der Linearisierung c, d und 2500 Lernschritten eine Vorlagequote von erstaunlich 80 Prozent bezumlglich einer Steigt-Faumlllt-Prognose fuumlr einen 10-Tage-Zeitraum. Die Commerzbank Aktie konnte mit Linearisierung und 2500 Lernschritten auch mit 90 Prozent und damit am besten vorhergesagt werden. Die Mercedes-Aktie erreichte bei Linearisierung ein Maximum von 70 Prozent (siehe Abbildung 4). Auffallend bei diesen Ergebnissen ist, daszlig eine Zunahme der Lernschritte nicht unbedingt die Trefferquote erhoumlht und daszlig die Trefferquote bei den Mercedes-Aktie ist. Dementsprechend ist es auch möglich, sich in der Lage zu behaupten. Wird die Prognose uumlber ein laumlngeren Zeitraum durchgefuumlhrt, ergibt sich zum Beispiel fuumlr die BASF-Aktie das in Abbildung 5 darlegt Ergebnisat. Dabei zeigt sich, daszlig die Trefferquote wieder stark von den gewallten Längenlinien abhaumlngt und daszlig die Trefferquote kontinuierlich mit der Laumlnge des Vorhersagezeitraums abnimmt. Dies ist aber auch nicht anders zu erwarten. Interessant ist jedoch, daszlig einzelne Zehn-Tage-Perioden, wenn man sie isoliert betrachtet, in ihrer Trefferquote unabhaumlngig von dem Abstand zum aktuellen Datum sind. Die Trefferquote ist immer dann recht hoch, wenn ein Kursverlauf in der Zukunft ein Kursverlauf der Vergangenheit aumlhnelt. Abbildung 6 verdeutlicht dies. Die fette Linie kennzeichnet den zu Prognostizierenden Verlauf, die duumlnne Kurve das Trainingsintervall und die Punkte die Zehn-Tage-Prognosezeitraumlume. Die Gerade gibt die Treffertendenz an. Der wesentliche Unterschied zwischen einem Madaline - und einem Adaline-Netzwerk ist, daszlig ein Madaline-Netzwerk gewissermaszligen aus mehreren Adaline-Elementen besteht. Die Anzahl der Adaline-Elemente in einem Madaline-Netzwerk kann man variieren. Dies haben wir getan. Die Auswirkungen auf die Trefferquoten zeigen Abbildung 7. Erstaunlich ist hierbei, daszlig eine Steigerung der Adaline-Elemente. Die besten Ergebnisse ergaben sich bei BASF mit 15 und 17 Adaline-Elementen (68 Prozent), bei der Commerzbank mit 11, 17 und 19 Adaline-Elementen (je 74 Prozent) und bei Mercedes mit 5, 11 und 17 Elementen und 63 Prozent Treffern . Fuumlr die Commerzbank-Aktie ersehen Sie die laumlngerfristige Prognose relativ zu den gewallten Lasten und die Prozessorelementen aus Abbildung 8. Das Perceptron-Netzwerk zeigte insgesamt die schlechteste Prognosefaumlhigkeit. Das beste Ergebnis lag bei 68 Prozent, aber dies erstaunlicherweise ge (..) sehr haumlufig bei den (...) anderen Netzwerken nicht gut prognostizierten Mercedes. Aktie (siehe Abbildung 9). Back-Propagation-Netzwerke neuronaler Netzwerke. Der Grund dafuumlr ist, daszlig in anderen Netzwerken mit verdeckten Schichten von Prozessorelementen gearbeitet werden kann. Diese Prozessorenschichten, die nicht mit der Eingabe verbunden sind, werden in der Zwischenablage zwischen den Elementen der Eingabeschicht lernen gespeichert. Erhaumllt (..) in der Regel sehr gute Approximationen der Realitaumlt. (Noun, masculine) (also: die, die, die, die, die, die, die, die, die, die, (Siehe Abbildung 10) und die Sinus-Funktion verwendet. Die Prozessoren mit der Sinus-Funktion hatten die Aufgabe Zyklen und relativ kleine Schwankungen im Kursverlauf zu erkennen und zu repraumlsentieren, waumlhrend die Sigmoid-Funktion vorwiegend aus historischen und technischen Gruumlnden gewaumlhlt wurde. Im Gegensatz zu den Adalinen, Madaline und Perceptron-Netzwerken wurde mit dem Bach-Propagation-Netzwerk nicht nur eine Steigt-Faumlllt-Prognose durchgefuumlhrt, sondern auch versucht, den tatsaumlchlichen Kursverlauf zu prognostizieren. Die besten Ergebnisse sehr gut. Es ist dir nicht erlaubt, Anhänge hochzuladen. Es ist dir nicht erlaubt, auf Beiträge zu antworten. Es ist dir nicht erlaubt, Anhänge hochzuladen. Gute Ergebnisse wurden erst mit 10 000 bis 20 000 Lernschritten erzielt. Ein Versuch, daruumlber hinaus eine weitere Verbesserung durch zusaumltzliches Lernen zu erreichen (200 000 Lernschritte), brachte nicht das erhoffte Ergebnis. Durch eine Optimierung der Struktur der Hidden-Layer konnten die noumltigen Lernschritte letztlich auf zirka 5000 reduziert werden. Eine Gegenüberlieferung des tatsaumlchlichen Kursverlaufs und der Netzwerk-Prognose fuumlr die Mercedes-Aktie ist in Abbildung 12 dargestellt. Ein neuronales Netzwerk muszlig nicht programmiert werden wie ein Programm, Es genuumlgt, dem Netzwerk die Lerndaten zu praumlsentieren und den gewuumlnschten Ausgang anzulegen. (Bei hetero-assoziativen Netzwerken). Das Netzwerk lernt selbst selbstständig den Input mit dem jeweils gewuumlnschten Ausgang zu korrelieren. Diese Angabe darf nicht zu der truumlgerischen Annahme verleiten, daszlig der Aufwand fuumlr die Erstellung eines leistungsfaumlhigen und zuverlaumlssigen neuronalen Netzwerkes gering ist. Wir muszligten naumlmlich feststellen, daszlig der Aufwand fuumlr das Design eines Netzwerkes sehr hoch sein kann. Waumlhlt man eine falsche Netzwerk-Topologie, sind die Ergebnisse unbrauchbar. Fuumlr das Auffinden einer bestimmten Topologie gibt es aber bislang keine mathematischen Analysen angewiesen, deren Komplexität von der jeweiligen Problemstellung abhaumlngt. Furylr die Aktienkursprognose ist eine mathematische Theorie neuronaler Netzwerke leider noch nicht in Sicht. Folglich ist ein Mann ausschlieszllich auf eine Art Versuch und Irrtum Methodik angewiesen. Befindet man sich auf dem richtigen Weg, kann die Loumlsung eventuell sehr schnell gefunden werden, undernfalls kann es monatelang dauern, bis man feststellt, weshalb nur frustrierenden Ergebnisse zustandekommen. Ein weiterer Problembereich sind die vielen Parameter, die beim Design eines Netzwerkes eine enscheidende Rolle spielen koumlnnen. Zu diesen Parametern gehoumlren zum Beispiel die Lernregel, die mittelfristige Lernstrategie, die Lernkoeffizienten, die Breite des Eingabevektors und des Ausgabevektors, die Linearisierung, die Anzahl der verwendeten Prozessoren, die Anzahl und die Verknuumlpfung der Hiden-Layersg, die Transfer - und Schwellenwertfunktionen, der Netzwerktyp etc. Im Mittel muszligten wir je Netzwerktyp etwa zwoumllf Parameter einsteigen, und selbst kleinste Aumlnderungen konnten die Prognosefaumlhigkeit erheblich negativ beeinflussen. Bei den komplexeren Netzwerktypen hatten wir es mit klassischen optimierungsaufgaben zu tun: die Netzwerke (vor allem das Back-Propagation-Netzwerk) tendieren dazu, in lokalen Minima (Maxima) haumlngenzubleiben. Es ist dann in der Regel sehr schwierig festzustellen, wodurch das lokale Minimum zustandegekommen ist und wie man es auf der Suche nach einem globalen Minimum umgehen kann. Trotz der nicht unerheblichen Probleme beim Design, Testen und Optimieren der neuronalen Netzwerke konnten mit vertretbarem Aufwand gute bis sehr gute Prognosen erstellt werden. Die Ergebnisse sind teilweise weit besser als mit konventionellen statistischen Verfahren. Bessere Ergebnisse sind noch zu erwarten Koumlnnen zukuumlnftig fundierte mathematische Analysen im Vorfeld zur Unterstuumltzung des Netzwerk-Designs entwickelt und eingesetzt werden, so sind sogar noch weit bessere Ergebnisse zu erwarten. Als wichtiger Vorteil neuronaler Netze hat sich waumlhrend der Untersuchungen gezeigt, daszlig der Aufwand fuumlr die Wartung und Weiterentwicklung im Sinne der Anpassung an neue Kursverlaumlufe bei neuronalen Netzwerken optimal loumlsbar ist. Die Netzwerke koumlnnen umgehend den neuen Entwicklungen angepaszligt werden, indem sie auf den neuen Daten trainiert werden. Ungeloumlst ist jedoch bislang das Problem, wie und ob falsche Prognosen des Netzwerkes durch zusaumltzliches Training auf den Fehlerdaten behoben werden koumlnnen. Die hier auszugsweise vorgestellten Untersuchungsergebnisse sind vollstaumlndig als Studie (zirka 100 Seiten) inklusive Demonstrationsprogramm bei Expert Informatik GmbH Postfach 13 38, D-7770 Uumlberlingen, Tel. 0 75 5140 73 erhaumlltlich. Als Anregung und Ausblick seien hier noch kurz zwei Ansaumltze erwaumlhnt, die zur Zeit von uns weiterverfolgt werden und sehr erfolgversprechend erscheinen. Man kann die Prognosefaumlhigkeit eines neuronalen Netzes erheblich durch die Auswahl der Trainingsdaten an der Eingabeschicht und des erwarteten Outputs an der Ausgabeschicht beeinflussen. Dazu benoumltigt man jedoch erhebliches Wissen daruumlber, wie man Netzwerke trainieren sollte. Legt man dieses Wissen in einem Expertensystem ab, so kann das Expertensystem dazu verwendet werden, das neuronale Netz zu unterrichten. Eine Wissensbasis fuumlr ein solches Expertensystem als Lehrer fuumlr diverse Netzwerke wird von uns zur Zeit mit der (AICorp.) entwickelt. Dieser Ansatz erscheint uns erfolgversprechender als der Versuch, Kurse mit Expertensystemen direkt zu prognostizieren. Da die Softwaresimulationen bei groszligen Netzwerken mit komplexen Transferfunktionen und Lernstrategien konventionelle Rechner stark belasten, Expertensystem-Shell KBMS empfiehlt sich zukuumlnftig die Untersuchung und Realisierung von Neuronalen Netzen auf Transputern oder anderen Parallelrechnern. In den USA gibt es bereits Programme, die Neuronale Netze auf Transputern simulieren. Eberhard Schoumlneburg ist Geschaumlftsfuumlhrer, Manfred Gantert und Michael Reiner sind Mitarbeiter der Expert Informatik GmbH, Uumlberlingen Artikel als PDF kaufen COMPUTERWOCHE und Dimension Data suchen fuumlr den Digital Leader Award die besten Digitalisierungsprojekte im Lande. Aktuelle Jobangebote Lead Engineer Netzmanagement und Tooling (mw) T-Systems International GmbH Senior Sales Manager HCM (mw) T-Systems International GmbH Senior Systemingenieur Public CRs (mw) T-Systems International GmbH Leiter (mw) Application Support ING-DiBa AG Teamleitung UnixLinux-Systeme (mw) Technische Informationsbibliothek (TIB) Aktuell finden Sie ber 500 ausgeschriebene Stellen im CW-Stellenmarkt Kostenlose Newsletter

No comments:

Post a Comment